]> git.proxmox.com Git - pmg-docs.git/blame - api-viewer/apidata.js
update static schema info
[pmg-docs.git] / api-viewer / apidata.js
CommitLineData
14ffe66b 1var apiSchema = [
410dc2c9
DM
2 {
3 "children" : [
4 {
5 "children" : [
d7cd791b
DM
6 {
7 "info" : {
8 "GET" : {
6bd70b95 9 "allowtoken" : 1,
d7cd791b
DM
10 "description" : "Returns the rule database digest. This is used internally for cluster synchronization.",
11 "method" : "GET",
12 "name" : "ruledb_digest",
13 "parameters" : {
14 "additionalProperties" : 0
15 },
732d76e1
DM
16 "permissions" : {
17 "check" : [
18 "admin",
19 "audit"
20 ]
21 },
d7cd791b
DM
22 "returns" : {
23 "type" : "string"
24 }
25 }
26 },
27 "leaf" : 1,
28 "path" : "/config/ruledb/digest",
29 "text" : "digest"
30 },
410dc2c9 31 {
f245a28c
DM
32 "children" : [
33 {
34 "children" : [
35 {
36 "info" : {
37 "GET" : {
6bd70b95 38 "allowtoken" : 1,
f245a28c
DM
39 "description" : "Get common rule properties.",
40 "method" : "GET",
41 "name" : "config",
42 "parameters" : {
43 "additionalProperties" : 0,
44 "properties" : {
45 "id" : {
46 "description" : "Rule ID.",
47 "type" : "integer",
48 "typetext" : "<integer>"
49 }
50 }
51 },
732d76e1
DM
52 "permissions" : {
53 "check" : [
54 "admin",
55 "audit"
56 ]
57 },
f245a28c
DM
58 "proxyto" : "master",
59 "returns" : {
60 "properties" : {
61 "active" : {
62 "type" : "boolean"
63 },
64 "direction" : {
65 "type" : "integer"
66 },
67 "id" : {
68 "type" : "integer"
69 },
70 "name" : {
71 "type" : "string"
72 },
73 "priority" : {
74 "type" : "integer"
75 }
76 },
77 "type" : "object"
78 }
79 },
80 "PUT" : {
6bd70b95 81 "allowtoken" : 1,
f245a28c
DM
82 "description" : "Set rule properties.",
83 "method" : "PUT",
84 "name" : "update_config",
85 "parameters" : {
86 "additionalProperties" : 0,
87 "properties" : {
88 "active" : {
89 "description" : "Flag to activate rule.",
90 "optional" : 1,
91 "type" : "boolean",
92 "typetext" : "<boolean>"
93 },
94 "direction" : {
d8212759 95 "description" : "Rule direction. Value `0` matches incoming mails, value `1` matches outgoing mails, and value `2` matches both directions.",
f245a28c
DM
96 "maximum" : 2,
97 "minimum" : 0,
98 "optional" : 1,
99 "type" : "integer",
100 "typetext" : "<integer> (0 - 2)"
101 },
cbd73e8f
TL
102 "from-and" : {
103 "default" : 0,
104 "description" : "Flag to 'and' combine FROM group matches.",
105 "optional" : 1,
106 "type" : "boolean",
107 "typetext" : "<boolean>"
108 },
109 "from-invert" : {
110 "default" : 0,
111 "description" : "Flag to invert FROM group matches.",
112 "optional" : 1,
113 "type" : "boolean",
114 "typetext" : "<boolean>"
115 },
f245a28c
DM
116 "id" : {
117 "description" : "Rule ID.",
118 "type" : "integer",
119 "typetext" : "<integer>"
120 },
121 "name" : {
122 "description" : "Rule name",
123 "optional" : 1,
124 "type" : "string",
125 "typetext" : "<string>"
126 },
127 "priority" : {
cbd73e8f 128 "description" : "Rule priority.",
f245a28c
DM
129 "maximum" : 100,
130 "minimum" : 0,
131 "optional" : 1,
132 "type" : "integer",
133 "typetext" : "<integer> (0 - 100)"
cbd73e8f
TL
134 },
135 "to-and" : {
136 "default" : 0,
137 "description" : "Flag to 'and' combine TO group matches.",
138 "optional" : 1,
139 "type" : "boolean",
140 "typetext" : "<boolean>"
141 },
142 "to-invert" : {
143 "default" : 0,
144 "description" : "Flag to invert TO group matches.",
145 "optional" : 1,
146 "type" : "boolean",
147 "typetext" : "<boolean>"
148 },
149 "what-and" : {
150 "default" : 0,
151 "description" : "Flag to 'and' combine WHAT group matches.",
152 "optional" : 1,
153 "type" : "boolean",
154 "typetext" : "<boolean>"
155 },
156 "what-invert" : {
157 "default" : 0,
158 "description" : "Flag to invert WHAT group matches.",
159 "optional" : 1,
160 "type" : "boolean",
161 "typetext" : "<boolean>"
162 },
163 "when-and" : {
164 "default" : 0,
165 "description" : "Flag to 'and' combine WHEN group matches.",
166 "optional" : 1,
167 "type" : "boolean",
168 "typetext" : "<boolean>"
169 },
170 "when-invert" : {
171 "default" : 0,
172 "description" : "Flag to invert WHEN group matches.",
173 "optional" : 1,
174 "type" : "boolean",
175 "typetext" : "<boolean>"
f245a28c
DM
176 }
177 }
178 },
732d76e1
DM
179 "permissions" : {
180 "check" : [
181 "admin"
182 ]
183 },
f245a28c
DM
184 "protected" : 1,
185 "proxyto" : "master",
186 "returns" : {
187 "type" : "null"
188 }
189 }
190 },
191 "leaf" : 1,
192 "path" : "/config/ruledb/rules/{id}/config",
193 "text" : "config"
194 },
195 {
196 "children" : [
197 {
198 "info" : {
199 "DELETE" : {
6bd70b95 200 "allowtoken" : 1,
f245a28c
DM
201 "description" : "Delete group from 'from' list.",
202 "method" : "DELETE",
203 "name" : "delete_from_group",
204 "parameters" : {
205 "additionalProperties" : 0,
206 "properties" : {
207 "id" : {
208 "description" : "Rule ID.",
209 "type" : "integer",
210 "typetext" : "<integer>"
211 },
212 "ogroup" : {
213 "description" : "Groups ID.",
214 "type" : "integer",
215 "typetext" : "<integer>"
216 }
217 }
218 },
732d76e1
DM
219 "permissions" : {
220 "check" : [
221 "admin"
222 ]
223 },
f245a28c
DM
224 "protected" : 1,
225 "proxyto" : "master",
226 "returns" : {
227 "type" : "null"
228 }
229 }
230 },
231 "leaf" : 1,
232 "path" : "/config/ruledb/rules/{id}/from/{ogroup}",
233 "text" : "{ogroup}"
234 }
235 ],
236 "info" : {
237 "GET" : {
6bd70b95 238 "allowtoken" : 1,
f245a28c
DM
239 "description" : "Get 'from' group list.",
240 "method" : "GET",
241 "name" : "from",
242 "parameters" : {
243 "additionalProperties" : 0,
244 "properties" : {
245 "id" : {
246 "description" : "Rule ID.",
247 "type" : "integer",
248 "typetext" : "<integer>"
249 }
250 }
251 },
732d76e1
DM
252 "permissions" : {
253 "check" : [
254 "admin",
255 "audit"
256 ]
257 },
f245a28c
DM
258 "proxyto" : "master",
259 "returns" : {
260 "items" : {
261 "properties" : {
262 "id" : {
263 "type" : "integer"
264 }
265 },
266 "type" : "object"
267 },
268 "type" : "array"
269 }
270 },
271 "POST" : {
6bd70b95 272 "allowtoken" : 1,
f245a28c
DM
273 "description" : "Add group to 'from' list.",
274 "method" : "POST",
275 "name" : "add_from_group",
276 "parameters" : {
277 "additionalProperties" : 0,
278 "properties" : {
279 "id" : {
280 "description" : "Rule ID.",
281 "type" : "integer",
282 "typetext" : "<integer>"
283 },
284 "ogroup" : {
285 "description" : "Groups ID.",
286 "type" : "integer",
287 "typetext" : "<integer>"
288 }
289 }
290 },
732d76e1
DM
291 "permissions" : {
292 "check" : [
293 "admin"
294 ]
295 },
f245a28c
DM
296 "protected" : 1,
297 "proxyto" : "master",
298 "returns" : {
299 "type" : "null"
300 }
301 }
302 },
303 "leaf" : 0,
304 "path" : "/config/ruledb/rules/{id}/from",
305 "text" : "from"
306 },
307 {
308 "children" : [
309 {
310 "info" : {
311 "DELETE" : {
6bd70b95 312 "allowtoken" : 1,
f245a28c
DM
313 "description" : "Delete group from 'to' list.",
314 "method" : "DELETE",
315 "name" : "delete_to_group",
316 "parameters" : {
317 "additionalProperties" : 0,
318 "properties" : {
319 "id" : {
320 "description" : "Rule ID.",
321 "type" : "integer",
322 "typetext" : "<integer>"
323 },
324 "ogroup" : {
325 "description" : "Groups ID.",
326 "type" : "integer",
327 "typetext" : "<integer>"
328 }
329 }
330 },
732d76e1
DM
331 "permissions" : {
332 "check" : [
333 "admin"
334 ]
335 },
f245a28c
DM
336 "protected" : 1,
337 "proxyto" : "master",
338 "returns" : {
339 "type" : "null"
340 }
341 }
342 },
343 "leaf" : 1,
344 "path" : "/config/ruledb/rules/{id}/to/{ogroup}",
345 "text" : "{ogroup}"
346 }
347 ],
348 "info" : {
349 "GET" : {
6bd70b95 350 "allowtoken" : 1,
f245a28c
DM
351 "description" : "Get 'to' group list.",
352 "method" : "GET",
353 "name" : "to",
354 "parameters" : {
355 "additionalProperties" : 0,
356 "properties" : {
357 "id" : {
358 "description" : "Rule ID.",
359 "type" : "integer",
360 "typetext" : "<integer>"
361 }
362 }
363 },
732d76e1
DM
364 "permissions" : {
365 "check" : [
366 "admin",
367 "audit"
368 ]
369 },
f245a28c
DM
370 "proxyto" : "master",
371 "returns" : {
372 "items" : {
373 "properties" : {
374 "id" : {
375 "type" : "integer"
376 }
377 },
378 "type" : "object"
379 },
380 "type" : "array"
381 }
382 },
383 "POST" : {
6bd70b95 384 "allowtoken" : 1,
f245a28c
DM
385 "description" : "Add group to 'to' list.",
386 "method" : "POST",
387 "name" : "add_to_group",
388 "parameters" : {
389 "additionalProperties" : 0,
390 "properties" : {
391 "id" : {
392 "description" : "Rule ID.",
393 "type" : "integer",
394 "typetext" : "<integer>"
395 },
396 "ogroup" : {
397 "description" : "Groups ID.",
398 "type" : "integer",
399 "typetext" : "<integer>"
400 }
401 }
402 },
732d76e1
DM
403 "permissions" : {
404 "check" : [
405 "admin"
406 ]
407 },
f245a28c
DM
408 "protected" : 1,
409 "proxyto" : "master",
410 "returns" : {
411 "type" : "null"
412 }
413 }
414 },
415 "leaf" : 0,
416 "path" : "/config/ruledb/rules/{id}/to",
417 "text" : "to"
418 },
419 {
420 "children" : [
421 {
422 "info" : {
423 "DELETE" : {
6bd70b95 424 "allowtoken" : 1,
f245a28c
DM
425 "description" : "Delete group from 'when' list.",
426 "method" : "DELETE",
427 "name" : "delete_when_group",
428 "parameters" : {
429 "additionalProperties" : 0,
430 "properties" : {
431 "id" : {
432 "description" : "Rule ID.",
433 "type" : "integer",
434 "typetext" : "<integer>"
435 },
436 "ogroup" : {
437 "description" : "Groups ID.",
438 "type" : "integer",
439 "typetext" : "<integer>"
440 }
441 }
442 },
732d76e1
DM
443 "permissions" : {
444 "check" : [
445 "admin"
446 ]
447 },
f245a28c
DM
448 "protected" : 1,
449 "proxyto" : "master",
450 "returns" : {
451 "type" : "null"
452 }
453 }
454 },
455 "leaf" : 1,
456 "path" : "/config/ruledb/rules/{id}/when/{ogroup}",
457 "text" : "{ogroup}"
458 }
459 ],
460 "info" : {
461 "GET" : {
6bd70b95 462 "allowtoken" : 1,
f245a28c
DM
463 "description" : "Get 'when' group list.",
464 "method" : "GET",
465 "name" : "when",
466 "parameters" : {
467 "additionalProperties" : 0,
468 "properties" : {
469 "id" : {
470 "description" : "Rule ID.",
471 "type" : "integer",
472 "typetext" : "<integer>"
473 }
474 }
475 },
732d76e1
DM
476 "permissions" : {
477 "check" : [
478 "admin",
479 "audit"
480 ]
481 },
f245a28c
DM
482 "proxyto" : "master",
483 "returns" : {
484 "items" : {
485 "properties" : {
486 "id" : {
487 "type" : "integer"
488 }
489 },
490 "type" : "object"
491 },
492 "type" : "array"
493 }
494 },
495 "POST" : {
6bd70b95 496 "allowtoken" : 1,
f245a28c
DM
497 "description" : "Add group to 'when' list.",
498 "method" : "POST",
499 "name" : "add_when_group",
500 "parameters" : {
501 "additionalProperties" : 0,
502 "properties" : {
503 "id" : {
504 "description" : "Rule ID.",
505 "type" : "integer",
506 "typetext" : "<integer>"
507 },
508 "ogroup" : {
509 "description" : "Groups ID.",
510 "type" : "integer",
511 "typetext" : "<integer>"
512 }
513 }
514 },
732d76e1
DM
515 "permissions" : {
516 "check" : [
517 "admin"
518 ]
519 },
f245a28c
DM
520 "protected" : 1,
521 "proxyto" : "master",
522 "returns" : {
523 "type" : "null"
524 }
525 }
526 },
527 "leaf" : 0,
528 "path" : "/config/ruledb/rules/{id}/when",
529 "text" : "when"
530 },
531 {
532 "children" : [
533 {
534 "info" : {
535 "DELETE" : {
6bd70b95 536 "allowtoken" : 1,
f245a28c
DM
537 "description" : "Delete group from 'what' list.",
538 "method" : "DELETE",
539 "name" : "delete_what_group",
540 "parameters" : {
541 "additionalProperties" : 0,
542 "properties" : {
543 "id" : {
544 "description" : "Rule ID.",
545 "type" : "integer",
546 "typetext" : "<integer>"
547 },
548 "ogroup" : {
549 "description" : "Groups ID.",
550 "type" : "integer",
551 "typetext" : "<integer>"
552 }
553 }
554 },
732d76e1
DM
555 "permissions" : {
556 "check" : [
557 "admin"
558 ]
559 },
f245a28c
DM
560 "protected" : 1,
561 "proxyto" : "master",
562 "returns" : {
563 "type" : "null"
564 }
565 }
566 },
567 "leaf" : 1,
568 "path" : "/config/ruledb/rules/{id}/what/{ogroup}",
569 "text" : "{ogroup}"
570 }
571 ],
572 "info" : {
573 "GET" : {
6bd70b95 574 "allowtoken" : 1,
f245a28c
DM
575 "description" : "Get 'what' group list.",
576 "method" : "GET",
577 "name" : "what",
578 "parameters" : {
579 "additionalProperties" : 0,
580 "properties" : {
581 "id" : {
582 "description" : "Rule ID.",
583 "type" : "integer",
584 "typetext" : "<integer>"
585 }
586 }
587 },
732d76e1
DM
588 "permissions" : {
589 "check" : [
590 "admin",
591 "audit"
592 ]
593 },
f245a28c
DM
594 "proxyto" : "master",
595 "returns" : {
596 "items" : {
597 "properties" : {
598 "id" : {
599 "type" : "integer"
600 }
601 },
602 "type" : "object"
603 },
604 "type" : "array"
605 }
606 },
607 "POST" : {
6bd70b95 608 "allowtoken" : 1,
f245a28c
DM
609 "description" : "Add group to 'what' list.",
610 "method" : "POST",
611 "name" : "add_what_group",
612 "parameters" : {
613 "additionalProperties" : 0,
614 "properties" : {
615 "id" : {
616 "description" : "Rule ID.",
617 "type" : "integer",
618 "typetext" : "<integer>"
619 },
620 "ogroup" : {
621 "description" : "Groups ID.",
622 "type" : "integer",
623 "typetext" : "<integer>"
624 }
625 }
626 },
732d76e1
DM
627 "permissions" : {
628 "check" : [
629 "admin"
630 ]
631 },
f245a28c
DM
632 "protected" : 1,
633 "proxyto" : "master",
634 "returns" : {
635 "type" : "null"
636 }
637 }
638 },
639 "leaf" : 0,
640 "path" : "/config/ruledb/rules/{id}/what",
641 "text" : "what"
642 },
643 {
644 "children" : [
645 {
646 "info" : {
647 "DELETE" : {
6bd70b95 648 "allowtoken" : 1,
f245a28c
DM
649 "description" : "Delete group from 'action' list.",
650 "method" : "DELETE",
651 "name" : "delete_action_group",
652 "parameters" : {
653 "additionalProperties" : 0,
654 "properties" : {
655 "id" : {
656 "description" : "Rule ID.",
657 "type" : "integer",
658 "typetext" : "<integer>"
659 },
660 "ogroup" : {
661 "description" : "Groups ID.",
662 "type" : "integer",
663 "typetext" : "<integer>"
664 }
665 }
666 },
732d76e1
DM
667 "permissions" : {
668 "check" : [
669 "admin"
670 ]
671 },
f245a28c
DM
672 "protected" : 1,
673 "proxyto" : "master",
674 "returns" : {
675 "type" : "null"
676 }
677 }
678 },
679 "leaf" : 1,
680 "path" : "/config/ruledb/rules/{id}/action/{ogroup}",
681 "text" : "{ogroup}"
682 }
683 ],
684 "info" : {
685 "GET" : {
6bd70b95 686 "allowtoken" : 1,
f245a28c
DM
687 "description" : "Get 'action' group list.",
688 "method" : "GET",
689 "name" : "action",
690 "parameters" : {
691 "additionalProperties" : 0,
692 "properties" : {
693 "id" : {
694 "description" : "Rule ID.",
695 "type" : "integer",
696 "typetext" : "<integer>"
697 }
698 }
699 },
732d76e1
DM
700 "permissions" : {
701 "check" : [
702 "admin",
703 "audit"
704 ]
705 },
f245a28c
DM
706 "proxyto" : "master",
707 "returns" : {
708 "items" : {
709 "properties" : {
710 "id" : {
711 "type" : "integer"
712 }
713 },
714 "type" : "object"
715 },
716 "type" : "array"
717 }
718 },
719 "POST" : {
6bd70b95 720 "allowtoken" : 1,
f245a28c
DM
721 "description" : "Add group to 'action' list.",
722 "method" : "POST",
723 "name" : "add_action_group",
724 "parameters" : {
725 "additionalProperties" : 0,
726 "properties" : {
727 "id" : {
728 "description" : "Rule ID.",
729 "type" : "integer",
730 "typetext" : "<integer>"
731 },
732 "ogroup" : {
733 "description" : "Groups ID.",
734 "type" : "integer",
735 "typetext" : "<integer>"
736 }
737 }
738 },
732d76e1
DM
739 "permissions" : {
740 "check" : [
741 "admin"
742 ]
743 },
f245a28c
DM
744 "protected" : 1,
745 "proxyto" : "master",
746 "returns" : {
747 "type" : "null"
748 }
749 }
750 },
751 "leaf" : 0,
752 "path" : "/config/ruledb/rules/{id}/action",
753 "text" : "action"
754 }
755 ],
756 "info" : {
757 "DELETE" : {
6bd70b95 758 "allowtoken" : 1,
f245a28c
DM
759 "description" : "Delete rule.",
760 "method" : "DELETE",
761 "name" : "delete_rule",
762 "parameters" : {
763 "additionalProperties" : 0,
764 "properties" : {
765 "id" : {
766 "description" : "Rule ID.",
767 "type" : "integer",
768 "typetext" : "<integer>"
769 }
770 }
771 },
732d76e1
DM
772 "permissions" : {
773 "check" : [
774 "admin"
775 ]
776 },
d7cd791b
DM
777 "protected" : 1,
778 "proxyto" : "master",
f245a28c
DM
779 "returns" : {
780 "type" : "null"
781 }
782 },
783 "GET" : {
6bd70b95 784 "allowtoken" : 1,
f245a28c
DM
785 "description" : "Directory index.",
786 "method" : "GET",
787 "name" : "index",
788 "parameters" : {
789 "additionalProperties" : 0,
790 "properties" : {
791 "id" : {
792 "description" : "Rule ID.",
793 "type" : "integer",
794 "typetext" : "<integer>"
795 }
796 }
797 },
732d76e1
DM
798 "permissions" : {
799 "check" : [
800 "admin",
801 "audit"
802 ]
803 },
f245a28c
DM
804 "returns" : {
805 "items" : {
806 "properties" : {
807 "subdir" : {
808 "type" : "string"
809 }
810 },
811 "type" : "object"
812 },
813 "links" : [
814 {
815 "href" : "{subdir}",
816 "rel" : "child"
817 }
818 ],
819 "type" : "array"
820 }
821 }
822 },
823 "leaf" : 0,
824 "path" : "/config/ruledb/rules/{id}",
825 "text" : "{id}"
826 }
827 ],
828 "info" : {
829 "GET" : {
6bd70b95 830 "allowtoken" : 1,
f245a28c
DM
831 "description" : "Get list of rules.",
832 "method" : "GET",
833 "name" : "list_rules",
834 "parameters" : {
835 "additionalProperties" : 0
836 },
732d76e1
DM
837 "permissions" : {
838 "check" : [
839 "admin",
840 "audit"
841 ]
842 },
f245a28c
DM
843 "proxyto" : "master",
844 "returns" : {
845 "items" : {
846 "properties" : {
847 "id" : {
848 "type" : "integer"
849 }
850 },
851 "type" : "object"
852 },
853 "links" : [
854 {
855 "href" : "{id}",
856 "rel" : "child"
857 }
858 ],
859 "type" : "array"
860 }
861 },
862 "POST" : {
6bd70b95 863 "allowtoken" : 1,
f245a28c
DM
864 "description" : "Create new rule.",
865 "method" : "POST",
866 "name" : "create_rule",
867 "parameters" : {
868 "additionalProperties" : 0,
869 "properties" : {
870 "active" : {
871 "description" : "Flag to activate rule.",
872 "optional" : 1,
873 "type" : "boolean",
874 "typetext" : "<boolean>"
875 },
876 "direction" : {
d8212759 877 "description" : "Rule direction. Value `0` matches incoming mails, value `1` matches outgoing mails, and value `2` matches both directions.",
f245a28c
DM
878 "maximum" : 2,
879 "minimum" : 0,
880 "optional" : 1,
881 "type" : "integer",
882 "typetext" : "<integer> (0 - 2)"
883 },
cbd73e8f
TL
884 "from-and" : {
885 "default" : 0,
886 "description" : "Flag to 'and' combine FROM group matches.",
887 "optional" : 1,
888 "type" : "boolean",
889 "typetext" : "<boolean>"
890 },
891 "from-invert" : {
892 "default" : 0,
893 "description" : "Flag to invert FROM group matches.",
894 "optional" : 1,
895 "type" : "boolean",
896 "typetext" : "<boolean>"
897 },
f245a28c
DM
898 "name" : {
899 "description" : "Rule name",
900 "type" : "string",
901 "typetext" : "<string>"
902 },
903 "priority" : {
cbd73e8f 904 "description" : "Rule priority.",
f245a28c
DM
905 "maximum" : 100,
906 "minimum" : 0,
907 "type" : "integer",
908 "typetext" : "<integer> (0 - 100)"
cbd73e8f
TL
909 },
910 "to-and" : {
911 "default" : 0,
912 "description" : "Flag to 'and' combine TO group matches.",
913 "optional" : 1,
914 "type" : "boolean",
915 "typetext" : "<boolean>"
916 },
917 "to-invert" : {
918 "default" : 0,
919 "description" : "Flag to invert TO group matches.",
920 "optional" : 1,
921 "type" : "boolean",
922 "typetext" : "<boolean>"
923 },
924 "what-and" : {
925 "default" : 0,
926 "description" : "Flag to 'and' combine WHAT group matches.",
927 "optional" : 1,
928 "type" : "boolean",
929 "typetext" : "<boolean>"
930 },
931 "what-invert" : {
932 "default" : 0,
933 "description" : "Flag to invert WHAT group matches.",
934 "optional" : 1,
935 "type" : "boolean",
936 "typetext" : "<boolean>"
937 },
938 "when-and" : {
939 "default" : 0,
940 "description" : "Flag to 'and' combine WHEN group matches.",
941 "optional" : 1,
942 "type" : "boolean",
943 "typetext" : "<boolean>"
944 },
945 "when-invert" : {
946 "default" : 0,
947 "description" : "Flag to invert WHEN group matches.",
948 "optional" : 1,
949 "type" : "boolean",
950 "typetext" : "<boolean>"
f245a28c
DM
951 }
952 }
953 },
732d76e1
DM
954 "permissions" : {
955 "check" : [
956 "admin"
957 ]
958 },
f245a28c
DM
959 "protected" : 1,
960 "proxyto" : "master",
961 "returns" : {
962 "type" : "integer"
963 }
964 }
965 },
966 "leaf" : 0,
967 "path" : "/config/ruledb/rules",
968 "text" : "rules"
969 },
970 {
971 "children" : [
972 {
973 "children" : [
974 {
975 "info" : {
976 "DELETE" : {
6bd70b95 977 "allowtoken" : 1,
f245a28c
DM
978 "description" : "Delete 'actions' object.",
979 "method" : "DELETE",
980 "name" : "delete_action",
981 "parameters" : {
982 "additionalProperties" : 0,
983 "properties" : {
984 "id" : {
985 "description" : "Action Object ID.",
986 "pattern" : "\\d+_\\d+",
987 "type" : "string"
988 }
989 }
990 },
732d76e1
DM
991 "permissions" : {
992 "check" : [
993 "admin"
994 ]
995 },
d7cd791b
DM
996 "protected" : 1,
997 "proxyto" : "master",
f245a28c
DM
998 "returns" : {
999 "type" : "null"
1000 }
1001 }
1002 },
1003 "leaf" : 1,
1004 "path" : "/config/ruledb/action/objects/{id}",
1005 "text" : "{id}"
1006 }
1007 ],
1008 "info" : {
1009 "GET" : {
6bd70b95 1010 "allowtoken" : 1,
f245a28c
DM
1011 "description" : "List 'actions' objects.",
1012 "method" : "GET",
1013 "name" : "list_actions",
1014 "parameters" : {
1015 "additionalProperties" : 0
1016 },
732d76e1
DM
1017 "permissions" : {
1018 "check" : [
1019 "admin",
1020 "audit"
1021 ]
1022 },
d7cd791b 1023 "proxyto" : "master",
f245a28c
DM
1024 "returns" : {
1025 "items" : {
1026 "properties" : {
1027 "id" : {
1028 "description" : "Action Object ID.",
1029 "pattern" : "\\d+_\\d+",
1030 "type" : "string"
1031 }
1032 },
1033 "type" : "object"
1034 },
1035 "links" : [
1036 {
1037 "href" : "{id}",
1038 "rel" : "child"
1039 }
1040 ],
1041 "type" : "array"
1042 }
1043 }
1044 },
1045 "leaf" : 0,
1046 "path" : "/config/ruledb/action/objects",
1047 "text" : "objects"
1048 },
1049 {
1050 "children" : [
1051 {
1052 "info" : {
1053 "GET" : {
6bd70b95 1054 "allowtoken" : 1,
f245a28c
DM
1055 "description" : "Read 'BCC' object settings.",
1056 "method" : "GET",
1057 "name" : "read_bcc",
1058 "parameters" : {
1059 "additionalProperties" : 0,
1060 "properties" : {
1061 "id" : {
1062 "description" : "Action Object ID.",
1063 "pattern" : "\\d+_\\d+",
1064 "type" : "string"
1065 }
1066 }
1067 },
732d76e1
DM
1068 "permissions" : {
1069 "check" : [
1070 "admin",
1071 "audit"
1072 ]
1073 },
f245a28c
DM
1074 "proxyto" : "master",
1075 "returns" : {
1076 "properties" : {
1077 "id" : {
1078 "type" : "string"
1079 }
1080 },
1081 "type" : "object"
1082 }
1083 },
1084 "PUT" : {
6bd70b95 1085 "allowtoken" : 1,
f245a28c
DM
1086 "description" : "Update 'BCC' object.",
1087 "method" : "PUT",
1088 "name" : "update_bcc",
1089 "parameters" : {
1090 "additionalProperties" : 0,
1091 "properties" : {
1092 "id" : {
1093 "description" : "Action Object ID.",
1094 "pattern" : "\\d+_\\d+",
1095 "type" : "string"
1096 },
1097 "info" : {
1098 "description" : "Informational comment.",
1099 "maxLength" : 255,
1100 "optional" : 1,
1101 "type" : "string",
1102 "typetext" : "<string>"
1103 },
1104 "name" : {
1105 "description" : "Action name.",
1106 "maxLength" : 255,
1107 "optional" : 1,
1108 "type" : "string",
1109 "typetext" : "<string>"
1110 },
1111 "original" : {
1112 "default" : 1,
1113 "description" : "Send the original, unmodified mail.",
1114 "optional" : 1,
1115 "type" : "boolean",
1116 "typetext" : "<boolean>"
1117 },
1118 "target" : {
1119 "description" : "Send a Blind Carbon Copy to this email address.",
1120 "format" : "email",
1121 "type" : "string",
1122 "typetext" : "<string>"
1123 }
1124 }
1125 },
732d76e1
DM
1126 "permissions" : {
1127 "check" : [
1128 "admin"
1129 ]
1130 },
d7cd791b 1131 "protected" : 1,
f245a28c
DM
1132 "proxyto" : "master",
1133 "returns" : {
1134 "type" : "null"
1135 }
1136 }
1137 },
1138 "leaf" : 1,
1139 "path" : "/config/ruledb/action/bcc/{id}",
1140 "text" : "{id}"
1141 }
1142 ],
1143 "info" : {
1144 "POST" : {
6bd70b95 1145 "allowtoken" : 1,
f245a28c
DM
1146 "description" : "Create 'BCC' object.",
1147 "method" : "POST",
1148 "name" : "bcc",
1149 "parameters" : {
1150 "additionalProperties" : 0,
1151 "properties" : {
1152 "info" : {
1153 "description" : "Informational comment.",
1154 "maxLength" : 255,
1155 "optional" : 1,
1156 "type" : "string",
1157 "typetext" : "<string>"
1158 },
1159 "name" : {
1160 "description" : "Action name.",
1161 "maxLength" : 255,
1162 "type" : "string",
1163 "typetext" : "<string>"
1164 },
1165 "original" : {
1166 "default" : 1,
1167 "description" : "Send the original, unmodified mail.",
1168 "optional" : 1,
1169 "type" : "boolean",
1170 "typetext" : "<boolean>"
1171 },
1172 "target" : {
1173 "description" : "Send a Blind Carbon Copy to this email address.",
1174 "format" : "email",
1175 "type" : "string",
1176 "typetext" : "<string>"
1177 }
1178 }
1179 },
732d76e1
DM
1180 "permissions" : {
1181 "check" : [
1182 "admin"
1183 ]
1184 },
d7cd791b 1185 "protected" : 1,
f245a28c
DM
1186 "proxyto" : "master",
1187 "returns" : {
1188 "description" : "The object ID.",
1189 "type" : "string"
1190 }
1191 }
1192 },
1193 "leaf" : 0,
1194 "path" : "/config/ruledb/action/bcc",
1195 "text" : "bcc"
732d76e1 1196 },
f245a28c
DM
1197 {
1198 "children" : [
1199 {
1200 "info" : {
1201 "GET" : {
6bd70b95 1202 "allowtoken" : 1,
732d76e1 1203 "description" : "Read 'Header Attribute' object settings.",
f245a28c 1204 "method" : "GET",
732d76e1 1205 "name" : "read_field",
f245a28c
DM
1206 "parameters" : {
1207 "additionalProperties" : 0,
1208 "properties" : {
732d76e1
DM
1209 "id" : {
1210 "description" : "Action Object ID.",
1211 "pattern" : "\\d+_\\d+",
1212 "type" : "string"
f245a28c
DM
1213 }
1214 }
1215 },
732d76e1
DM
1216 "permissions" : {
1217 "check" : [
1218 "admin",
1219 "audit"
1220 ]
1221 },
f245a28c
DM
1222 "proxyto" : "master",
1223 "returns" : {
1224 "properties" : {
1225 "id" : {
f245a28c
DM
1226 "type" : "string"
1227 }
1228 },
1229 "type" : "object"
1230 }
1231 },
1232 "PUT" : {
6bd70b95 1233 "allowtoken" : 1,
732d76e1 1234 "description" : "Update 'Header Attribute' object.",
f245a28c 1235 "method" : "PUT",
732d76e1 1236 "name" : "update_field",
f245a28c
DM
1237 "parameters" : {
1238 "additionalProperties" : 0,
1239 "properties" : {
732d76e1
DM
1240 "field" : {
1241 "description" : "The Field",
1242 "maxLength" : 1024,
1243 "pattern" : "[0-9a-zA-Z\\/\\\\[\\]\\+\\-\\.\\*\\_]+",
1244 "type" : "string"
1245 },
1246 "id" : {
1247 "description" : "Action Object ID.",
1248 "pattern" : "\\d+_\\d+",
1249 "type" : "string"
1250 },
f245a28c
DM
1251 "info" : {
1252 "description" : "Informational comment.",
1253 "maxLength" : 255,
1254 "optional" : 1,
1255 "type" : "string",
1256 "typetext" : "<string>"
1257 },
1258 "name" : {
732d76e1 1259 "description" : "Action name.",
f245a28c
DM
1260 "maxLength" : 255,
1261 "optional" : 1,
1262 "type" : "string",
1263 "typetext" : "<string>"
1264 },
732d76e1
DM
1265 "value" : {
1266 "description" : "The Value",
1267 "maxLength" : 1024,
4a46ced6
DM
1268 "type" : "string",
1269 "typetext" : "<string>"
f245a28c
DM
1270 }
1271 }
1272 },
732d76e1
DM
1273 "permissions" : {
1274 "check" : [
1275 "admin"
1276 ]
1277 },
d7cd791b 1278 "protected" : 1,
f245a28c
DM
1279 "proxyto" : "master",
1280 "returns" : {
1281 "type" : "null"
1282 }
1283 }
1284 },
1285 "leaf" : 1,
732d76e1
DM
1286 "path" : "/config/ruledb/action/field/{id}",
1287 "text" : "{id}"
1288 }
1289 ],
1290 "info" : {
1291 "POST" : {
6bd70b95 1292 "allowtoken" : 1,
732d76e1
DM
1293 "description" : "Create 'Header Attribute' object.",
1294 "method" : "POST",
1295 "name" : "field",
1296 "parameters" : {
1297 "additionalProperties" : 0,
1298 "properties" : {
1299 "field" : {
1300 "description" : "The Field",
1301 "maxLength" : 1024,
1302 "pattern" : "[0-9a-zA-Z\\/\\\\[\\]\\+\\-\\.\\*\\_]+",
1303 "type" : "string"
1304 },
f245a28c 1305 "info" : {
732d76e1
DM
1306 "description" : "Informational comment.",
1307 "maxLength" : 255,
1308 "optional" : 1,
1309 "type" : "string",
1310 "typetext" : "<string>"
1311 },
1312 "name" : {
1313 "description" : "Action name.",
1314 "maxLength" : 255,
1315 "type" : "string",
1316 "typetext" : "<string>"
1317 },
1318 "value" : {
1319 "description" : "The Value",
1320 "maxLength" : 1024,
4a46ced6
DM
1321 "type" : "string",
1322 "typetext" : "<string>"
732d76e1
DM
1323 }
1324 }
1325 },
1326 "permissions" : {
1327 "check" : [
1328 "admin"
1329 ]
1330 },
1331 "protected" : 1,
1332 "proxyto" : "master",
1333 "returns" : {
1334 "description" : "The object ID.",
1335 "type" : "string"
1336 }
1337 }
1338 },
1339 "leaf" : 0,
1340 "path" : "/config/ruledb/action/field",
1341 "text" : "field"
1342 },
1343 {
1344 "children" : [
1345 {
1346 "info" : {
1347 "GET" : {
6bd70b95 1348 "allowtoken" : 1,
732d76e1
DM
1349 "description" : "Read 'Notification' object settings.",
1350 "method" : "GET",
1351 "name" : "read_notification",
1352 "parameters" : {
1353 "additionalProperties" : 0,
1354 "properties" : {
1355 "id" : {
1356 "description" : "Action Object ID.",
1357 "pattern" : "\\d+_\\d+",
1358 "type" : "string"
1359 }
1360 }
1361 },
1362 "permissions" : {
1363 "check" : [
1364 "admin",
1365 "audit"
1366 ]
1367 },
1368 "proxyto" : "master",
1369 "returns" : {
1370 "properties" : {
1371 "id" : {
1372 "type" : "string"
1373 }
1374 },
1375 "type" : "object"
1376 }
1377 },
1378 "PUT" : {
6bd70b95 1379 "allowtoken" : 1,
732d76e1
DM
1380 "description" : "Update 'Notification' object.",
1381 "method" : "PUT",
1382 "name" : "update_notification",
1383 "parameters" : {
1384 "additionalProperties" : 0,
1385 "properties" : {
1386 "attach" : {
1387 "default" : 0,
1388 "description" : "Attach original E-Mail",
1389 "optional" : 1,
1390 "type" : "boolean",
1391 "typetext" : "<boolean>"
1392 },
1393 "body" : {
1394 "description" : "The Notification Body",
1395 "maxLength" : 2048,
1396 "type" : "string",
1397 "typetext" : "<string>"
1398 },
1399 "id" : {
1400 "description" : "Action Object ID.",
1401 "pattern" : "\\d+_\\d+",
1402 "type" : "string"
1403 },
1404 "info" : {
1405 "description" : "Informational comment.",
1406 "maxLength" : 255,
1407 "optional" : 1,
1408 "type" : "string",
1409 "typetext" : "<string>"
1410 },
1411 "name" : {
1412 "description" : "Action name.",
1413 "maxLength" : 255,
1414 "optional" : 1,
1415 "type" : "string",
1416 "typetext" : "<string>"
1417 },
1418 "subject" : {
1419 "description" : "The Notification subject",
1420 "maxLength" : 100,
1421 "type" : "string",
1422 "typetext" : "<string>"
1423 },
1424 "to" : {
1425 "description" : "The Receiver E-Mail address",
1426 "maxLength" : 200,
1427 "type" : "string",
1428 "typetext" : "<string>"
1429 }
1430 }
1431 },
1432 "permissions" : {
1433 "check" : [
1434 "admin"
1435 ]
1436 },
1437 "protected" : 1,
1438 "proxyto" : "master",
1439 "returns" : {
1440 "type" : "null"
1441 }
1442 }
1443 },
1444 "leaf" : 1,
1445 "path" : "/config/ruledb/action/notification/{id}",
1446 "text" : "{id}"
1447 }
1448 ],
1449 "info" : {
1450 "POST" : {
6bd70b95 1451 "allowtoken" : 1,
732d76e1
DM
1452 "description" : "Create 'Notification' object.",
1453 "method" : "POST",
1454 "name" : "notification",
1455 "parameters" : {
1456 "additionalProperties" : 0,
1457 "properties" : {
1458 "attach" : {
1459 "default" : 0,
1460 "description" : "Attach original E-Mail",
1461 "optional" : 1,
1462 "type" : "boolean",
1463 "typetext" : "<boolean>"
1464 },
1465 "body" : {
1466 "description" : "The Notification Body",
1467 "maxLength" : 2048,
1468 "type" : "string",
1469 "typetext" : "<string>"
1470 },
1471 "info" : {
1472 "description" : "Informational comment.",
1473 "maxLength" : 255,
1474 "optional" : 1,
1475 "type" : "string",
1476 "typetext" : "<string>"
1477 },
1478 "name" : {
1479 "description" : "Action name.",
1480 "maxLength" : 255,
1481 "type" : "string",
1482 "typetext" : "<string>"
1483 },
1484 "subject" : {
1485 "description" : "The Notification subject",
1486 "maxLength" : 100,
1487 "type" : "string",
1488 "typetext" : "<string>"
1489 },
1490 "to" : {
1491 "description" : "The Receiver E-Mail address",
1492 "maxLength" : 200,
1493 "type" : "string",
1494 "typetext" : "<string>"
1495 }
1496 }
1497 },
1498 "permissions" : {
1499 "check" : [
1500 "admin"
1501 ]
1502 },
1503 "protected" : 1,
1504 "proxyto" : "master",
1505 "returns" : {
1506 "description" : "The object ID.",
1507 "type" : "string"
1508 }
1509 }
1510 },
1511 "leaf" : 0,
1512 "path" : "/config/ruledb/action/notification",
1513 "text" : "notification"
1514 },
1515 {
1516 "children" : [
1517 {
1518 "info" : {
1519 "GET" : {
6bd70b95 1520 "allowtoken" : 1,
732d76e1
DM
1521 "description" : "Read 'Disclaimer' object settings.",
1522 "method" : "GET",
1523 "name" : "read_disclaimer",
1524 "parameters" : {
1525 "additionalProperties" : 0,
1526 "properties" : {
1527 "id" : {
1528 "description" : "Action Object ID.",
1529 "pattern" : "\\d+_\\d+",
1530 "type" : "string"
1531 }
1532 }
1533 },
1534 "permissions" : {
1535 "check" : [
1536 "admin",
1537 "audit"
1538 ]
1539 },
1540 "proxyto" : "master",
1541 "returns" : {
1542 "properties" : {
1543 "id" : {
1544 "type" : "string"
1545 }
1546 },
1547 "type" : "object"
1548 }
1549 },
1550 "PUT" : {
6bd70b95 1551 "allowtoken" : 1,
732d76e1
DM
1552 "description" : "Update 'Disclaimer' object.",
1553 "method" : "PUT",
1554 "name" : "update_disclaimer",
1555 "parameters" : {
1556 "additionalProperties" : 0,
1557 "properties" : {
f4a381a1
TL
1558 "add-separator" : {
1559 "default" : 1,
1560 "description" : "If set to 1, adds a '--' separator between the disclaimer and the content. Set to 0 to prevent that.",
1561 "optional" : 1,
1562 "type" : "boolean",
1563 "typetext" : "<boolean>"
1564 },
732d76e1
DM
1565 "disclaimer" : {
1566 "description" : "The Disclaimer",
1567 "maxLength" : 2048,
1568 "type" : "string",
1569 "typetext" : "<string>"
1570 },
1571 "id" : {
1572 "description" : "Action Object ID.",
1573 "pattern" : "\\d+_\\d+",
1574 "type" : "string"
1575 },
1576 "info" : {
1577 "description" : "Informational comment.",
1578 "maxLength" : 255,
1579 "optional" : 1,
1580 "type" : "string",
1581 "typetext" : "<string>"
1582 },
1583 "name" : {
1584 "description" : "Action name.",
1585 "maxLength" : 255,
1586 "optional" : 1,
1587 "type" : "string",
1588 "typetext" : "<string>"
f4a381a1
TL
1589 },
1590 "position" : {
1591 "default" : "end",
1592 "description" : "Put the disclaimer at the specified position.",
1593 "enum" : [
1594 "start",
1595 "end"
1596 ],
1597 "optional" : 1,
1598 "type" : "string"
732d76e1
DM
1599 }
1600 }
1601 },
1602 "permissions" : {
1603 "check" : [
1604 "admin"
1605 ]
1606 },
1607 "protected" : 1,
1608 "proxyto" : "master",
1609 "returns" : {
1610 "type" : "null"
1611 }
1612 }
1613 },
1614 "leaf" : 1,
1615 "path" : "/config/ruledb/action/disclaimer/{id}",
1616 "text" : "{id}"
1617 }
1618 ],
1619 "info" : {
1620 "POST" : {
6bd70b95 1621 "allowtoken" : 1,
732d76e1
DM
1622 "description" : "Create 'Disclaimer' object.",
1623 "method" : "POST",
1624 "name" : "disclaimer",
1625 "parameters" : {
1626 "additionalProperties" : 0,
1627 "properties" : {
f4a381a1
TL
1628 "add-separator" : {
1629 "default" : 1,
1630 "description" : "If set to 1, adds a '--' separator between the disclaimer and the content. Set to 0 to prevent that.",
1631 "optional" : 1,
1632 "type" : "boolean",
1633 "typetext" : "<boolean>"
1634 },
732d76e1
DM
1635 "disclaimer" : {
1636 "description" : "The Disclaimer",
1637 "maxLength" : 2048,
1638 "type" : "string",
1639 "typetext" : "<string>"
1640 },
1641 "info" : {
1642 "description" : "Informational comment.",
1643 "maxLength" : 255,
1644 "optional" : 1,
1645 "type" : "string",
1646 "typetext" : "<string>"
1647 },
1648 "name" : {
1649 "description" : "Action name.",
1650 "maxLength" : 255,
1651 "type" : "string",
1652 "typetext" : "<string>"
f4a381a1
TL
1653 },
1654 "position" : {
1655 "default" : "end",
1656 "description" : "Put the disclaimer at the specified position.",
1657 "enum" : [
1658 "start",
1659 "end"
1660 ],
1661 "optional" : 1,
1662 "type" : "string"
732d76e1
DM
1663 }
1664 }
1665 },
1666 "permissions" : {
1667 "check" : [
1668 "admin"
1669 ]
1670 },
1671 "protected" : 1,
1672 "proxyto" : "master",
1673 "returns" : {
1674 "description" : "The object ID.",
1675 "type" : "string"
1676 }
1677 }
1678 },
1679 "leaf" : 0,
1680 "path" : "/config/ruledb/action/disclaimer",
1681 "text" : "disclaimer"
1682 },
1683 {
1684 "children" : [
1685 {
1686 "info" : {
1687 "GET" : {
6bd70b95 1688 "allowtoken" : 1,
732d76e1
DM
1689 "description" : "Read 'Remove attachments' object settings.",
1690 "method" : "GET",
1691 "name" : "read_removeattachments",
1692 "parameters" : {
1693 "additionalProperties" : 0,
1694 "properties" : {
1695 "id" : {
1696 "description" : "Action Object ID.",
1697 "pattern" : "\\d+_\\d+",
1698 "type" : "string"
1699 }
1700 }
1701 },
1702 "permissions" : {
1703 "check" : [
1704 "admin",
1705 "audit"
1706 ]
1707 },
1708 "proxyto" : "master",
1709 "returns" : {
1710 "properties" : {
1711 "id" : {
1712 "type" : "string"
1713 }
1714 },
1715 "type" : "object"
1716 }
1717 },
1718 "PUT" : {
6bd70b95 1719 "allowtoken" : 1,
732d76e1
DM
1720 "description" : "Update 'Remove attachments' object.",
1721 "method" : "PUT",
1722 "name" : "update_removeattachments",
1723 "parameters" : {
1724 "additionalProperties" : 0,
1725 "properties" : {
1726 "all" : {
1727 "description" : "Remove all attachments",
1728 "optional" : 1,
1729 "type" : "boolean",
1730 "typetext" : "<boolean>"
1731 },
1732 "id" : {
1733 "description" : "Action Object ID.",
1734 "pattern" : "\\d+_\\d+",
1735 "type" : "string"
1736 },
1737 "info" : {
1738 "description" : "Informational comment.",
1739 "maxLength" : 255,
1740 "optional" : 1,
1741 "type" : "string",
1742 "typetext" : "<string>"
1743 },
1744 "name" : {
1745 "description" : "Action name.",
1746 "maxLength" : 255,
1747 "optional" : 1,
1748 "type" : "string",
1749 "typetext" : "<string>"
1750 },
d210277a
TL
1751 "quarantine" : {
1752 "default" : 0,
1753 "description" : "Copy original mail to attachment Quarantine.",
1754 "optional" : 1,
1755 "type" : "boolean",
1756 "typetext" : "<boolean>"
1757 },
732d76e1
DM
1758 "text" : {
1759 "description" : "The replacement text.",
1760 "maxLength" : 2048,
1761 "type" : "string",
1762 "typetext" : "<string>"
1763 }
1764 }
1765 },
1766 "permissions" : {
1767 "check" : [
1768 "admin"
1769 ]
1770 },
1771 "protected" : 1,
1772 "proxyto" : "master",
1773 "returns" : {
1774 "type" : "null"
1775 }
1776 }
1777 },
1778 "leaf" : 1,
1779 "path" : "/config/ruledb/action/removeattachments/{id}",
1780 "text" : "{id}"
1781 }
1782 ],
1783 "info" : {
1784 "POST" : {
6bd70b95 1785 "allowtoken" : 1,
732d76e1
DM
1786 "description" : "Create 'Remove attachments' object.",
1787 "method" : "POST",
1788 "name" : "removeattachments",
1789 "parameters" : {
1790 "additionalProperties" : 0,
1791 "properties" : {
1792 "all" : {
1793 "description" : "Remove all attachments",
1794 "optional" : 1,
1795 "type" : "boolean",
1796 "typetext" : "<boolean>"
1797 },
1798 "info" : {
1799 "description" : "Informational comment.",
1800 "maxLength" : 255,
1801 "optional" : 1,
1802 "type" : "string",
1803 "typetext" : "<string>"
1804 },
1805 "name" : {
1806 "description" : "Action name.",
1807 "maxLength" : 255,
1808 "type" : "string",
1809 "typetext" : "<string>"
1810 },
d210277a
TL
1811 "quarantine" : {
1812 "default" : 0,
1813 "description" : "Copy original mail to attachment Quarantine.",
1814 "optional" : 1,
1815 "type" : "boolean",
1816 "typetext" : "<boolean>"
1817 },
732d76e1
DM
1818 "text" : {
1819 "description" : "The replacement text.",
1820 "maxLength" : 2048,
1821 "type" : "string",
1822 "typetext" : "<string>"
1823 }
1824 }
1825 },
1826 "permissions" : {
1827 "check" : [
1828 "admin"
1829 ]
1830 },
1831 "protected" : 1,
1832 "proxyto" : "master",
1833 "returns" : {
1834 "description" : "The object ID.",
1835 "type" : "string"
1836 }
1837 }
1838 },
1839 "leaf" : 0,
1840 "path" : "/config/ruledb/action/removeattachments",
1841 "text" : "removeattachments"
1842 }
1843 ],
1844 "info" : {
1845 "GET" : {
6bd70b95 1846 "allowtoken" : 1,
732d76e1
DM
1847 "description" : "Directory index.",
1848 "method" : "GET",
1849 "name" : "index",
1850 "parameters" : {
1851 "additionalProperties" : 0
1852 },
1853 "permissions" : {
1854 "check" : [
1855 "admin",
1856 "audit"
1857 ]
1858 },
1859 "returns" : {
1860 "items" : {
1861 "properties" : {
1862 "subdir" : {
1863 "type" : "string"
1864 }
1865 },
1866 "type" : "object"
1867 },
1868 "links" : [
1869 {
1870 "href" : "{subdir}",
1871 "rel" : "child"
1872 }
1873 ],
1874 "type" : "array"
1875 }
1876 }
1877 },
1878 "leaf" : 0,
1879 "path" : "/config/ruledb/action",
1880 "text" : "action"
1881 },
1882 {
1883 "children" : [
1884 {
1885 "children" : [
1886 {
1887 "info" : {
1888 "GET" : {
6bd70b95 1889 "allowtoken" : 1,
732d76e1
DM
1890 "description" : "Get 'what' group properties",
1891 "method" : "GET",
1892 "name" : "get_config",
1893 "parameters" : {
1894 "additionalProperties" : 0,
1895 "properties" : {
1896 "ogroup" : {
1897 "description" : "Object Group ID.",
1898 "type" : "integer",
1899 "typetext" : "<integer>"
1900 }
1901 }
1902 },
1903 "permissions" : {
1904 "check" : [
1905 "admin",
1906 "audit"
1907 ]
1908 },
1909 "proxyto" : "master",
1910 "returns" : {
1911 "properties" : {
1912 "id" : {
1913 "type" : "integer"
1914 },
1915 "info" : {
1916 "type" : "string"
1917 },
1918 "name" : {
1919 "type" : "string"
1920 }
1921 },
1922 "type" : "object"
1923 }
1924 },
1925 "PUT" : {
6bd70b95 1926 "allowtoken" : 1,
732d76e1
DM
1927 "description" : "Modify 'what' group properties",
1928 "method" : "PUT",
1929 "name" : "set_config",
1930 "parameters" : {
1931 "additionalProperties" : 0,
1932 "properties" : {
cbd73e8f
TL
1933 "and" : {
1934 "default" : 0,
1935 "description" : "If set to 1, objects in this group are 'and' combined.",
1936 "optional" : 1,
1937 "type" : "boolean",
1938 "typetext" : "<boolean>"
1939 },
732d76e1
DM
1940 "info" : {
1941 "description" : "Informational comment.",
1942 "maxLength" : 255,
1943 "optional" : 1,
1944 "type" : "string",
1945 "typetext" : "<string>"
1946 },
cbd73e8f
TL
1947 "invert" : {
1948 "default" : 0,
1949 "description" : "If set to 1, the resulting match is inverted.",
1950 "optional" : 1,
1951 "type" : "boolean",
1952 "typetext" : "<boolean>"
1953 },
732d76e1
DM
1954 "name" : {
1955 "description" : "Group name.",
1956 "maxLength" : 255,
1957 "optional" : 1,
1958 "type" : "string",
1959 "typetext" : "<string>"
1960 },
1961 "ogroup" : {
1962 "description" : "Object Group ID.",
1963 "type" : "integer",
1964 "typetext" : "<integer>"
1965 }
1966 }
1967 },
1968 "permissions" : {
1969 "check" : [
1970 "admin"
1971 ]
1972 },
1973 "protected" : 1,
1974 "proxyto" : "master",
1975 "returns" : {
1976 "type" : "null"
1977 }
1978 }
1979 },
1980 "leaf" : 1,
1981 "path" : "/config/ruledb/what/{ogroup}/config",
1982 "text" : "config"
1983 },
1984 {
1985 "children" : [
1986 {
1987 "info" : {
1988 "DELETE" : {
6bd70b95 1989 "allowtoken" : 1,
732d76e1
DM
1990 "description" : "Remove an object from the 'what' group.",
1991 "method" : "DELETE",
1992 "name" : "delete_object",
1993 "parameters" : {
1994 "additionalProperties" : 0,
1995 "properties" : {
1996 "id" : {
1997 "description" : "Object ID.",
1998 "type" : "integer",
1999 "typetext" : "<integer>"
2000 },
2001 "ogroup" : {
2002 "description" : "Object Group ID.",
2003 "type" : "integer",
2004 "typetext" : "<integer>"
2005 }
2006 }
2007 },
2008 "permissions" : {
2009 "check" : [
2010 "admin"
2011 ]
2012 },
2013 "protected" : 1,
2014 "proxyto" : "master",
f245a28c
DM
2015 "returns" : {
2016 "type" : "null"
2017 }
2018 }
2019 },
2020 "leaf" : 1,
2021 "path" : "/config/ruledb/what/{ogroup}/objects/{id}",
2022 "text" : "{id}"
2023 }
2024 ],
2025 "info" : {
2026 "GET" : {
6bd70b95 2027 "allowtoken" : 1,
f245a28c
DM
2028 "description" : "List 'what' group objects.",
2029 "method" : "GET",
2030 "name" : "objects",
2031 "parameters" : {
2032 "additionalProperties" : 0,
2033 "properties" : {
2034 "ogroup" : {
2035 "description" : "Object Group ID.",
2036 "type" : "integer",
2037 "typetext" : "<integer>"
2038 }
2039 }
2040 },
732d76e1
DM
2041 "permissions" : {
2042 "check" : [
2043 "admin",
2044 "audit"
2045 ]
2046 },
f245a28c
DM
2047 "proxyto" : "master",
2048 "returns" : {
2049 "items" : {
2050 "properties" : {
2051 "id" : {
2052 "type" : "integer"
2053 }
2054 },
2055 "type" : "object"
2056 },
2057 "links" : [
2058 {
2059 "href" : "{id}",
2060 "rel" : "child"
2061 }
2062 ],
2063 "type" : "array"
2064 }
2065 }
2066 },
2067 "leaf" : 0,
2068 "path" : "/config/ruledb/what/{ogroup}/objects",
2069 "text" : "objects"
f245a28c 2070 },
9fda36b0
DM
2071 {
2072 "children" : [
2073 {
2074 "info" : {
2075 "GET" : {
6bd70b95 2076 "allowtoken" : 1,
9fda36b0
DM
2077 "description" : "Read 'ContentType Filter' object settings.",
2078 "method" : "GET",
2079 "name" : "read_contenttype",
2080 "parameters" : {
2081 "additionalProperties" : 0,
2082 "properties" : {
2083 "id" : {
2084 "description" : "Object ID.",
2085 "type" : "integer",
2086 "typetext" : "<integer>"
2087 },
2088 "ogroup" : {
2089 "description" : "Object Groups ID.",
2090 "type" : "integer",
2091 "typetext" : "<integer>"
2092 }
2093 }
2094 },
c061d61d
DM
2095 "permissions" : {
2096 "check" : [
2097 "admin",
2098 "audit"
2099 ]
2100 },
9fda36b0
DM
2101 "proxyto" : "master",
2102 "returns" : {
2103 "properties" : {
2104 "id" : {
2105 "type" : "integer"
2106 }
2107 },
2108 "type" : "object"
2109 }
2110 },
2111 "PUT" : {
6bd70b95 2112 "allowtoken" : 1,
9fda36b0
DM
2113 "description" : "Update 'ContentType Filter' object.",
2114 "method" : "PUT",
2115 "name" : "update_contenttype",
2116 "parameters" : {
2117 "additionalProperties" : 0,
2118 "properties" : {
2119 "contenttype" : {
2120 "description" : "Content Type",
2121 "maxLength" : 1024,
2122 "pattern" : "[0-9a-zA-Z\\/\\\\[\\]\\+\\-\\.\\*\\_]+",
2123 "type" : "string"
2124 },
2125 "id" : {
2126 "description" : "Object ID.",
2127 "type" : "integer",
2128 "typetext" : "<integer>"
2129 },
2130 "ogroup" : {
2131 "description" : "Object Groups ID.",
2132 "type" : "integer",
2133 "typetext" : "<integer>"
2134 }
2135 }
2136 },
c061d61d
DM
2137 "permissions" : {
2138 "check" : [
2139 "admin"
2140 ]
2141 },
9fda36b0
DM
2142 "protected" : 1,
2143 "proxyto" : "master",
2144 "returns" : {
2145 "type" : "null"
2146 }
f245a28c
DM
2147 }
2148 },
9fda36b0
DM
2149 "leaf" : 1,
2150 "path" : "/config/ruledb/what/{ogroup}/contenttype/{id}",
2151 "text" : "{id}"
eff914dc 2152 }
9fda36b0 2153 ],
f245a28c 2154 "info" : {
9fda36b0 2155 "POST" : {
6bd70b95 2156 "allowtoken" : 1,
9fda36b0
DM
2157 "description" : "Add 'ContentType Filter' object.",
2158 "method" : "POST",
2159 "name" : "contenttype",
f245a28c
DM
2160 "parameters" : {
2161 "additionalProperties" : 0,
2162 "properties" : {
9fda36b0
DM
2163 "contenttype" : {
2164 "description" : "Content Type",
2165 "maxLength" : 1024,
2166 "pattern" : "[0-9a-zA-Z\\/\\\\[\\]\\+\\-\\.\\*\\_]+",
f245a28c 2167 "type" : "string"
f245a28c
DM
2168 },
2169 "ogroup" : {
9fda36b0 2170 "description" : "Object Groups ID.",
f245a28c
DM
2171 "type" : "integer",
2172 "typetext" : "<integer>"
2173 }
2174 }
2175 },
c061d61d
DM
2176 "permissions" : {
2177 "check" : [
2178 "admin"
2179 ]
2180 },
d7cd791b 2181 "protected" : 1,
f245a28c
DM
2182 "proxyto" : "master",
2183 "returns" : {
9fda36b0
DM
2184 "description" : "The object ID.",
2185 "type" : "integer"
f245a28c
DM
2186 }
2187 }
2188 },
9fda36b0
DM
2189 "leaf" : 0,
2190 "path" : "/config/ruledb/what/{ogroup}/contenttype",
2191 "text" : "contenttype"
f245a28c
DM
2192 },
2193 {
2194 "children" : [
2195 {
2196 "info" : {
9fda36b0 2197 "GET" : {
6bd70b95 2198 "allowtoken" : 1,
9fda36b0
DM
2199 "description" : "Read 'Match Field' object settings.",
2200 "method" : "GET",
2201 "name" : "read_matchfield",
f245a28c
DM
2202 "parameters" : {
2203 "additionalProperties" : 0,
2204 "properties" : {
2205 "id" : {
2206 "description" : "Object ID.",
2207 "type" : "integer",
2208 "typetext" : "<integer>"
2209 },
2210 "ogroup" : {
9fda36b0 2211 "description" : "Object Groups ID.",
f245a28c
DM
2212 "type" : "integer",
2213 "typetext" : "<integer>"
2214 }
2215 }
2216 },
c061d61d
DM
2217 "permissions" : {
2218 "check" : [
2219 "admin",
2220 "audit"
2221 ]
2222 },
f245a28c
DM
2223 "proxyto" : "master",
2224 "returns" : {
9fda36b0
DM
2225 "properties" : {
2226 "id" : {
2227 "type" : "integer"
2228 }
2229 },
2230 "type" : "object"
f245a28c 2231 }
9fda36b0
DM
2232 },
2233 "PUT" : {
6bd70b95 2234 "allowtoken" : 1,
9fda36b0
DM
2235 "description" : "Update 'Match Field' object.",
2236 "method" : "PUT",
2237 "name" : "update_matchfield",
2238 "parameters" : {
2239 "additionalProperties" : 0,
2240 "properties" : {
2241 "field" : {
2242 "description" : "The Field",
2243 "maxLength" : 1024,
2244 "pattern" : "[0-9a-zA-Z\\/\\\\[\\]\\+\\-\\.\\*\\_]+",
2245 "type" : "string"
2246 },
2247 "id" : {
2248 "description" : "Object ID.",
2249 "type" : "integer",
2250 "typetext" : "<integer>"
2251 },
2252 "ogroup" : {
2253 "description" : "Object Groups ID.",
2254 "type" : "integer",
2255 "typetext" : "<integer>"
2256 },
2257 "value" : {
2258 "description" : "The Value",
2259 "maxLength" : 1024,
4a46ced6
DM
2260 "type" : "string",
2261 "typetext" : "<string>"
9fda36b0
DM
2262 }
2263 }
2264 },
c061d61d
DM
2265 "permissions" : {
2266 "check" : [
2267 "admin"
2268 ]
2269 },
9fda36b0
DM
2270 "protected" : 1,
2271 "proxyto" : "master",
2272 "returns" : {
2273 "type" : "null"
2274 }
2275 }
2276 },
2277 "leaf" : 1,
2278 "path" : "/config/ruledb/what/{ogroup}/matchfield/{id}",
2279 "text" : "{id}"
2280 }
2281 ],
f245a28c 2282 "info" : {
9fda36b0 2283 "POST" : {
6bd70b95 2284 "allowtoken" : 1,
9fda36b0
DM
2285 "description" : "Add 'Match Field' object.",
2286 "method" : "POST",
2287 "name" : "matchfield",
f245a28c
DM
2288 "parameters" : {
2289 "additionalProperties" : 0,
2290 "properties" : {
9fda36b0
DM
2291 "field" : {
2292 "description" : "The Field",
2293 "maxLength" : 1024,
2294 "pattern" : "[0-9a-zA-Z\\/\\\\[\\]\\+\\-\\.\\*\\_]+",
2295 "type" : "string"
2296 },
f245a28c 2297 "ogroup" : {
9fda36b0 2298 "description" : "Object Groups ID.",
f245a28c
DM
2299 "type" : "integer",
2300 "typetext" : "<integer>"
9fda36b0
DM
2301 },
2302 "value" : {
2303 "description" : "The Value",
2304 "maxLength" : 1024,
4a46ced6
DM
2305 "type" : "string",
2306 "typetext" : "<string>"
f245a28c
DM
2307 }
2308 }
2309 },
c061d61d
DM
2310 "permissions" : {
2311 "check" : [
2312 "admin"
2313 ]
2314 },
9fda36b0 2315 "protected" : 1,
f245a28c
DM
2316 "proxyto" : "master",
2317 "returns" : {
9fda36b0
DM
2318 "description" : "The object ID.",
2319 "type" : "integer"
f245a28c
DM
2320 }
2321 }
2322 },
2323 "leaf" : 0,
9fda36b0
DM
2324 "path" : "/config/ruledb/what/{ogroup}/matchfield",
2325 "text" : "matchfield"
f245a28c
DM
2326 },
2327 {
2328 "children" : [
2329 {
2330 "info" : {
2331 "GET" : {
6bd70b95 2332 "allowtoken" : 1,
9fda36b0 2333 "description" : "Read 'Spam Filter' object settings.",
f245a28c 2334 "method" : "GET",
9fda36b0 2335 "name" : "read_spamfilter",
f245a28c
DM
2336 "parameters" : {
2337 "additionalProperties" : 0,
2338 "properties" : {
2339 "id" : {
2340 "description" : "Object ID.",
2341 "type" : "integer",
2342 "typetext" : "<integer>"
2343 },
2344 "ogroup" : {
2345 "description" : "Object Groups ID.",
2346 "type" : "integer",
2347 "typetext" : "<integer>"
2348 }
2349 }
2350 },
c061d61d
DM
2351 "permissions" : {
2352 "check" : [
2353 "admin",
2354 "audit"
2355 ]
2356 },
f245a28c
DM
2357 "proxyto" : "master",
2358 "returns" : {
2359 "properties" : {
2360 "id" : {
2361 "type" : "integer"
2362 }
2363 },
2364 "type" : "object"
2365 }
2366 },
2367 "PUT" : {
6bd70b95 2368 "allowtoken" : 1,
9fda36b0 2369 "description" : "Update 'Spam Filter' object.",
f245a28c 2370 "method" : "PUT",
9fda36b0 2371 "name" : "update_spamfilter",
f245a28c
DM
2372 "parameters" : {
2373 "additionalProperties" : 0,
2374 "properties" : {
f245a28c
DM
2375 "id" : {
2376 "description" : "Object ID.",
2377 "type" : "integer",
2378 "typetext" : "<integer>"
2379 },
2380 "ogroup" : {
2381 "description" : "Object Groups ID.",
2382 "type" : "integer",
2383 "typetext" : "<integer>"
2384 },
9fda36b0
DM
2385 "spamlevel" : {
2386 "description" : "Spam Level",
2387 "minimum" : 0,
2388 "type" : "integer",
2389 "typetext" : "<integer> (0 - N)"
f245a28c
DM
2390 }
2391 }
2392 },
c061d61d
DM
2393 "permissions" : {
2394 "check" : [
2395 "admin"
2396 ]
2397 },
a55e94a6 2398 "protected" : 1,
f245a28c
DM
2399 "proxyto" : "master",
2400 "returns" : {
2401 "type" : "null"
2402 }
2403 }
2404 },
2405 "leaf" : 1,
9fda36b0 2406 "path" : "/config/ruledb/what/{ogroup}/spamfilter/{id}",
f245a28c
DM
2407 "text" : "{id}"
2408 }
2409 ],
2410 "info" : {
2411 "POST" : {
6bd70b95 2412 "allowtoken" : 1,
9fda36b0 2413 "description" : "Add 'Spam Filter' object.",
f245a28c 2414 "method" : "POST",
9fda36b0 2415 "name" : "spamfilter",
f245a28c
DM
2416 "parameters" : {
2417 "additionalProperties" : 0,
2418 "properties" : {
f245a28c
DM
2419 "ogroup" : {
2420 "description" : "Object Groups ID.",
2421 "type" : "integer",
2422 "typetext" : "<integer>"
2423 },
9fda36b0
DM
2424 "spamlevel" : {
2425 "description" : "Spam Level",
2426 "minimum" : 0,
2427 "type" : "integer",
2428 "typetext" : "<integer> (0 - N)"
f245a28c
DM
2429 }
2430 }
2431 },
c061d61d
DM
2432 "permissions" : {
2433 "check" : [
2434 "admin"
2435 ]
2436 },
a55e94a6 2437 "protected" : 1,
f245a28c
DM
2438 "proxyto" : "master",
2439 "returns" : {
2440 "description" : "The object ID.",
2441 "type" : "integer"
2442 }
2443 }
2444 },
2445 "leaf" : 0,
9fda36b0
DM
2446 "path" : "/config/ruledb/what/{ogroup}/spamfilter",
2447 "text" : "spamfilter"
410dc2c9 2448 },
9fda36b0
DM
2449 {
2450 "children" : [
2451 {
2452 "info" : {
2453 "GET" : {
6bd70b95 2454 "allowtoken" : 1,
9fda36b0
DM
2455 "description" : "Read 'Archive Filter' object settings.",
2456 "method" : "GET",
2457 "name" : "read_archivefilter",
2458 "parameters" : {
2459 "additionalProperties" : 0,
2460 "properties" : {
2461 "id" : {
2462 "description" : "Object ID.",
2463 "type" : "integer",
2464 "typetext" : "<integer>"
2465 },
2466 "ogroup" : {
2467 "description" : "Object Groups ID.",
2468 "type" : "integer",
2469 "typetext" : "<integer>"
2470 }
2471 }
2472 },
c061d61d
DM
2473 "permissions" : {
2474 "check" : [
2475 "admin",
2476 "audit"
2477 ]
2478 },
9fda36b0
DM
2479 "proxyto" : "master",
2480 "returns" : {
2481 "properties" : {
2482 "id" : {
2483 "type" : "integer"
2484 }
2485 },
2486 "type" : "object"
2487 }
2488 },
2489 "PUT" : {
6bd70b95 2490 "allowtoken" : 1,
9fda36b0
DM
2491 "description" : "Update 'Archive Filter' object.",
2492 "method" : "PUT",
2493 "name" : "update_archivefilter",
2494 "parameters" : {
2495 "additionalProperties" : 0,
2496 "properties" : {
2497 "contenttype" : {
2498 "description" : "Content Type",
2499 "maxLength" : 1024,
2500 "pattern" : "[0-9a-zA-Z\\/\\\\[\\]\\+\\-\\.\\*\\_]+",
2501 "type" : "string"
2502 },
2503 "id" : {
2504 "description" : "Object ID.",
2505 "type" : "integer",
2506 "typetext" : "<integer>"
2507 },
2508 "ogroup" : {
2509 "description" : "Object Groups ID.",
2510 "type" : "integer",
2511 "typetext" : "<integer>"
2512 }
2513 }
2514 },
c061d61d
DM
2515 "permissions" : {
2516 "check" : [
2517 "admin"
2518 ]
2519 },
9fda36b0
DM
2520 "protected" : 1,
2521 "proxyto" : "master",
2522 "returns" : {
2523 "type" : "null"
2524 }
2525 }
2526 },
2527 "leaf" : 1,
2528 "path" : "/config/ruledb/what/{ogroup}/archivefilter/{id}",
2529 "text" : "{id}"
f245a28c 2530 }
9fda36b0
DM
2531 ],
2532 "info" : {
2533 "POST" : {
6bd70b95 2534 "allowtoken" : 1,
9fda36b0
DM
2535 "description" : "Add 'Archive Filter' object.",
2536 "method" : "POST",
2537 "name" : "archivefilter",
2538 "parameters" : {
2539 "additionalProperties" : 0,
2540 "properties" : {
2541 "contenttype" : {
2542 "description" : "Content Type",
2543 "maxLength" : 1024,
2544 "pattern" : "[0-9a-zA-Z\\/\\\\[\\]\\+\\-\\.\\*\\_]+",
2545 "type" : "string"
2546 },
2547 "ogroup" : {
2548 "description" : "Object Groups ID.",
2549 "type" : "integer",
2550 "typetext" : "<integer>"
2551 }
f245a28c
DM
2552 }
2553 },
c061d61d
DM
2554 "permissions" : {
2555 "check" : [
2556 "admin"
2557 ]
2558 },
9fda36b0
DM
2559 "protected" : 1,
2560 "proxyto" : "master",
2561 "returns" : {
2562 "description" : "The object ID.",
2563 "type" : "integer"
f245a28c 2564 }
eff914dc
DM
2565 }
2566 },
9fda36b0 2567 "leaf" : 0,
732d76e1
DM
2568 "path" : "/config/ruledb/what/{ogroup}/archivefilter",
2569 "text" : "archivefilter"
2570 },
2571 {
2572 "children" : [
2573 {
2574 "info" : {
2575 "GET" : {
6bd70b95 2576 "allowtoken" : 1,
732d76e1
DM
2577 "description" : "Read 'Match Filename' object settings.",
2578 "method" : "GET",
2579 "name" : "read_filenamefilter",
2580 "parameters" : {
2581 "additionalProperties" : 0,
2582 "properties" : {
2583 "id" : {
2584 "description" : "Object ID.",
2585 "type" : "integer",
2586 "typetext" : "<integer>"
2587 },
2588 "ogroup" : {
2589 "description" : "Object Groups ID.",
2590 "type" : "integer",
2591 "typetext" : "<integer>"
2592 }
2593 }
2594 },
c061d61d
DM
2595 "permissions" : {
2596 "check" : [
2597 "admin",
2598 "audit"
2599 ]
2600 },
732d76e1
DM
2601 "proxyto" : "master",
2602 "returns" : {
2603 "properties" : {
2604 "id" : {
2605 "type" : "integer"
2606 }
2607 },
2608 "type" : "object"
2609 }
2610 },
2611 "PUT" : {
6bd70b95 2612 "allowtoken" : 1,
732d76e1
DM
2613 "description" : "Update 'Match Filename' object.",
2614 "method" : "PUT",
2615 "name" : "update_filenamefilter",
2616 "parameters" : {
2617 "additionalProperties" : 0,
2618 "properties" : {
2619 "filename" : {
2620 "description" : "Filename filter",
2621 "maxLength" : 1024,
2622 "type" : "string",
2623 "typetext" : "<string>"
2624 },
2625 "id" : {
2626 "description" : "Object ID.",
2627 "type" : "integer",
2628 "typetext" : "<integer>"
2629 },
2630 "ogroup" : {
2631 "description" : "Object Groups ID.",
2632 "type" : "integer",
2633 "typetext" : "<integer>"
2634 }
2635 }
2636 },
c061d61d
DM
2637 "permissions" : {
2638 "check" : [
2639 "admin"
2640 ]
2641 },
732d76e1
DM
2642 "protected" : 1,
2643 "proxyto" : "master",
2644 "returns" : {
2645 "type" : "null"
2646 }
2647 }
2648 },
2649 "leaf" : 1,
2650 "path" : "/config/ruledb/what/{ogroup}/filenamefilter/{id}",
2651 "text" : "{id}"
2652 }
2653 ],
2654 "info" : {
2655 "POST" : {
6bd70b95 2656 "allowtoken" : 1,
732d76e1
DM
2657 "description" : "Add 'Match Filename' object.",
2658 "method" : "POST",
2659 "name" : "filenamefilter",
2660 "parameters" : {
2661 "additionalProperties" : 0,
2662 "properties" : {
2663 "filename" : {
2664 "description" : "Filename filter",
2665 "maxLength" : 1024,
2666 "type" : "string",
2667 "typetext" : "<string>"
2668 },
2669 "ogroup" : {
2670 "description" : "Object Groups ID.",
2671 "type" : "integer",
2672 "typetext" : "<integer>"
2673 }
2674 }
2675 },
c061d61d
DM
2676 "permissions" : {
2677 "check" : [
2678 "admin"
2679 ]
2680 },
732d76e1
DM
2681 "protected" : 1,
2682 "proxyto" : "master",
2683 "returns" : {
2684 "description" : "The object ID.",
2685 "type" : "integer"
2686 }
2687 }
2688 },
2689 "leaf" : 0,
2690 "path" : "/config/ruledb/what/{ogroup}/filenamefilter",
2691 "text" : "filenamefilter"
410dc2c9 2692 },
9fda36b0
DM
2693 {
2694 "children" : [
2695 {
2696 "info" : {
2697 "GET" : {
6bd70b95 2698 "allowtoken" : 1,
732d76e1 2699 "description" : "Read 'Virus Filter' object settings.",
9fda36b0 2700 "method" : "GET",
732d76e1 2701 "name" : "read_virusfilter",
9fda36b0
DM
2702 "parameters" : {
2703 "additionalProperties" : 0,
2704 "properties" : {
2705 "id" : {
2706 "description" : "Object ID.",
2707 "type" : "integer",
2708 "typetext" : "<integer>"
2709 },
2710 "ogroup" : {
2711 "description" : "Object Groups ID.",
2712 "type" : "integer",
2713 "typetext" : "<integer>"
2714 }
2715 }
2716 },
c061d61d
DM
2717 "permissions" : {
2718 "check" : [
2719 "admin",
2720 "audit"
2721 ]
2722 },
9fda36b0
DM
2723 "proxyto" : "master",
2724 "returns" : {
2725 "properties" : {
2726 "id" : {
2727 "type" : "integer"
2728 }
2729 },
2730 "type" : "object"
2731 }
2732 },
2733 "PUT" : {
6bd70b95 2734 "allowtoken" : 1,
732d76e1 2735 "description" : "Update 'Virus Filter' object.",
9fda36b0 2736 "method" : "PUT",
732d76e1 2737 "name" : "update_virusfilter",
9fda36b0
DM
2738 "parameters" : {
2739 "additionalProperties" : 0,
2740 "properties" : {
9fda36b0
DM
2741 "id" : {
2742 "description" : "Object ID.",
2743 "type" : "integer",
2744 "typetext" : "<integer>"
2745 },
2746 "ogroup" : {
2747 "description" : "Object Groups ID.",
2748 "type" : "integer",
2749 "typetext" : "<integer>"
2750 }
2751 }
2752 },
c061d61d
DM
2753 "permissions" : {
2754 "check" : [
2755 "admin"
2756 ]
2757 },
9fda36b0
DM
2758 "protected" : 1,
2759 "proxyto" : "master",
2760 "returns" : {
2761 "type" : "null"
2762 }
2763 }
2764 },
2765 "leaf" : 1,
732d76e1 2766 "path" : "/config/ruledb/what/{ogroup}/virusfilter/{id}",
9fda36b0
DM
2767 "text" : "{id}"
2768 }
2769 ],
2770 "info" : {
2771 "POST" : {
6bd70b95 2772 "allowtoken" : 1,
732d76e1 2773 "description" : "Add 'Virus Filter' object.",
9fda36b0 2774 "method" : "POST",
732d76e1 2775 "name" : "virusfilter",
9fda36b0
DM
2776 "parameters" : {
2777 "additionalProperties" : 0,
2778 "properties" : {
9fda36b0
DM
2779 "ogroup" : {
2780 "description" : "Object Groups ID.",
2781 "type" : "integer",
2782 "typetext" : "<integer>"
2783 }
2784 }
2785 },
c061d61d
DM
2786 "permissions" : {
2787 "check" : [
2788 "admin"
2789 ]
2790 },
9fda36b0
DM
2791 "protected" : 1,
2792 "proxyto" : "master",
2793 "returns" : {
2794 "description" : "The object ID.",
2795 "type" : "integer"
2796 }
2797 }
2798 },
2799 "leaf" : 0,
732d76e1
DM
2800 "path" : "/config/ruledb/what/{ogroup}/virusfilter",
2801 "text" : "virusfilter"
549cfb68
TL
2802 },
2803 {
2804 "children" : [
2805 {
2806 "info" : {
2807 "GET" : {
2808 "allowtoken" : 1,
2809 "description" : "Read 'Match Archive Filename' object settings.",
2810 "method" : "GET",
2811 "name" : "read_archivefilenamefilter",
2812 "parameters" : {
2813 "additionalProperties" : 0,
2814 "properties" : {
2815 "id" : {
2816 "description" : "Object ID.",
2817 "type" : "integer",
2818 "typetext" : "<integer>"
2819 },
2820 "ogroup" : {
2821 "description" : "Object Groups ID.",
2822 "type" : "integer",
2823 "typetext" : "<integer>"
2824 }
2825 }
2826 },
2827 "permissions" : {
2828 "check" : [
2829 "admin",
2830 "audit"
2831 ]
2832 },
2833 "proxyto" : "master",
2834 "returns" : {
2835 "properties" : {
2836 "id" : {
2837 "type" : "integer"
2838 }
2839 },
2840 "type" : "object"
2841 }
2842 },
2843 "PUT" : {
2844 "allowtoken" : 1,
2845 "description" : "Update 'Match Archive Filename' object.",
2846 "method" : "PUT",
2847 "name" : "update_archivefilenamefilter",
2848 "parameters" : {
2849 "additionalProperties" : 0,
2850 "properties" : {
2851 "filename" : {
2852 "description" : "Filename filter",
2853 "maxLength" : 1024,
2854 "type" : "string",
2855 "typetext" : "<string>"
2856 },
2857 "id" : {
2858 "description" : "Object ID.",
2859 "type" : "integer",
2860 "typetext" : "<integer>"
2861 },
2862 "ogroup" : {
2863 "description" : "Object Groups ID.",
2864 "type" : "integer",
2865 "typetext" : "<integer>"
2866 }
2867 }
2868 },
2869 "permissions" : {
2870 "check" : [
2871 "admin"
2872 ]
2873 },
2874 "protected" : 1,
2875 "proxyto" : "master",
2876 "returns" : {
2877 "type" : "null"
2878 }
2879 }
2880 },
2881 "leaf" : 1,
2882 "path" : "/config/ruledb/what/{ogroup}/archivefilenamefilter/{id}",
2883 "text" : "{id}"
2884 }
2885 ],
2886 "info" : {
2887 "POST" : {
2888 "allowtoken" : 1,
2889 "description" : "Add 'Match Archive Filename' object.",
2890 "method" : "POST",
2891 "name" : "archivefilenamefilter",
2892 "parameters" : {
2893 "additionalProperties" : 0,
2894 "properties" : {
2895 "filename" : {
2896 "description" : "Filename filter",
2897 "maxLength" : 1024,
2898 "type" : "string",
2899 "typetext" : "<string>"
2900 },
2901 "ogroup" : {
2902 "description" : "Object Groups ID.",
2903 "type" : "integer",
2904 "typetext" : "<integer>"
2905 }
2906 }
2907 },
2908 "permissions" : {
2909 "check" : [
2910 "admin"
2911 ]
2912 },
2913 "protected" : 1,
2914 "proxyto" : "master",
2915 "returns" : {
2916 "description" : "The object ID.",
2917 "type" : "integer"
2918 }
2919 }
2920 },
2921 "leaf" : 0,
2922 "path" : "/config/ruledb/what/{ogroup}/archivefilenamefilter",
2923 "text" : "archivefilenamefilter"
9fda36b0
DM
2924 }
2925 ],
2926 "info" : {
2927 "DELETE" : {
6bd70b95 2928 "allowtoken" : 1,
9fda36b0
DM
2929 "description" : "Delete a 'what' group.",
2930 "method" : "DELETE",
2931 "name" : "delete_{$oclass}_group",
2932 "parameters" : {
2933 "additionalProperties" : 0,
2934 "properties" : {
2935 "ogroup" : {
2936 "description" : "Object Group ID.",
2937 "type" : "integer",
2938 "typetext" : "<integer>"
2939 }
2940 }
2941 },
732d76e1
DM
2942 "permissions" : {
2943 "check" : [
2944 "admin"
2945 ]
2946 },
9fda36b0
DM
2947 "protected" : 1,
2948 "proxyto" : "master",
2949 "returns" : {
2950 "type" : "null"
2951 }
2952 },
2953 "GET" : {
6bd70b95 2954 "allowtoken" : 1,
9fda36b0
DM
2955 "description" : "Directory index.",
2956 "method" : "GET",
2957 "name" : "index",
2958 "parameters" : {
2959 "additionalProperties" : 0,
2960 "properties" : {
2961 "ogroup" : {
2962 "description" : "Object Group ID.",
2963 "type" : "integer",
2964 "typetext" : "<integer>"
2965 }
2966 }
2967 },
732d76e1
DM
2968 "permissions" : {
2969 "check" : [
2970 "admin",
2971 "audit"
2972 ]
2973 },
9fda36b0
DM
2974 "returns" : {
2975 "items" : {
2976 "properties" : {
2977 "subdir" : {
2978 "type" : "string"
2979 }
2980 },
2981 "type" : "object"
2982 },
2983 "links" : [
2984 {
2985 "href" : "{subdir}",
2986 "rel" : "child"
2987 }
2988 ],
2989 "type" : "array"
2990 }
2991 }
2992 },
2993 "leaf" : 0,
2994 "path" : "/config/ruledb/what/{ogroup}",
2995 "text" : "{ogroup}"
2996 }
2997 ],
2998 "info" : {
2999 "GET" : {
6bd70b95 3000 "allowtoken" : 1,
9fda36b0
DM
3001 "description" : "Get list of 'what' groups.",
3002 "method" : "GET",
3003 "name" : "list_what_groups",
3004 "parameters" : {
3005 "additionalProperties" : 0
3006 },
732d76e1
DM
3007 "permissions" : {
3008 "check" : [
3009 "admin",
3010 "audit"
3011 ]
3012 },
9fda36b0
DM
3013 "proxyto" : "master",
3014 "returns" : {
3015 "items" : {
3016 "properties" : {
3017 "id" : {
3018 "type" : "integer"
3019 }
3020 },
3021 "type" : "object"
3022 },
3023 "type" : "array"
3024 }
3025 },
3026 "POST" : {
6bd70b95 3027 "allowtoken" : 1,
9fda36b0 3028 "description" : "Create a new 'what' group.",
eff914dc 3029 "method" : "POST",
9fda36b0 3030 "name" : "create_what_group",
eff914dc
DM
3031 "parameters" : {
3032 "additionalProperties" : 0,
3033 "properties" : {
cbd73e8f
TL
3034 "and" : {
3035 "default" : 0,
3036 "description" : "If set to 1, objects in this group are 'and' combined.",
3037 "optional" : 1,
3038 "type" : "boolean",
3039 "typetext" : "<boolean>"
3040 },
eff914dc
DM
3041 "info" : {
3042 "description" : "Informational comment.",
3043 "maxLength" : 255,
3044 "optional" : 1,
3045 "type" : "string",
3046 "typetext" : "<string>"
3047 },
cbd73e8f
TL
3048 "invert" : {
3049 "default" : 0,
3050 "description" : "If set to 1, the resulting match is inverted.",
3051 "optional" : 1,
3052 "type" : "boolean",
3053 "typetext" : "<boolean>"
3054 },
eff914dc
DM
3055 "name" : {
3056 "description" : "Group name.",
3057 "maxLength" : 255,
3058 "type" : "string",
3059 "typetext" : "<string>"
3060 }
3061 }
3062 },
732d76e1
DM
3063 "permissions" : {
3064 "check" : [
3065 "admin"
3066 ]
3067 },
eff914dc
DM
3068 "protected" : 1,
3069 "proxyto" : "master",
3070 "returns" : {
3071 "type" : "integer"
3072 }
410dc2c9
DM
3073 }
3074 },
f245a28c 3075 "leaf" : 0,
9fda36b0
DM
3076 "path" : "/config/ruledb/what",
3077 "text" : "what"
410dc2c9
DM
3078 },
3079 {
f245a28c
DM
3080 "children" : [
3081 {
3082 "children" : [
3083 {
eff914dc 3084 "info" : {
f245a28c 3085 "GET" : {
6bd70b95 3086 "allowtoken" : 1,
9fda36b0 3087 "description" : "Get 'when' group properties",
f245a28c
DM
3088 "method" : "GET",
3089 "name" : "get_config",
3090 "parameters" : {
3091 "additionalProperties" : 0,
3092 "properties" : {
3093 "ogroup" : {
3094 "description" : "Object Group ID.",
3095 "type" : "integer",
3096 "typetext" : "<integer>"
3097 }
3098 }
3099 },
732d76e1
DM
3100 "permissions" : {
3101 "check" : [
3102 "admin",
3103 "audit"
3104 ]
3105 },
f245a28c
DM
3106 "proxyto" : "master",
3107 "returns" : {
3108 "properties" : {
3109 "id" : {
3110 "type" : "integer"
3111 },
3112 "info" : {
3113 "type" : "string"
3114 },
3115 "name" : {
3116 "type" : "string"
3117 }
3118 },
3119 "type" : "object"
3120 }
3121 },
3122 "PUT" : {
6bd70b95 3123 "allowtoken" : 1,
9fda36b0 3124 "description" : "Modify 'when' group properties",
f245a28c
DM
3125 "method" : "PUT",
3126 "name" : "set_config",
3127 "parameters" : {
3128 "additionalProperties" : 0,
3129 "properties" : {
cbd73e8f
TL
3130 "and" : {
3131 "default" : 0,
3132 "description" : "If set to 1, objects in this group are 'and' combined.",
3133 "optional" : 1,
3134 "type" : "boolean",
3135 "typetext" : "<boolean>"
3136 },
f245a28c
DM
3137 "info" : {
3138 "description" : "Informational comment.",
3139 "maxLength" : 255,
3140 "optional" : 1,
3141 "type" : "string",
3142 "typetext" : "<string>"
3143 },
cbd73e8f
TL
3144 "invert" : {
3145 "default" : 0,
3146 "description" : "If set to 1, the resulting match is inverted.",
3147 "optional" : 1,
3148 "type" : "boolean",
3149 "typetext" : "<boolean>"
3150 },
f245a28c
DM
3151 "name" : {
3152 "description" : "Group name.",
3153 "maxLength" : 255,
3154 "optional" : 1,
3155 "type" : "string",
3156 "typetext" : "<string>"
3157 },
3158 "ogroup" : {
3159 "description" : "Object Group ID.",
3160 "type" : "integer",
3161 "typetext" : "<integer>"
3162 }
3163 }
3164 },
732d76e1
DM
3165 "permissions" : {
3166 "check" : [
3167 "admin"
3168 ]
3169 },
d7cd791b 3170 "protected" : 1,
f245a28c
DM
3171 "proxyto" : "master",
3172 "returns" : {
3173 "type" : "null"
3174 }
3175 }
eff914dc 3176 },
f245a28c 3177 "leaf" : 1,
9fda36b0 3178 "path" : "/config/ruledb/when/{ogroup}/config",
f245a28c
DM
3179 "text" : "config"
3180 },
eff914dc
DM
3181 {
3182 "children" : [
3183 {
3184 "info" : {
3185 "DELETE" : {
6bd70b95 3186 "allowtoken" : 1,
9fda36b0 3187 "description" : "Remove an object from the 'when' group.",
eff914dc
DM
3188 "method" : "DELETE",
3189 "name" : "delete_object",
3190 "parameters" : {
3191 "additionalProperties" : 0,
3192 "properties" : {
3193 "id" : {
3194 "description" : "Object ID.",
3195 "type" : "integer",
3196 "typetext" : "<integer>"
3197 },
3198 "ogroup" : {
3199 "description" : "Object Group ID.",
3200 "type" : "integer",
3201 "typetext" : "<integer>"
3202 }
3203 }
3204 },
732d76e1
DM
3205 "permissions" : {
3206 "check" : [
3207 "admin"
3208 ]
3209 },
a55e94a6 3210 "protected" : 1,
eff914dc
DM
3211 "proxyto" : "master",
3212 "returns" : {
3213 "type" : "null"
3214 }
3215 }
3216 },
3217 "leaf" : 1,
9fda36b0 3218 "path" : "/config/ruledb/when/{ogroup}/objects/{id}",
eff914dc
DM
3219 "text" : "{id}"
3220 }
3221 ],
3222 "info" : {
3223 "GET" : {
6bd70b95 3224 "allowtoken" : 1,
9fda36b0 3225 "description" : "List 'when' group objects.",
eff914dc
DM
3226 "method" : "GET",
3227 "name" : "objects",
3228 "parameters" : {
3229 "additionalProperties" : 0,
3230 "properties" : {
3231 "ogroup" : {
3232 "description" : "Object Group ID.",
3233 "type" : "integer",
3234 "typetext" : "<integer>"
3235 }
3236 }
3237 },
732d76e1
DM
3238 "permissions" : {
3239 "check" : [
3240 "admin",
3241 "audit"
3242 ]
3243 },
eff914dc
DM
3244 "proxyto" : "master",
3245 "returns" : {
3246 "items" : {
3247 "properties" : {
3248 "id" : {
3249 "type" : "integer"
3250 }
3251 },
3252 "type" : "object"
3253 },
3254 "links" : [
3255 {
3256 "href" : "{id}",
3257 "rel" : "child"
3258 }
3259 ],
3260 "type" : "array"
3261 }
3262 }
3263 },
3264 "leaf" : 0,
9fda36b0 3265 "path" : "/config/ruledb/when/{ogroup}/objects",
eff914dc
DM
3266 "text" : "objects"
3267 },
3268 {
3269 "children" : [
3270 {
3271 "info" : {
3272 "GET" : {
6bd70b95 3273 "allowtoken" : 1,
9fda36b0 3274 "description" : "Read 'TimeFrame' object settings.",
eff914dc 3275 "method" : "GET",
9fda36b0 3276 "name" : "read_timeframe",
eff914dc
DM
3277 "parameters" : {
3278 "additionalProperties" : 0,
3279 "properties" : {
3280 "id" : {
3281 "description" : "Object ID.",
3282 "type" : "integer",
3283 "typetext" : "<integer>"
3284 },
3285 "ogroup" : {
3286 "description" : "Object Groups ID.",
3287 "type" : "integer",
3288 "typetext" : "<integer>"
3289 }
3290 }
3291 },
c061d61d
DM
3292 "permissions" : {
3293 "check" : [
3294 "admin",
3295 "audit"
3296 ]
3297 },
eff914dc
DM
3298 "proxyto" : "master",
3299 "returns" : {
3300 "properties" : {
3301 "id" : {
3302 "type" : "integer"
3303 }
3304 },
3305 "type" : "object"
3306 }
3307 },
3308 "PUT" : {
6bd70b95 3309 "allowtoken" : 1,
9fda36b0 3310 "description" : "Update 'TimeFrame' object.",
eff914dc 3311 "method" : "PUT",
9fda36b0 3312 "name" : "update_timeframe",
eff914dc
DM
3313 "parameters" : {
3314 "additionalProperties" : 0,
3315 "properties" : {
9fda36b0
DM
3316 "end" : {
3317 "description" : "End time in `H:i` format (00:00).",
3318 "pattern" : "\\d?\\d:\\d?\\d",
3319 "type" : "string"
eff914dc
DM
3320 },
3321 "id" : {
3322 "description" : "Object ID.",
3323 "type" : "integer",
3324 "typetext" : "<integer>"
3325 },
3326 "ogroup" : {
3327 "description" : "Object Groups ID.",
3328 "type" : "integer",
3329 "typetext" : "<integer>"
9fda36b0
DM
3330 },
3331 "start" : {
3332 "description" : "Start time in `H:i` format (00:00).",
3333 "pattern" : "\\d?\\d:\\d?\\d",
3334 "type" : "string"
eff914dc
DM
3335 }
3336 }
3337 },
c061d61d
DM
3338 "permissions" : {
3339 "check" : [
3340 "admin"
3341 ]
3342 },
a55e94a6 3343 "protected" : 1,
eff914dc
DM
3344 "proxyto" : "master",
3345 "returns" : {
3346 "type" : "null"
3347 }
3348 }
3349 },
3350 "leaf" : 1,
9fda36b0 3351 "path" : "/config/ruledb/when/{ogroup}/timeframe/{id}",
eff914dc
DM
3352 "text" : "{id}"
3353 }
3354 ],
3355 "info" : {
3356 "POST" : {
6bd70b95 3357 "allowtoken" : 1,
9fda36b0 3358 "description" : "Add 'TimeFrame' object.",
eff914dc 3359 "method" : "POST",
9fda36b0 3360 "name" : "timeframe",
eff914dc
DM
3361 "parameters" : {
3362 "additionalProperties" : 0,
3363 "properties" : {
9fda36b0
DM
3364 "end" : {
3365 "description" : "End time in `H:i` format (00:00).",
3366 "pattern" : "\\d?\\d:\\d?\\d",
3367 "type" : "string"
eff914dc
DM
3368 },
3369 "ogroup" : {
3370 "description" : "Object Groups ID.",
3371 "type" : "integer",
3372 "typetext" : "<integer>"
9fda36b0
DM
3373 },
3374 "start" : {
3375 "description" : "Start time in `H:i` format (00:00).",
3376 "pattern" : "\\d?\\d:\\d?\\d",
3377 "type" : "string"
eff914dc
DM
3378 }
3379 }
3380 },
c061d61d
DM
3381 "permissions" : {
3382 "check" : [
3383 "admin"
3384 ]
3385 },
a55e94a6 3386 "protected" : 1,
eff914dc
DM
3387 "proxyto" : "master",
3388 "returns" : {
3389 "description" : "The object ID.",
3390 "type" : "integer"
3391 }
3392 }
3393 },
3394 "leaf" : 0,
9fda36b0
DM
3395 "path" : "/config/ruledb/when/{ogroup}/timeframe",
3396 "text" : "timeframe"
3397 }
3398 ],
3399 "info" : {
3400 "DELETE" : {
6bd70b95 3401 "allowtoken" : 1,
9fda36b0
DM
3402 "description" : "Delete a 'when' group.",
3403 "method" : "DELETE",
3404 "name" : "delete_{$oclass}_group",
3405 "parameters" : {
3406 "additionalProperties" : 0,
3407 "properties" : {
3408 "ogroup" : {
3409 "description" : "Object Group ID.",
3410 "type" : "integer",
3411 "typetext" : "<integer>"
3412 }
3413 }
3414 },
732d76e1
DM
3415 "permissions" : {
3416 "check" : [
3417 "admin"
3418 ]
3419 },
9fda36b0
DM
3420 "protected" : 1,
3421 "proxyto" : "master",
3422 "returns" : {
3423 "type" : "null"
3424 }
3425 },
3426 "GET" : {
6bd70b95 3427 "allowtoken" : 1,
9fda36b0
DM
3428 "description" : "Directory index.",
3429 "method" : "GET",
3430 "name" : "index",
3431 "parameters" : {
3432 "additionalProperties" : 0,
3433 "properties" : {
3434 "ogroup" : {
3435 "description" : "Object Group ID.",
3436 "type" : "integer",
3437 "typetext" : "<integer>"
3438 }
3439 }
3440 },
732d76e1
DM
3441 "permissions" : {
3442 "check" : [
3443 "admin",
3444 "audit"
3445 ]
3446 },
9fda36b0
DM
3447 "returns" : {
3448 "items" : {
3449 "properties" : {
3450 "subdir" : {
3451 "type" : "string"
eff914dc
DM
3452 }
3453 },
9fda36b0
DM
3454 "type" : "object"
3455 },
3456 "links" : [
3457 {
3458 "href" : "{subdir}",
3459 "rel" : "child"
3460 }
3461 ],
3462 "type" : "array"
3463 }
3464 }
3465 },
3466 "leaf" : 0,
3467 "path" : "/config/ruledb/when/{ogroup}",
3468 "text" : "{ogroup}"
3469 }
3470 ],
3471 "info" : {
3472 "GET" : {
6bd70b95 3473 "allowtoken" : 1,
9fda36b0
DM
3474 "description" : "Get list of 'when' groups.",
3475 "method" : "GET",
3476 "name" : "list_when_groups",
3477 "parameters" : {
3478 "additionalProperties" : 0
3479 },
732d76e1
DM
3480 "permissions" : {
3481 "check" : [
3482 "admin",
3483 "audit"
3484 ]
3485 },
9fda36b0
DM
3486 "proxyto" : "master",
3487 "returns" : {
3488 "items" : {
3489 "properties" : {
3490 "id" : {
3491 "type" : "integer"
eff914dc 3492 }
9fda36b0
DM
3493 },
3494 "type" : "object"
3495 },
3496 "type" : "array"
3497 }
3498 },
3499 "POST" : {
6bd70b95 3500 "allowtoken" : 1,
9fda36b0
DM
3501 "description" : "Create a new 'when' group.",
3502 "method" : "POST",
3503 "name" : "create_when_group",
3504 "parameters" : {
3505 "additionalProperties" : 0,
3506 "properties" : {
cbd73e8f
TL
3507 "and" : {
3508 "default" : 0,
3509 "description" : "If set to 1, objects in this group are 'and' combined.",
3510 "optional" : 1,
3511 "type" : "boolean",
3512 "typetext" : "<boolean>"
3513 },
eff914dc 3514 "info" : {
9fda36b0
DM
3515 "description" : "Informational comment.",
3516 "maxLength" : 255,
3517 "optional" : 1,
3518 "type" : "string",
3519 "typetext" : "<string>"
3520 },
cbd73e8f
TL
3521 "invert" : {
3522 "default" : 0,
3523 "description" : "If set to 1, the resulting match is inverted.",
3524 "optional" : 1,
3525 "type" : "boolean",
3526 "typetext" : "<boolean>"
3527 },
9fda36b0
DM
3528 "name" : {
3529 "description" : "Group name.",
3530 "maxLength" : 255,
3531 "type" : "string",
3532 "typetext" : "<string>"
3533 }
3534 }
3535 },
732d76e1
DM
3536 "permissions" : {
3537 "check" : [
3538 "admin"
3539 ]
3540 },
9fda36b0
DM
3541 "protected" : 1,
3542 "proxyto" : "master",
3543 "returns" : {
3544 "type" : "integer"
3545 }
3546 }
3547 },
3548 "leaf" : 0,
3549 "path" : "/config/ruledb/when",
3550 "text" : "when"
3551 },
3552 {
3553 "children" : [
3554 {
3555 "children" : [
3556 {
3557 "info" : {
3558 "GET" : {
6bd70b95 3559 "allowtoken" : 1,
9fda36b0
DM
3560 "description" : "Get 'who' group properties",
3561 "method" : "GET",
3562 "name" : "get_config",
eff914dc
DM
3563 "parameters" : {
3564 "additionalProperties" : 0,
3565 "properties" : {
9fda36b0
DM
3566 "ogroup" : {
3567 "description" : "Object Group ID.",
3568 "type" : "integer",
3569 "typetext" : "<integer>"
3570 }
3571 }
3572 },
732d76e1
DM
3573 "permissions" : {
3574 "check" : [
3575 "admin",
3576 "audit"
3577 ]
3578 },
9fda36b0
DM
3579 "proxyto" : "master",
3580 "returns" : {
3581 "properties" : {
3582 "id" : {
3583 "type" : "integer"
3584 },
3585 "info" : {
3586 "type" : "string"
3587 },
3588 "name" : {
3589 "type" : "string"
3590 }
3591 },
3592 "type" : "object"
3593 }
3594 },
3595 "PUT" : {
6bd70b95 3596 "allowtoken" : 1,
9fda36b0
DM
3597 "description" : "Modify 'who' group properties",
3598 "method" : "PUT",
3599 "name" : "set_config",
3600 "parameters" : {
3601 "additionalProperties" : 0,
3602 "properties" : {
cbd73e8f
TL
3603 "and" : {
3604 "default" : 0,
3605 "description" : "If set to 1, objects in this group are 'and' combined.",
3606 "optional" : 1,
3607 "type" : "boolean",
3608 "typetext" : "<boolean>"
3609 },
9fda36b0
DM
3610 "info" : {
3611 "description" : "Informational comment.",
3612 "maxLength" : 255,
3613 "optional" : 1,
3614 "type" : "string",
3615 "typetext" : "<string>"
3616 },
cbd73e8f
TL
3617 "invert" : {
3618 "default" : 0,
3619 "description" : "If set to 1, the resulting match is inverted.",
3620 "optional" : 1,
3621 "type" : "boolean",
3622 "typetext" : "<boolean>"
3623 },
9fda36b0
DM
3624 "name" : {
3625 "description" : "Group name.",
3626 "maxLength" : 255,
3627 "optional" : 1,
eff914dc
DM
3628 "type" : "string",
3629 "typetext" : "<string>"
3630 },
3631 "ogroup" : {
9fda36b0 3632 "description" : "Object Group ID.",
eff914dc
DM
3633 "type" : "integer",
3634 "typetext" : "<integer>"
3635 }
3636 }
3637 },
732d76e1
DM
3638 "permissions" : {
3639 "check" : [
3640 "admin"
3641 ]
3642 },
a55e94a6 3643 "protected" : 1,
eff914dc
DM
3644 "proxyto" : "master",
3645 "returns" : {
9fda36b0 3646 "type" : "null"
eff914dc
DM
3647 }
3648 }
3649 },
9fda36b0
DM
3650 "leaf" : 1,
3651 "path" : "/config/ruledb/who/{ogroup}/config",
3652 "text" : "config"
eff914dc
DM
3653 },
3654 {
3655 "children" : [
3656 {
3657 "info" : {
9fda36b0 3658 "DELETE" : {
6bd70b95 3659 "allowtoken" : 1,
9fda36b0
DM
3660 "description" : "Remove an object from the 'who' group.",
3661 "method" : "DELETE",
3662 "name" : "delete_object",
eff914dc
DM
3663 "parameters" : {
3664 "additionalProperties" : 0,
3665 "properties" : {
3666 "id" : {
3667 "description" : "Object ID.",
3668 "type" : "integer",
3669 "typetext" : "<integer>"
3670 },
3671 "ogroup" : {
9fda36b0 3672 "description" : "Object Group ID.",
eff914dc
DM
3673 "type" : "integer",
3674 "typetext" : "<integer>"
3675 }
3676 }
3677 },
732d76e1
DM
3678 "permissions" : {
3679 "check" : [
3680 "admin"
3681 ]
3682 },
9fda36b0 3683 "protected" : 1,
eff914dc
DM
3684 "proxyto" : "master",
3685 "returns" : {
9fda36b0 3686 "type" : "null"
eff914dc
DM
3687 }
3688 }
3689 },
3690 "leaf" : 1,
9fda36b0 3691 "path" : "/config/ruledb/who/{ogroup}/objects/{id}",
eff914dc
DM
3692 "text" : "{id}"
3693 }
3694 ],
3695 "info" : {
9fda36b0 3696 "GET" : {
6bd70b95 3697 "allowtoken" : 1,
9fda36b0
DM
3698 "description" : "List 'who' group objects.",
3699 "method" : "GET",
3700 "name" : "objects",
eff914dc
DM
3701 "parameters" : {
3702 "additionalProperties" : 0,
3703 "properties" : {
3704 "ogroup" : {
9fda36b0 3705 "description" : "Object Group ID.",
eff914dc
DM
3706 "type" : "integer",
3707 "typetext" : "<integer>"
eff914dc
DM
3708 }
3709 }
3710 },
732d76e1
DM
3711 "permissions" : {
3712 "check" : [
3713 "admin",
3714 "audit"
3715 ]
3716 },
eff914dc
DM
3717 "proxyto" : "master",
3718 "returns" : {
9fda36b0
DM
3719 "items" : {
3720 "properties" : {
3721 "id" : {
3722 "type" : "integer"
3723 }
3724 },
3725 "type" : "object"
3726 },
3727 "links" : [
3728 {
3729 "href" : "{id}",
3730 "rel" : "child"
3731 }
3732 ],
3733 "type" : "array"
eff914dc
DM
3734 }
3735 }
3736 },
3737 "leaf" : 0,
9fda36b0
DM
3738 "path" : "/config/ruledb/who/{ogroup}/objects",
3739 "text" : "objects"
eff914dc
DM
3740 },
3741 {
3742 "children" : [
3743 {
3744 "info" : {
3745 "GET" : {
6bd70b95 3746 "allowtoken" : 1,
9fda36b0 3747 "description" : "Read 'Mail address' object settings.",
eff914dc 3748 "method" : "GET",
9fda36b0 3749 "name" : "read_email",
eff914dc
DM
3750 "parameters" : {
3751 "additionalProperties" : 0,
3752 "properties" : {
3753 "id" : {
3754 "description" : "Object ID.",
3755 "type" : "integer",
3756 "typetext" : "<integer>"
3757 },
3758 "ogroup" : {
3759 "description" : "Object Groups ID.",
3760 "type" : "integer",
3761 "typetext" : "<integer>"
3762 }
3763 }
3764 },
c061d61d
DM
3765 "permissions" : {
3766 "check" : [
3767 "admin",
3768 "audit"
3769 ]
3770 },
eff914dc
DM
3771 "proxyto" : "master",
3772 "returns" : {
3773 "properties" : {
3774 "id" : {
3775 "type" : "integer"
3776 }
3777 },
3778 "type" : "object"
3779 }
3780 },
3781 "PUT" : {
6bd70b95 3782 "allowtoken" : 1,
9fda36b0 3783 "description" : "Update 'Mail address' object.",
eff914dc 3784 "method" : "PUT",
9fda36b0 3785 "name" : "update_email",
eff914dc
DM
3786 "parameters" : {
3787 "additionalProperties" : 0,
3788 "properties" : {
9fda36b0
DM
3789 "email" : {
3790 "description" : "Email address.",
3791 "format" : "email",
3792 "type" : "string",
3793 "typetext" : "<string>"
3794 },
eff914dc
DM
3795 "id" : {
3796 "description" : "Object ID.",
3797 "type" : "integer",
3798 "typetext" : "<integer>"
3799 },
eff914dc
DM
3800 "ogroup" : {
3801 "description" : "Object Groups ID.",
3802 "type" : "integer",
3803 "typetext" : "<integer>"
3804 }
3805 }
3806 },
c061d61d
DM
3807 "permissions" : {
3808 "check" : [
3809 "admin"
3810 ]
3811 },
a55e94a6 3812 "protected" : 1,
eff914dc
DM
3813 "proxyto" : "master",
3814 "returns" : {
3815 "type" : "null"
3816 }
3817 }
3818 },
3819 "leaf" : 1,
9fda36b0 3820 "path" : "/config/ruledb/who/{ogroup}/email/{id}",
eff914dc
DM
3821 "text" : "{id}"
3822 }
3823 ],
3824 "info" : {
3825 "POST" : {
6bd70b95 3826 "allowtoken" : 1,
9fda36b0 3827 "description" : "Add 'Mail address' object.",
eff914dc 3828 "method" : "POST",
9fda36b0 3829 "name" : "email",
eff914dc
DM
3830 "parameters" : {
3831 "additionalProperties" : 0,
3832 "properties" : {
9fda36b0
DM
3833 "email" : {
3834 "description" : "Email address.",
3835 "format" : "email",
eff914dc
DM
3836 "type" : "string",
3837 "typetext" : "<string>"
3838 },
3839 "ogroup" : {
3840 "description" : "Object Groups ID.",
3841 "type" : "integer",
3842 "typetext" : "<integer>"
3843 }
3844 }
3845 },
c061d61d
DM
3846 "permissions" : {
3847 "check" : [
3848 "admin"
3849 ]
3850 },
a55e94a6 3851 "protected" : 1,
eff914dc
DM
3852 "proxyto" : "master",
3853 "returns" : {
3854 "description" : "The object ID.",
3855 "type" : "integer"
3856 }
3857 }
3858 },
3859 "leaf" : 0,
9fda36b0
DM
3860 "path" : "/config/ruledb/who/{ogroup}/email",
3861 "text" : "email"
eff914dc
DM
3862 },
3863 {
3864 "children" : [
3865 {
3866 "info" : {
3867 "GET" : {
6bd70b95 3868 "allowtoken" : 1,
9fda36b0 3869 "description" : "Read 'Domain' object settings.",
eff914dc 3870 "method" : "GET",
9fda36b0 3871 "name" : "read_domain",
eff914dc
DM
3872 "parameters" : {
3873 "additionalProperties" : 0,
3874 "properties" : {
3875 "id" : {
3876 "description" : "Object ID.",
3877 "type" : "integer",
3878 "typetext" : "<integer>"
3879 },
3880 "ogroup" : {
3881 "description" : "Object Groups ID.",
3882 "type" : "integer",
3883 "typetext" : "<integer>"
3884 }
3885 }
3886 },
c061d61d
DM
3887 "permissions" : {
3888 "check" : [
3889 "admin",
3890 "audit"
3891 ]
3892 },
eff914dc
DM
3893 "proxyto" : "master",
3894 "returns" : {
3895 "properties" : {
3896 "id" : {
3897 "type" : "integer"
3898 }
3899 },
3900 "type" : "object"
3901 }
3902 },
3903 "PUT" : {
6bd70b95 3904 "allowtoken" : 1,
9fda36b0 3905 "description" : "Update 'Domain' object.",
eff914dc 3906 "method" : "PUT",
9fda36b0 3907 "name" : "update_domain",
eff914dc
DM
3908 "parameters" : {
3909 "additionalProperties" : 0,
3910 "properties" : {
9fda36b0
DM
3911 "domain" : {
3912 "description" : "DNS domain name (Sender).",
3913 "format" : "dns-name",
eff914dc
DM
3914 "type" : "string",
3915 "typetext" : "<string>"
3916 },
3917 "id" : {
3918 "description" : "Object ID.",
3919 "type" : "integer",
3920 "typetext" : "<integer>"
3921 },
3922 "ogroup" : {
3923 "description" : "Object Groups ID.",
3924 "type" : "integer",
3925 "typetext" : "<integer>"
3926 }
3927 }
3928 },
c061d61d
DM
3929 "permissions" : {
3930 "check" : [
3931 "admin"
3932 ]
3933 },
a55e94a6 3934 "protected" : 1,
eff914dc
DM
3935 "proxyto" : "master",
3936 "returns" : {
3937 "type" : "null"
3938 }
3939 }
3940 },
3941 "leaf" : 1,
9fda36b0 3942 "path" : "/config/ruledb/who/{ogroup}/domain/{id}",
eff914dc
DM
3943 "text" : "{id}"
3944 }
3945 ],
3946 "info" : {
3947 "POST" : {
6bd70b95 3948 "allowtoken" : 1,
9fda36b0 3949 "description" : "Add 'Domain' object.",
eff914dc 3950 "method" : "POST",
9fda36b0 3951 "name" : "domain",
eff914dc
DM
3952 "parameters" : {
3953 "additionalProperties" : 0,
3954 "properties" : {
9fda36b0
DM
3955 "domain" : {
3956 "description" : "DNS domain name (Sender).",
3957 "format" : "dns-name",
eff914dc
DM
3958 "type" : "string",
3959 "typetext" : "<string>"
3960 },
3961 "ogroup" : {
3962 "description" : "Object Groups ID.",
3963 "type" : "integer",
3964 "typetext" : "<integer>"
3965 }
3966 }
3967 },
c061d61d
DM
3968 "permissions" : {
3969 "check" : [
3970 "admin"
3971 ]
3972 },
a55e94a6 3973 "protected" : 1,
eff914dc
DM
3974 "proxyto" : "master",
3975 "returns" : {
3976 "description" : "The object ID.",
3977 "type" : "integer"
3978 }
3979 }
3980 },
3981 "leaf" : 0,
9fda36b0
DM
3982 "path" : "/config/ruledb/who/{ogroup}/domain",
3983 "text" : "domain"
a55e94a6
DM
3984 },
3985 {
3986 "children" : [
3987 {
3988 "info" : {
3989 "GET" : {
6bd70b95 3990 "allowtoken" : 1,
9fda36b0 3991 "description" : "Read 'Regular Expression' object settings.",
a55e94a6 3992 "method" : "GET",
9fda36b0 3993 "name" : "read_regex",
a55e94a6
DM
3994 "parameters" : {
3995 "additionalProperties" : 0,
3996 "properties" : {
3997 "id" : {
3998 "description" : "Object ID.",
3999 "type" : "integer",
4000 "typetext" : "<integer>"
4001 },
4002 "ogroup" : {
4003 "description" : "Object Groups ID.",
4004 "type" : "integer",
4005 "typetext" : "<integer>"
4006 }
4007 }
4008 },
c061d61d
DM
4009 "permissions" : {
4010 "check" : [
4011 "admin",
4012 "audit"
4013 ]
4014 },
a55e94a6
DM
4015 "proxyto" : "master",
4016 "returns" : {
4017 "properties" : {
4018 "id" : {
4019 "type" : "integer"
4020 }
4021 },
4022 "type" : "object"
4023 }
4024 },
4025 "PUT" : {
6bd70b95 4026 "allowtoken" : 1,
9fda36b0 4027 "description" : "Update 'Regular Expression' object.",
a55e94a6 4028 "method" : "PUT",
9fda36b0 4029 "name" : "update_regex",
a55e94a6
DM
4030 "parameters" : {
4031 "additionalProperties" : 0,
4032 "properties" : {
a55e94a6
DM
4033 "id" : {
4034 "description" : "Object ID.",
4035 "type" : "integer",
4036 "typetext" : "<integer>"
4037 },
a55e94a6
DM
4038 "ogroup" : {
4039 "description" : "Object Groups ID.",
4040 "type" : "integer",
4041 "typetext" : "<integer>"
4042 },
9fda36b0
DM
4043 "regex" : {
4044 "description" : "Email address regular expression.",
4045 "maxLength" : 1024,
a55e94a6
DM
4046 "type" : "string",
4047 "typetext" : "<string>"
4048 }
4049 }
4050 },
c061d61d
DM
4051 "permissions" : {
4052 "check" : [
4053 "admin"
4054 ]
4055 },
a55e94a6
DM
4056 "protected" : 1,
4057 "proxyto" : "master",
4058 "returns" : {
4059 "type" : "null"
4060 }
4061 }
4062 },
4063 "leaf" : 1,
9fda36b0 4064 "path" : "/config/ruledb/who/{ogroup}/regex/{id}",
a55e94a6
DM
4065 "text" : "{id}"
4066 }
4067 ],
4068 "info" : {
4069 "POST" : {
6bd70b95 4070 "allowtoken" : 1,
9fda36b0 4071 "description" : "Add 'Regular Expression' object.",
a55e94a6 4072 "method" : "POST",
9fda36b0 4073 "name" : "regex",
a55e94a6
DM
4074 "parameters" : {
4075 "additionalProperties" : 0,
4076 "properties" : {
a55e94a6
DM
4077 "ogroup" : {
4078 "description" : "Object Groups ID.",
4079 "type" : "integer",
4080 "typetext" : "<integer>"
4081 },
9fda36b0
DM
4082 "regex" : {
4083 "description" : "Email address regular expression.",
4084 "maxLength" : 1024,
a55e94a6
DM
4085 "type" : "string",
4086 "typetext" : "<string>"
4087 }
4088 }
4089 },
c061d61d
DM
4090 "permissions" : {
4091 "check" : [
4092 "admin"
4093 ]
4094 },
a55e94a6
DM
4095 "protected" : 1,
4096 "proxyto" : "master",
4097 "returns" : {
4098 "description" : "The object ID.",
4099 "type" : "integer"
4100 }
4101 }
4102 },
4103 "leaf" : 0,
9fda36b0
DM
4104 "path" : "/config/ruledb/who/{ogroup}/regex",
4105 "text" : "regex"
a55e94a6
DM
4106 },
4107 {
4108 "children" : [
4109 {
4110 "info" : {
4111 "GET" : {
6bd70b95 4112 "allowtoken" : 1,
9fda36b0 4113 "description" : "Read 'IP Address' object settings.",
a55e94a6 4114 "method" : "GET",
9fda36b0 4115 "name" : "read_ip",
a55e94a6
DM
4116 "parameters" : {
4117 "additionalProperties" : 0,
4118 "properties" : {
4119 "id" : {
4120 "description" : "Object ID.",
4121 "type" : "integer",
4122 "typetext" : "<integer>"
4123 },
4124 "ogroup" : {
4125 "description" : "Object Groups ID.",
4126 "type" : "integer",
4127 "typetext" : "<integer>"
4128 }
4129 }
4130 },
c061d61d
DM
4131 "permissions" : {
4132 "check" : [
4133 "admin",
4134 "audit"
4135 ]
4136 },
a55e94a6
DM
4137 "proxyto" : "master",
4138 "returns" : {
4139 "properties" : {
4140 "id" : {
4141 "type" : "integer"
4142 }
4143 },
4144 "type" : "object"
4145 }
4146 },
4147 "PUT" : {
6bd70b95 4148 "allowtoken" : 1,
9fda36b0 4149 "description" : "Update 'IP Address' object.",
a55e94a6 4150 "method" : "PUT",
9fda36b0 4151 "name" : "update_ip",
a55e94a6
DM
4152 "parameters" : {
4153 "additionalProperties" : 0,
4154 "properties" : {
a55e94a6
DM
4155 "id" : {
4156 "description" : "Object ID.",
4157 "type" : "integer",
4158 "typetext" : "<integer>"
4159 },
9fda36b0
DM
4160 "ip" : {
4161 "description" : "IP address",
4162 "format" : "ip",
4163 "type" : "string",
4164 "typetext" : "<string>"
4165 },
a55e94a6
DM
4166 "ogroup" : {
4167 "description" : "Object Groups ID.",
4168 "type" : "integer",
4169 "typetext" : "<integer>"
a55e94a6
DM
4170 }
4171 }
4172 },
c061d61d
DM
4173 "permissions" : {
4174 "check" : [
4175 "admin"
4176 ]
4177 },
a55e94a6
DM
4178 "protected" : 1,
4179 "proxyto" : "master",
4180 "returns" : {
4181 "type" : "null"
4182 }
4183 }
4184 },
4185 "leaf" : 1,
9fda36b0 4186 "path" : "/config/ruledb/who/{ogroup}/ip/{id}",
a55e94a6
DM
4187 "text" : "{id}"
4188 }
4189 ],
4190 "info" : {
4191 "POST" : {
6bd70b95 4192 "allowtoken" : 1,
9fda36b0 4193 "description" : "Add 'IP Address' object.",
a55e94a6 4194 "method" : "POST",
9fda36b0 4195 "name" : "ip",
a55e94a6
DM
4196 "parameters" : {
4197 "additionalProperties" : 0,
4198 "properties" : {
9fda36b0
DM
4199 "ip" : {
4200 "description" : "IP address",
4201 "format" : "ip",
a55e94a6
DM
4202 "type" : "string",
4203 "typetext" : "<string>"
4204 },
4205 "ogroup" : {
4206 "description" : "Object Groups ID.",
4207 "type" : "integer",
4208 "typetext" : "<integer>"
a55e94a6
DM
4209 }
4210 }
4211 },
c061d61d
DM
4212 "permissions" : {
4213 "check" : [
4214 "admin"
4215 ]
4216 },
a55e94a6
DM
4217 "protected" : 1,
4218 "proxyto" : "master",
4219 "returns" : {
4220 "description" : "The object ID.",
4221 "type" : "integer"
4222 }
4223 }
4224 },
4225 "leaf" : 0,
9fda36b0
DM
4226 "path" : "/config/ruledb/who/{ogroup}/ip",
4227 "text" : "ip"
eff914dc 4228 },
9fda36b0
DM
4229 {
4230 "children" : [
4231 {
4232 "info" : {
4233 "GET" : {
6bd70b95 4234 "allowtoken" : 1,
9fda36b0
DM
4235 "description" : "Read 'IP Network' object settings.",
4236 "method" : "GET",
4237 "name" : "read_network",
4238 "parameters" : {
4239 "additionalProperties" : 0,
4240 "properties" : {
4241 "id" : {
4242 "description" : "Object ID.",
4243 "type" : "integer",
4244 "typetext" : "<integer>"
4245 },
4246 "ogroup" : {
4247 "description" : "Object Groups ID.",
4248 "type" : "integer",
4249 "typetext" : "<integer>"
4250 }
4251 }
4252 },
c061d61d
DM
4253 "permissions" : {
4254 "check" : [
4255 "admin",
4256 "audit"
4257 ]
4258 },
9fda36b0
DM
4259 "proxyto" : "master",
4260 "returns" : {
4261 "properties" : {
4262 "id" : {
4263 "type" : "integer"
4264 }
4265 },
4266 "type" : "object"
4267 }
4268 },
4269 "PUT" : {
6bd70b95 4270 "allowtoken" : 1,
9fda36b0
DM
4271 "description" : "Update 'IP Network' object.",
4272 "method" : "PUT",
4273 "name" : "update_network",
4274 "parameters" : {
4275 "additionalProperties" : 0,
4276 "properties" : {
4277 "cidr" : {
4278 "description" : "Network address in CIDR notation.",
4279 "format" : "CIDR",
4280 "type" : "string",
4281 "typetext" : "<string>"
4282 },
4283 "id" : {
4284 "description" : "Object ID.",
4285 "type" : "integer",
4286 "typetext" : "<integer>"
4287 },
4288 "ogroup" : {
4289 "description" : "Object Groups ID.",
4290 "type" : "integer",
4291 "typetext" : "<integer>"
4292 }
4293 }
4294 },
c061d61d
DM
4295 "permissions" : {
4296 "check" : [
4297 "admin"
4298 ]
4299 },
9fda36b0
DM
4300 "protected" : 1,
4301 "proxyto" : "master",
4302 "returns" : {
4303 "type" : "null"
4304 }
4305 }
4306 },
4307 "leaf" : 1,
4308 "path" : "/config/ruledb/who/{ogroup}/network/{id}",
4309 "text" : "{id}"
eff914dc 4310 }
9fda36b0
DM
4311 ],
4312 "info" : {
4313 "POST" : {
6bd70b95 4314 "allowtoken" : 1,
9fda36b0
DM
4315 "description" : "Add 'IP Network' object.",
4316 "method" : "POST",
4317 "name" : "network",
4318 "parameters" : {
4319 "additionalProperties" : 0,
4320 "properties" : {
4321 "cidr" : {
4322 "description" : "Network address in CIDR notation.",
4323 "format" : "CIDR",
4324 "type" : "string",
4325 "typetext" : "<string>"
4326 },
4327 "ogroup" : {
4328 "description" : "Object Groups ID.",
4329 "type" : "integer",
4330 "typetext" : "<integer>"
4331 }
eff914dc
DM
4332 }
4333 },
c061d61d
DM
4334 "permissions" : {
4335 "check" : [
4336 "admin"
4337 ]
4338 },
9fda36b0
DM
4339 "protected" : 1,
4340 "proxyto" : "master",
4341 "returns" : {
4342 "description" : "The object ID.",
4343 "type" : "integer"
eff914dc 4344 }
eff914dc
DM
4345 }
4346 },
9fda36b0
DM
4347 "leaf" : 0,
4348 "path" : "/config/ruledb/who/{ogroup}/network",
4349 "text" : "network"
410dc2c9 4350 },
9fda36b0
DM
4351 {
4352 "children" : [
4353 {
4354 "info" : {
4355 "GET" : {
6bd70b95 4356 "allowtoken" : 1,
9fda36b0
DM
4357 "description" : "Read 'LDAP Group' object settings.",
4358 "method" : "GET",
4359 "name" : "read_ldap",
4360 "parameters" : {
4361 "additionalProperties" : 0,
4362 "properties" : {
4363 "id" : {
4364 "description" : "Object ID.",
4365 "type" : "integer",
4366 "typetext" : "<integer>"
4367 },
4368 "ogroup" : {
4369 "description" : "Object Groups ID.",
4370 "type" : "integer",
4371 "typetext" : "<integer>"
4372 }
4373 }
4374 },
c061d61d
DM
4375 "permissions" : {
4376 "check" : [
4377 "admin",
4378 "audit"
4379 ]
4380 },
9fda36b0
DM
4381 "proxyto" : "master",
4382 "returns" : {
4383 "properties" : {
4384 "id" : {
4385 "type" : "integer"
4386 }
4387 },
4388 "type" : "object"
4389 }
4390 },
4391 "PUT" : {
6bd70b95 4392 "allowtoken" : 1,
9fda36b0
DM
4393 "description" : "Update 'LDAP Group' object.",
4394 "method" : "PUT",
4395 "name" : "update_ldap",
4396 "parameters" : {
4397 "additionalProperties" : 0,
4398 "properties" : {
4399 "group" : {
4400 "description" : "LDAP Group DN",
4401 "maxLength" : 1024,
4402 "minLength" : 1,
4403 "optional" : 1,
4404 "type" : "string",
4405 "typetext" : "<string>"
4406 },
4407 "id" : {
4408 "description" : "Object ID.",
4409 "type" : "integer",
4410 "typetext" : "<integer>"
4411 },
4412 "mode" : {
4413 "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.",
4414 "enum" : [
4415 "any",
4416 "none",
4417 "group"
4418 ],
4419 "type" : "string"
4420 },
4421 "ogroup" : {
4422 "description" : "Object Groups ID.",
4423 "type" : "integer",
4424 "typetext" : "<integer>"
4425 },
4426 "profile" : {
4427 "description" : "Profile ID.",
4428 "format" : "pve-configid",
4429 "optional" : 1,
4430 "type" : "string",
4431 "typetext" : "<string>"
4432 }
4433 }
4434 },
c061d61d
DM
4435 "permissions" : {
4436 "check" : [
4437 "admin"
4438 ]
4439 },
9fda36b0
DM
4440 "protected" : 1,
4441 "proxyto" : "master",
4442 "returns" : {
4443 "type" : "null"
4444 }
4445 }
4446 },
4447 "leaf" : 1,
4448 "path" : "/config/ruledb/who/{ogroup}/ldap/{id}",
4449 "text" : "{id}"
4450 }
4451 ],
4452 "info" : {
4453 "POST" : {
6bd70b95 4454 "allowtoken" : 1,
9fda36b0
DM
4455 "description" : "Add 'LDAP Group' object.",
4456 "method" : "POST",
4457 "name" : "ldap",
4458 "parameters" : {
4459 "additionalProperties" : 0,
4460 "properties" : {
4461 "group" : {
4462 "description" : "LDAP Group DN",
4463 "maxLength" : 1024,
4464 "minLength" : 1,
4465 "optional" : 1,
4466 "type" : "string",
4467 "typetext" : "<string>"
4468 },
4469 "mode" : {
4470 "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.",
4471 "enum" : [
4472 "any",
4473 "none",
4474 "group"
4475 ],
4476 "type" : "string"
4477 },
4478 "ogroup" : {
4479 "description" : "Object Groups ID.",
4480 "type" : "integer",
4481 "typetext" : "<integer>"
4482 },
4483 "profile" : {
4484 "description" : "Profile ID.",
4485 "format" : "pve-configid",
4486 "optional" : 1,
4487 "type" : "string",
4488 "typetext" : "<string>"
4489 }
4490 }
4491 },
c061d61d
DM
4492 "permissions" : {
4493 "check" : [
4494 "admin"
4495 ]
4496 },
9fda36b0
DM
4497 "protected" : 1,
4498 "proxyto" : "master",
4499 "returns" : {
4500 "description" : "The object ID.",
4501 "type" : "integer"
4502 }
4503 }
4504 },
4505 "leaf" : 0,
4506 "path" : "/config/ruledb/who/{ogroup}/ldap",
4507 "text" : "ldap"
4508 },
4509 {
4510 "children" : [
4511 {
4512 "info" : {
4513 "GET" : {
6bd70b95 4514 "allowtoken" : 1,
9fda36b0
DM
4515 "description" : "Read 'LDAP User' object settings.",
4516 "method" : "GET",
4517 "name" : "read_ldapuser",
4518 "parameters" : {
4519 "additionalProperties" : 0,
4520 "properties" : {
4521 "id" : {
4522 "description" : "Object ID.",
4523 "type" : "integer",
4524 "typetext" : "<integer>"
4525 },
4526 "ogroup" : {
4527 "description" : "Object Groups ID.",
4528 "type" : "integer",
4529 "typetext" : "<integer>"
4530 }
4531 }
4532 },
c061d61d
DM
4533 "permissions" : {
4534 "check" : [
4535 "admin",
4536 "audit"
4537 ]
4538 },
9fda36b0
DM
4539 "proxyto" : "master",
4540 "returns" : {
4541 "properties" : {
4542 "id" : {
4543 "type" : "integer"
4544 }
4545 },
4546 "type" : "object"
4547 }
4548 },
4549 "PUT" : {
6bd70b95 4550 "allowtoken" : 1,
9fda36b0
DM
4551 "description" : "Update 'LDAP User' object.",
4552 "method" : "PUT",
4553 "name" : "update_ldapuser",
4554 "parameters" : {
4555 "additionalProperties" : 0,
4556 "properties" : {
4557 "account" : {
4558 "description" : "LDAP user account name.",
4559 "maxLength" : 1024,
4560 "minLength" : 1,
4561 "type" : "string",
4562 "typetext" : "<string>"
4563 },
4564 "id" : {
4565 "description" : "Object ID.",
4566 "type" : "integer",
4567 "typetext" : "<integer>"
4568 },
4569 "ogroup" : {
4570 "description" : "Object Groups ID.",
4571 "type" : "integer",
4572 "typetext" : "<integer>"
4573 },
4574 "profile" : {
4575 "description" : "Profile ID.",
4576 "format" : "pve-configid",
4577 "type" : "string",
4578 "typetext" : "<string>"
4579 }
4580 }
4581 },
c061d61d
DM
4582 "permissions" : {
4583 "check" : [
4584 "admin"
4585 ]
4586 },
9fda36b0
DM
4587 "protected" : 1,
4588 "proxyto" : "master",
4589 "returns" : {
4590 "type" : "null"
4591 }
4592 }
4593 },
4594 "leaf" : 1,
4595 "path" : "/config/ruledb/who/{ogroup}/ldapuser/{id}",
4596 "text" : "{id}"
4597 }
4598 ],
4599 "info" : {
4600 "POST" : {
6bd70b95 4601 "allowtoken" : 1,
9fda36b0
DM
4602 "description" : "Add 'LDAP User' object.",
4603 "method" : "POST",
4604 "name" : "ldapuser",
4605 "parameters" : {
4606 "additionalProperties" : 0,
4607 "properties" : {
4608 "account" : {
4609 "description" : "LDAP user account name.",
4610 "maxLength" : 1024,
4611 "minLength" : 1,
4612 "type" : "string",
4613 "typetext" : "<string>"
4614 },
4615 "ogroup" : {
4616 "description" : "Object Groups ID.",
4617 "type" : "integer",
4618 "typetext" : "<integer>"
4619 },
4620 "profile" : {
4621 "description" : "Profile ID.",
4622 "format" : "pve-configid",
4623 "type" : "string",
4624 "typetext" : "<string>"
4625 }
4626 }
4627 },
c061d61d
DM
4628 "permissions" : {
4629 "check" : [
4630 "admin"
4631 ]
4632 },
9fda36b0
DM
4633 "protected" : 1,
4634 "proxyto" : "master",
4635 "returns" : {
4636 "description" : "The object ID.",
4637 "type" : "integer"
4638 }
4639 }
4640 },
4641 "leaf" : 0,
4642 "path" : "/config/ruledb/who/{ogroup}/ldapuser",
4643 "text" : "ldapuser"
4644 }
4645 ],
4646 "info" : {
4647 "DELETE" : {
6bd70b95 4648 "allowtoken" : 1,
9fda36b0
DM
4649 "description" : "Delete a 'who' group.",
4650 "method" : "DELETE",
4651 "name" : "delete_{$oclass}_group",
4652 "parameters" : {
4653 "additionalProperties" : 0,
4654 "properties" : {
4655 "ogroup" : {
4656 "description" : "Object Group ID.",
4657 "type" : "integer",
4658 "typetext" : "<integer>"
4659 }
4660 }
4661 },
732d76e1
DM
4662 "permissions" : {
4663 "check" : [
4664 "admin"
4665 ]
4666 },
9fda36b0
DM
4667 "protected" : 1,
4668 "proxyto" : "master",
4669 "returns" : {
4670 "type" : "null"
4671 }
4672 },
4673 "GET" : {
6bd70b95 4674 "allowtoken" : 1,
9fda36b0
DM
4675 "description" : "Directory index.",
4676 "method" : "GET",
4677 "name" : "index",
4678 "parameters" : {
4679 "additionalProperties" : 0,
4680 "properties" : {
4681 "ogroup" : {
4682 "description" : "Object Group ID.",
4683 "type" : "integer",
4684 "typetext" : "<integer>"
4685 }
4686 }
4687 },
732d76e1
DM
4688 "permissions" : {
4689 "check" : [
4690 "admin",
4691 "audit"
4692 ]
4693 },
9fda36b0
DM
4694 "returns" : {
4695 "items" : {
4696 "properties" : {
4697 "subdir" : {
4698 "type" : "string"
4699 }
4700 },
4701 "type" : "object"
4702 },
4703 "links" : [
4704 {
4705 "href" : "{subdir}",
4706 "rel" : "child"
4707 }
4708 ],
4709 "type" : "array"
4710 }
4711 }
4712 },
4713 "leaf" : 0,
4714 "path" : "/config/ruledb/who/{ogroup}",
4715 "text" : "{ogroup}"
4716 }
4717 ],
4718 "info" : {
4719 "GET" : {
6bd70b95 4720 "allowtoken" : 1,
9fda36b0
DM
4721 "description" : "Get list of 'who' groups.",
4722 "method" : "GET",
4723 "name" : "list_who_groups",
4724 "parameters" : {
4725 "additionalProperties" : 0
4726 },
732d76e1
DM
4727 "permissions" : {
4728 "check" : [
4729 "admin",
4730 "audit"
4731 ]
4732 },
9fda36b0
DM
4733 "proxyto" : "master",
4734 "returns" : {
4735 "items" : {
4736 "properties" : {
4737 "id" : {
4738 "type" : "integer"
4739 }
4740 },
4741 "type" : "object"
4742 },
4743 "type" : "array"
4744 }
4745 },
4746 "POST" : {
6bd70b95 4747 "allowtoken" : 1,
9fda36b0
DM
4748 "description" : "Create a new 'who' group.",
4749 "method" : "POST",
4750 "name" : "create_who_group",
4751 "parameters" : {
4752 "additionalProperties" : 0,
4753 "properties" : {
cbd73e8f
TL
4754 "and" : {
4755 "default" : 0,
4756 "description" : "If set to 1, objects in this group are 'and' combined.",
4757 "optional" : 1,
4758 "type" : "boolean",
4759 "typetext" : "<boolean>"
4760 },
eff914dc
DM
4761 "info" : {
4762 "description" : "Informational comment.",
4763 "maxLength" : 255,
4764 "optional" : 1,
4765 "type" : "string",
4766 "typetext" : "<string>"
4767 },
cbd73e8f
TL
4768 "invert" : {
4769 "default" : 0,
4770 "description" : "If set to 1, the resulting match is inverted.",
4771 "optional" : 1,
4772 "type" : "boolean",
4773 "typetext" : "<boolean>"
4774 },
eff914dc
DM
4775 "name" : {
4776 "description" : "Group name.",
4777 "maxLength" : 255,
4778 "type" : "string",
4779 "typetext" : "<string>"
4780 }
4781 }
4782 },
732d76e1
DM
4783 "permissions" : {
4784 "check" : [
4785 "admin"
4786 ]
4787 },
eff914dc
DM
4788 "protected" : 1,
4789 "proxyto" : "master",
4790 "returns" : {
4791 "type" : "integer"
4792 }
410dc2c9
DM
4793 }
4794 },
eff914dc 4795 "leaf" : 0,
410dc2c9
DM
4796 "path" : "/config/ruledb/who",
4797 "text" : "who"
4798 }
4799 ],
4800 "info" : {
4801 "GET" : {
6bd70b95 4802 "allowtoken" : 1,
410dc2c9
DM
4803 "description" : "Directory index.",
4804 "method" : "GET",
4805 "name" : "index",
4806 "parameters" : {
4807 "additionalProperties" : 0
4808 },
732d76e1
DM
4809 "permissions" : {
4810 "check" : [
4811 "admin",
4812 "audit"
4813 ]
4814 },
410dc2c9
DM
4815 "returns" : {
4816 "items" : {
4817 "properties" : {},
4818 "type" : "object"
4819 },
4820 "links" : [
4821 {
4822 "href" : "{name}",
4823 "rel" : "child"
4824 }
4825 ],
4826 "type" : "array"
4827 }
d7cd791b
DM
4828 },
4829 "POST" : {
6bd70b95 4830 "allowtoken" : 1,
d7cd791b
DM
4831 "description" : "Reset PMG rule database back to factory defaults.",
4832 "method" : "POST",
4833 "name" : "reset_ruledb",
4834 "parameters" : {
4835 "additionalProperties" : 0
4836 },
4a46ced6
DM
4837 "permissions" : {
4838 "check" : [
4839 "admin"
4840 ]
4841 },
d7cd791b
DM
4842 "protected" : 1,
4843 "returns" : {
4844 "type" : "null"
4845 }
410dc2c9
DM
4846 }
4847 },
4848 "leaf" : 0,
4849 "path" : "/config/ruledb",
4850 "text" : "ruledb"
4851 },
4852 {
4853 "children" : [
4854 {
eff914dc
DM
4855 "children" : [
4856 {
4857 "info" : {
4858 "DELETE" : {
6bd70b95 4859 "allowtoken" : 1,
eff914dc
DM
4860 "description" : "Remove an object from the SMTP whitelist.",
4861 "method" : "DELETE",
4862 "name" : "delete_object",
4863 "parameters" : {
4864 "additionalProperties" : 0,
4865 "properties" : {
4866 "id" : {
4867 "description" : "Object ID.",
4868 "type" : "integer",
4869 "typetext" : "<integer>"
4870 }
4871 }
4872 },
732d76e1
DM
4873 "permissions" : {
4874 "check" : [
4875 "admin"
4876 ]
4877 },
bb6e6e0d 4878 "protected" : 1,
eff914dc
DM
4879 "proxyto" : "master",
4880 "returns" : {
4881 "type" : "null"
4882 }
4883 }
4884 },
4885 "leaf" : 1,
4886 "path" : "/config/whitelist/objects/{id}",
4887 "text" : "{id}"
4888 }
4889 ],
410dc2c9 4890 "info" : {
eff914dc 4891 "GET" : {
6bd70b95 4892 "allowtoken" : 1,
eff914dc
DM
4893 "description" : "Get list of all SMTP whitelist entries.",
4894 "method" : "GET",
4895 "name" : "objects",
4896 "parameters" : {
4897 "additionalProperties" : 0
4898 },
732d76e1
DM
4899 "permissions" : {
4900 "check" : [
4901 "admin",
4902 "audit"
4903 ]
4904 },
eff914dc
DM
4905 "proxyto" : "master",
4906 "returns" : {
4907 "items" : {
4908 "properties" : {
4909 "id" : {
4910 "type" : "integer"
4911 }
4912 },
4913 "type" : "object"
4914 },
4915 "links" : [
4916 {
4917 "href" : "{id}",
4918 "rel" : "child"
4919 }
4920 ],
4921 "type" : "array"
4922 }
4923 }
4924 },
4925 "leaf" : 0,
4926 "path" : "/config/whitelist/objects",
4927 "text" : "objects"
4928 },
4929 {
4930 "children" : [
4931 {
4932 "info" : {
4933 "GET" : {
6bd70b95 4934 "allowtoken" : 1,
eff914dc
DM
4935 "description" : "Read 'Mail address' object settings.",
4936 "method" : "GET",
4937 "name" : "read_email",
4938 "parameters" : {
4939 "additionalProperties" : 0,
4940 "properties" : {
4941 "id" : {
4942 "description" : "Object ID.",
4943 "type" : "integer",
4944 "typetext" : "<integer>"
4945 }
4946 }
4947 },
c061d61d
DM
4948 "permissions" : {
4949 "check" : [
4950 "admin",
4951 "audit"
4952 ]
4953 },
eff914dc
DM
4954 "proxyto" : "master",
4955 "returns" : {
4956 "properties" : {
4957 "id" : {
4958 "type" : "integer"
4959 }
4960 },
4961 "type" : "object"
4962 }
4963 },
4964 "PUT" : {
6bd70b95 4965 "allowtoken" : 1,
eff914dc
DM
4966 "description" : "Update 'Mail address' object.",
4967 "method" : "PUT",
4968 "name" : "update_email",
4969 "parameters" : {
4970 "additionalProperties" : 0,
4971 "properties" : {
4972 "email" : {
4973 "description" : "Email address.",
4974 "format" : "email",
4975 "type" : "string",
4976 "typetext" : "<string>"
4977 },
4978 "id" : {
4979 "description" : "Object ID.",
4980 "type" : "integer",
4981 "typetext" : "<integer>"
4982 }
4983 }
4984 },
c061d61d
DM
4985 "permissions" : {
4986 "check" : [
4987 "admin"
4988 ]
4989 },
a55e94a6 4990 "protected" : 1,
eff914dc
DM
4991 "proxyto" : "master",
4992 "returns" : {
4993 "type" : "null"
4994 }
4995 }
4996 },
4997 "leaf" : 1,
4998 "path" : "/config/whitelist/email/{id}",
4999 "text" : "{id}"
5000 }
5001 ],
5002 "info" : {
5003 "POST" : {
6bd70b95 5004 "allowtoken" : 1,
eff914dc
DM
5005 "description" : "Add 'Mail address' object.",
5006 "method" : "POST",
5007 "name" : "email",
410dc2c9
DM
5008 "parameters" : {
5009 "additionalProperties" : 0,
5010 "properties" : {
eff914dc
DM
5011 "email" : {
5012 "description" : "Email address.",
5013 "format" : "email",
410dc2c9
DM
5014 "type" : "string",
5015 "typetext" : "<string>"
5016 }
5017 }
5018 },
c061d61d
DM
5019 "permissions" : {
5020 "check" : [
5021 "admin"
5022 ]
5023 },
a55e94a6 5024 "protected" : 1,
410dc2c9
DM
5025 "proxyto" : "master",
5026 "returns" : {
eff914dc
DM
5027 "description" : "The object ID.",
5028 "type" : "integer"
410dc2c9 5029 }
eff914dc
DM
5030 }
5031 },
5032 "leaf" : 0,
5033 "path" : "/config/whitelist/email",
5034 "text" : "email"
5035 },
5036 {
5037 "children" : [
5038 {
5039 "info" : {
5040 "GET" : {
6bd70b95 5041 "allowtoken" : 1,
eff914dc
DM
5042 "description" : "Read 'Mail address' object settings.",
5043 "method" : "GET",
5044 "name" : "read_receiver",
5045 "parameters" : {
5046 "additionalProperties" : 0,
5047 "properties" : {
5048 "id" : {
5049 "description" : "Object ID.",
5050 "type" : "integer",
5051 "typetext" : "<integer>"
5052 }
5053 }
5054 },
c061d61d
DM
5055 "permissions" : {
5056 "check" : [
5057 "admin",
5058 "audit"
5059 ]
5060 },
eff914dc
DM
5061 "proxyto" : "master",
5062 "returns" : {
5063 "properties" : {
5064 "id" : {
5065 "type" : "integer"
5066 }
5067 },
5068 "type" : "object"
5069 }
5070 },
5071 "PUT" : {
6bd70b95 5072 "allowtoken" : 1,
eff914dc
DM
5073 "description" : "Update 'Mail address' object.",
5074 "method" : "PUT",
5075 "name" : "update_receiver",
5076 "parameters" : {
5077 "additionalProperties" : 0,
5078 "properties" : {
5079 "email" : {
5080 "description" : "Email address.",
5081 "format" : "email",
5082 "type" : "string",
5083 "typetext" : "<string>"
5084 },
5085 "id" : {
5086 "description" : "Object ID.",
5087 "type" : "integer",
5088 "typetext" : "<integer>"
5089 }
5090 }
5091 },
c061d61d
DM
5092 "permissions" : {
5093 "check" : [
5094 "admin"
5095 ]
5096 },
a55e94a6 5097 "protected" : 1,
eff914dc
DM
5098 "proxyto" : "master",
5099 "returns" : {
5100 "type" : "null"
5101 }
5102 }
5103 },
5104 "leaf" : 1,
5105 "path" : "/config/whitelist/receiver/{id}",
5106 "text" : "{id}"
5107 }
5108 ],
5109 "info" : {
5110 "POST" : {
6bd70b95 5111 "allowtoken" : 1,
eff914dc
DM
5112 "description" : "Add 'Mail address' object.",
5113 "method" : "POST",
5114 "name" : "receiver",
410dc2c9
DM
5115 "parameters" : {
5116 "additionalProperties" : 0,
5117 "properties" : {
eff914dc
DM
5118 "email" : {
5119 "description" : "Email address.",
5120 "format" : "email",
410dc2c9
DM
5121 "type" : "string",
5122 "typetext" : "<string>"
5123 }
5124 }
5125 },
c061d61d
DM
5126 "permissions" : {
5127 "check" : [
5128 "admin"
5129 ]
5130 },
a55e94a6 5131 "protected" : 1,
410dc2c9 5132 "proxyto" : "master",
eff914dc
DM
5133 "returns" : {
5134 "description" : "The object ID.",
5135 "type" : "integer"
5136 }
5137 }
5138 },
5139 "leaf" : 0,
5140 "path" : "/config/whitelist/receiver",
5141 "text" : "receiver"
5142 },
5143 {
5144 "children" : [
5145 {
5146 "info" : {
5147 "GET" : {
6bd70b95 5148 "allowtoken" : 1,
eff914dc
DM
5149 "description" : "Read 'Domain' object settings.",
5150 "method" : "GET",
5151 "name" : "read_domain",
5152 "parameters" : {
5153 "additionalProperties" : 0,
5154 "properties" : {
5155 "id" : {
5156 "description" : "Object ID.",
5157 "type" : "integer",
5158 "typetext" : "<integer>"
5159 }
5160 }
5161 },
c061d61d
DM
5162 "permissions" : {
5163 "check" : [
5164 "admin",
5165 "audit"
5166 ]
5167 },
eff914dc
DM
5168 "proxyto" : "master",
5169 "returns" : {
5170 "properties" : {
5171 "id" : {
5172 "type" : "integer"
5173 }
5174 },
5175 "type" : "object"
5176 }
5177 },
5178 "PUT" : {
6bd70b95 5179 "allowtoken" : 1,
eff914dc
DM
5180 "description" : "Update 'Domain' object.",
5181 "method" : "PUT",
5182 "name" : "update_domain",
5183 "parameters" : {
5184 "additionalProperties" : 0,
5185 "properties" : {
5186 "domain" : {
5187 "description" : "DNS domain name (Sender).",
5188 "format" : "dns-name",
5189 "type" : "string",
5190 "typetext" : "<string>"
5191 },
5192 "id" : {
5193 "description" : "Object ID.",
5194 "type" : "integer",
5195 "typetext" : "<integer>"
5196 }
5197 }
5198 },
c061d61d
DM
5199 "permissions" : {
5200 "check" : [
5201 "admin"
5202 ]
5203 },
a55e94a6 5204 "protected" : 1,
eff914dc
DM
5205 "proxyto" : "master",
5206 "returns" : {
5207 "type" : "null"
5208 }
5209 }
5210 },
5211 "leaf" : 1,
5212 "path" : "/config/whitelist/domain/{id}",
5213 "text" : "{id}"
5214 }
5215 ],
5216 "info" : {
5217 "POST" : {
6bd70b95 5218 "allowtoken" : 1,
eff914dc
DM
5219 "description" : "Add 'Domain' object.",
5220 "method" : "POST",
5221 "name" : "domain",
410dc2c9
DM
5222 "parameters" : {
5223 "additionalProperties" : 0,
5224 "properties" : {
eff914dc
DM
5225 "domain" : {
5226 "description" : "DNS domain name (Sender).",
5227 "format" : "dns-name",
410dc2c9
DM
5228 "type" : "string",
5229 "typetext" : "<string>"
eff914dc
DM
5230 }
5231 }
5232 },
c061d61d
DM
5233 "permissions" : {
5234 "check" : [
5235 "admin"
5236 ]
5237 },
a55e94a6 5238 "protected" : 1,
eff914dc
DM
5239 "proxyto" : "master",
5240 "returns" : {
5241 "description" : "The object ID.",
5242 "type" : "integer"
5243 }
5244 }
5245 },
5246 "leaf" : 0,
5247 "path" : "/config/whitelist/domain",
5248 "text" : "domain"
5249 },
5250 {
5251 "children" : [
5252 {
5253 "info" : {
5254 "GET" : {
6bd70b95 5255 "allowtoken" : 1,
eff914dc
DM
5256 "description" : "Read 'Domain' object settings.",
5257 "method" : "GET",
5258 "name" : "read_receiver_domain",
5259 "parameters" : {
5260 "additionalProperties" : 0,
5261 "properties" : {
5262 "id" : {
5263 "description" : "Object ID.",
5264 "type" : "integer",
5265 "typetext" : "<integer>"
5266 }
5267 }
410dc2c9 5268 },
c061d61d
DM
5269 "permissions" : {
5270 "check" : [
5271 "admin",
5272 "audit"
5273 ]
5274 },
eff914dc
DM
5275 "proxyto" : "master",
5276 "returns" : {
5277 "properties" : {
5278 "id" : {
5279 "type" : "integer"
5280 }
5281 },
5282 "type" : "object"
5283 }
5284 },
5285 "PUT" : {
6bd70b95 5286 "allowtoken" : 1,
eff914dc
DM
5287 "description" : "Update 'Domain' object.",
5288 "method" : "PUT",
5289 "name" : "update_receiver_domain",
5290 "parameters" : {
5291 "additionalProperties" : 0,
5292 "properties" : {
5293 "domain" : {
5294 "description" : "DNS domain name (Sender).",
5295 "format" : "dns-name",
5296 "type" : "string",
5297 "typetext" : "<string>"
5298 },
5299 "id" : {
5300 "description" : "Object ID.",
5301 "type" : "integer",
5302 "typetext" : "<integer>"
5303 }
5304 }
410dc2c9 5305 },
c061d61d
DM
5306 "permissions" : {
5307 "check" : [
5308 "admin"
5309 ]
5310 },
a55e94a6 5311 "protected" : 1,
eff914dc
DM
5312 "proxyto" : "master",
5313 "returns" : {
5314 "type" : "null"
5315 }
5316 }
5317 },
5318 "leaf" : 1,
5319 "path" : "/config/whitelist/receiver_domain/{id}",
5320 "text" : "{id}"
5321 }
5322 ],
5323 "info" : {
5324 "POST" : {
6bd70b95 5325 "allowtoken" : 1,
eff914dc
DM
5326 "description" : "Add 'Domain' object.",
5327 "method" : "POST",
5328 "name" : "receiver_domain",
5329 "parameters" : {
5330 "additionalProperties" : 0,
5331 "properties" : {
5332 "domain" : {
5333 "description" : "DNS domain name (Sender).",
5334 "format" : "dns-name",
410dc2c9
DM
5335 "type" : "string",
5336 "typetext" : "<string>"
eff914dc
DM
5337 }
5338 }
5339 },
c061d61d
DM
5340 "permissions" : {
5341 "check" : [
5342 "admin"
5343 ]
5344 },
a55e94a6 5345 "protected" : 1,
eff914dc
DM
5346 "proxyto" : "master",
5347 "returns" : {
5348 "description" : "The object ID.",
5349 "type" : "integer"
5350 }
5351 }
5352 },
5353 "leaf" : 0,
5354 "path" : "/config/whitelist/receiver_domain",
5355 "text" : "receiver_domain"
5356 },
5357 {
5358 "children" : [
5359 {
5360 "info" : {
5361 "GET" : {
6bd70b95 5362 "allowtoken" : 1,
eff914dc
DM
5363 "description" : "Read 'Regular Expression' object settings.",
5364 "method" : "GET",
5365 "name" : "read_regex",
5366 "parameters" : {
5367 "additionalProperties" : 0,
5368 "properties" : {
5369 "id" : {
5370 "description" : "Object ID.",
5371 "type" : "integer",
5372 "typetext" : "<integer>"
5373 }
5374 }
410dc2c9 5375 },
c061d61d
DM
5376 "permissions" : {
5377 "check" : [
5378 "admin",
5379 "audit"
5380 ]
5381 },
eff914dc
DM
5382 "proxyto" : "master",
5383 "returns" : {
5384 "properties" : {
5385 "id" : {
5386 "type" : "integer"
5387 }
5388 },
5389 "type" : "object"
5390 }
5391 },
5392 "PUT" : {
6bd70b95 5393 "allowtoken" : 1,
eff914dc
DM
5394 "description" : "Update 'Regular Expression' object.",
5395 "method" : "PUT",
5396 "name" : "update_regex",
5397 "parameters" : {
5398 "additionalProperties" : 0,
5399 "properties" : {
5400 "id" : {
5401 "description" : "Object ID.",
5402 "type" : "integer",
5403 "typetext" : "<integer>"
5404 },
5405 "regex" : {
5406 "description" : "Email address regular expression.",
5407 "maxLength" : 1024,
5408 "type" : "string",
5409 "typetext" : "<string>"
5410 }
5411 }
5412 },
c061d61d
DM
5413 "permissions" : {
5414 "check" : [
5415 "admin"
5416 ]
5417 },
a55e94a6 5418 "protected" : 1,
eff914dc
DM
5419 "proxyto" : "master",
5420 "returns" : {
5421 "type" : "null"
5422 }
5423 }
5424 },
5425 "leaf" : 1,
5426 "path" : "/config/whitelist/regex/{id}",
5427 "text" : "{id}"
5428 }
5429 ],
5430 "info" : {
5431 "POST" : {
6bd70b95 5432 "allowtoken" : 1,
eff914dc
DM
5433 "description" : "Add 'Regular Expression' object.",
5434 "method" : "POST",
5435 "name" : "regex",
5436 "parameters" : {
5437 "additionalProperties" : 0,
5438 "properties" : {
5439 "regex" : {
5440 "description" : "Email address regular expression.",
5441 "maxLength" : 1024,
410dc2c9
DM
5442 "type" : "string",
5443 "typetext" : "<string>"
eff914dc
DM
5444 }
5445 }
5446 },
c061d61d
DM
5447 "permissions" : {
5448 "check" : [
5449 "admin"
5450 ]
5451 },
a55e94a6 5452 "protected" : 1,
eff914dc
DM
5453 "proxyto" : "master",
5454 "returns" : {
5455 "description" : "The object ID.",
5456 "type" : "integer"
5457 }
5458 }
5459 },
5460 "leaf" : 0,
5461 "path" : "/config/whitelist/regex",
5462 "text" : "regex"
5463 },
5464 {
5465 "children" : [
5466 {
5467 "info" : {
5468 "GET" : {
6bd70b95 5469 "allowtoken" : 1,
eff914dc
DM
5470 "description" : "Read 'Regular Expression' object settings.",
5471 "method" : "GET",
5472 "name" : "read_receiver_regex",
5473 "parameters" : {
5474 "additionalProperties" : 0,
5475 "properties" : {
5476 "id" : {
5477 "description" : "Object ID.",
5478 "type" : "integer",
5479 "typetext" : "<integer>"
5480 }
5481 }
5482 },
c061d61d
DM
5483 "permissions" : {
5484 "check" : [
5485 "admin",
5486 "audit"
5487 ]
5488 },
eff914dc
DM
5489 "proxyto" : "master",
5490 "returns" : {
5491 "properties" : {
5492 "id" : {
5493 "type" : "integer"
5494 }
5495 },
5496 "type" : "object"
5497 }
5498 },
5499 "PUT" : {
6bd70b95 5500 "allowtoken" : 1,
eff914dc
DM
5501 "description" : "Update 'Regular Expression' object.",
5502 "method" : "PUT",
5503 "name" : "update_receiver_regex",
5504 "parameters" : {
5505 "additionalProperties" : 0,
5506 "properties" : {
5507 "id" : {
5508 "description" : "Object ID.",
5509 "type" : "integer",
5510 "typetext" : "<integer>"
5511 },
5512 "regex" : {
5513 "description" : "Email address regular expression.",
5514 "maxLength" : 1024,
5515 "type" : "string",
5516 "typetext" : "<string>"
5517 }
5518 }
5519 },
c061d61d
DM
5520 "permissions" : {
5521 "check" : [
5522 "admin"
5523 ]
5524 },
a55e94a6 5525 "protected" : 1,
eff914dc
DM
5526 "proxyto" : "master",
5527 "returns" : {
5528 "type" : "null"
5529 }
5530 }
5531 },
5532 "leaf" : 1,
5533 "path" : "/config/whitelist/receiver_regex/{id}",
5534 "text" : "{id}"
5535 }
5536 ],
5537 "info" : {
5538 "POST" : {
6bd70b95 5539 "allowtoken" : 1,
eff914dc
DM
5540 "description" : "Add 'Regular Expression' object.",
5541 "method" : "POST",
5542 "name" : "receiver_regex",
5543 "parameters" : {
5544 "additionalProperties" : 0,
5545 "properties" : {
5546 "regex" : {
5547 "description" : "Email address regular expression.",
5548 "maxLength" : 1024,
5549 "type" : "string",
5550 "typetext" : "<string>"
5551 }
5552 }
5553 },
c061d61d
DM
5554 "permissions" : {
5555 "check" : [
5556 "admin"
5557 ]
5558 },
a55e94a6 5559 "protected" : 1,
eff914dc
DM
5560 "proxyto" : "master",
5561 "returns" : {
5562 "description" : "The object ID.",
5563 "type" : "integer"
5564 }
5565 }
5566 },
5567 "leaf" : 0,
5568 "path" : "/config/whitelist/receiver_regex",
5569 "text" : "receiver_regex"
5570 },
5571 {
5572 "children" : [
5573 {
5574 "info" : {
5575 "GET" : {
6bd70b95 5576 "allowtoken" : 1,
eff914dc
DM
5577 "description" : "Read 'IP Address' object settings.",
5578 "method" : "GET",
5579 "name" : "read_ip",
5580 "parameters" : {
5581 "additionalProperties" : 0,
5582 "properties" : {
5583 "id" : {
5584 "description" : "Object ID.",
5585 "type" : "integer",
5586 "typetext" : "<integer>"
5587 }
5588 }
5589 },
c061d61d
DM
5590 "permissions" : {
5591 "check" : [
5592 "admin",
5593 "audit"
5594 ]
5595 },
eff914dc
DM
5596 "proxyto" : "master",
5597 "returns" : {
5598 "properties" : {
5599 "id" : {
5600 "type" : "integer"
5601 }
5602 },
5603 "type" : "object"
5604 }
5605 },
5606 "PUT" : {
6bd70b95 5607 "allowtoken" : 1,
eff914dc
DM
5608 "description" : "Update 'IP Address' object.",
5609 "method" : "PUT",
5610 "name" : "update_ip",
5611 "parameters" : {
5612 "additionalProperties" : 0,
5613 "properties" : {
5614 "id" : {
5615 "description" : "Object ID.",
5616 "type" : "integer",
5617 "typetext" : "<integer>"
5618 },
5619 "ip" : {
5620 "description" : "IP address",
5621 "format" : "ip",
5622 "type" : "string",
5623 "typetext" : "<string>"
5624 }
5625 }
5626 },
c061d61d
DM
5627 "permissions" : {
5628 "check" : [
5629 "admin"
5630 ]
5631 },
a55e94a6 5632 "protected" : 1,
eff914dc
DM
5633 "proxyto" : "master",
5634 "returns" : {
5635 "type" : "null"
5636 }
5637 }
5638 },
5639 "leaf" : 1,
5640 "path" : "/config/whitelist/ip/{id}",
5641 "text" : "{id}"
5642 }
5643 ],
5644 "info" : {
5645 "POST" : {
6bd70b95 5646 "allowtoken" : 1,
eff914dc
DM
5647 "description" : "Add 'IP Address' object.",
5648 "method" : "POST",
5649 "name" : "ip",
5650 "parameters" : {
5651 "additionalProperties" : 0,
5652 "properties" : {
5653 "ip" : {
5654 "description" : "IP address",
5655 "format" : "ip",
5656 "type" : "string",
5657 "typetext" : "<string>"
5658 }
5659 }
5660 },
c061d61d
DM
5661 "permissions" : {
5662 "check" : [
5663 "admin"
5664 ]
5665 },
a55e94a6 5666 "protected" : 1,
eff914dc
DM
5667 "proxyto" : "master",
5668 "returns" : {
5669 "description" : "The object ID.",
5670 "type" : "integer"
5671 }
5672 }
5673 },
5674 "leaf" : 0,
5675 "path" : "/config/whitelist/ip",
5676 "text" : "ip"
5677 },
5678 {
5679 "children" : [
5680 {
5681 "info" : {
5682 "GET" : {
6bd70b95 5683 "allowtoken" : 1,
eff914dc
DM
5684 "description" : "Read 'IP Network' object settings.",
5685 "method" : "GET",
5686 "name" : "read_network",
5687 "parameters" : {
5688 "additionalProperties" : 0,
5689 "properties" : {
5690 "id" : {
5691 "description" : "Object ID.",
5692 "type" : "integer",
5693 "typetext" : "<integer>"
5694 }
5695 }
5696 },
c061d61d
DM
5697 "permissions" : {
5698 "check" : [
5699 "admin",
5700 "audit"
5701 ]
5702 },
eff914dc
DM
5703 "proxyto" : "master",
5704 "returns" : {
5705 "properties" : {
5706 "id" : {
5707 "type" : "integer"
5708 }
5709 },
5710 "type" : "object"
5711 }
5712 },
5713 "PUT" : {
6bd70b95 5714 "allowtoken" : 1,
eff914dc
DM
5715 "description" : "Update 'IP Network' object.",
5716 "method" : "PUT",
5717 "name" : "update_network",
5718 "parameters" : {
5719 "additionalProperties" : 0,
5720 "properties" : {
5721 "cidr" : {
5722 "description" : "Network address in CIDR notation.",
5723 "format" : "CIDR",
5724 "type" : "string",
5725 "typetext" : "<string>"
5726 },
5727 "id" : {
5728 "description" : "Object ID.",
5729 "type" : "integer",
5730 "typetext" : "<integer>"
5731 }
5732 }
5733 },
c061d61d
DM
5734 "permissions" : {
5735 "check" : [
5736 "admin"
5737 ]
5738 },
a55e94a6 5739 "protected" : 1,
eff914dc
DM
5740 "proxyto" : "master",
5741 "returns" : {
5742 "type" : "null"
5743 }
5744 }
5745 },
5746 "leaf" : 1,
5747 "path" : "/config/whitelist/network/{id}",
5748 "text" : "{id}"
5749 }
5750 ],
5751 "info" : {
5752 "POST" : {
6bd70b95 5753 "allowtoken" : 1,
eff914dc
DM
5754 "description" : "Add 'IP Network' object.",
5755 "method" : "POST",
5756 "name" : "network",
5757 "parameters" : {
5758 "additionalProperties" : 0,
5759 "properties" : {
5760 "cidr" : {
5761 "description" : "Network address in CIDR notation.",
5762 "format" : "CIDR",
5763 "type" : "string",
5764 "typetext" : "<string>"
5765 }
5766 }
5767 },
c061d61d
DM
5768 "permissions" : {
5769 "check" : [
5770 "admin"
5771 ]
5772 },
a55e94a6 5773 "protected" : 1,
eff914dc
DM
5774 "proxyto" : "master",
5775 "returns" : {
5776 "description" : "The object ID.",
5777 "type" : "integer"
5778 }
5779 }
5780 },
5781 "leaf" : 0,
5782 "path" : "/config/whitelist/network",
5783 "text" : "network"
5784 }
5785 ],
5786 "info" : {
5787 "GET" : {
6bd70b95 5788 "allowtoken" : 1,
eff914dc
DM
5789 "description" : "Directory index.",
5790 "method" : "GET",
5791 "name" : "index",
5792 "parameters" : {
5793 "additionalProperties" : 0
5794 },
732d76e1
DM
5795 "permissions" : {
5796 "check" : [
5797 "admin",
5798 "audit"
5799 ]
5800 },
eff914dc
DM
5801 "returns" : {
5802 "items" : {
5803 "properties" : {
5804 "subdir" : {
5805 "type" : "string"
5806 }
5807 },
5808 "type" : "object"
5809 },
5810 "links" : [
5811 {
5812 "href" : "{subdir}",
5813 "rel" : "child"
5814 }
5815 ],
5816 "type" : "array"
5817 }
5818 }
5819 },
5820 "leaf" : 0,
5821 "path" : "/config/whitelist",
5822 "text" : "whitelist"
5823 },
5824 {
5825 "children" : [
5826 {
a55e94a6
DM
5827 "children" : [
5828 {
5829 "info" : {
5830 "GET" : {
6bd70b95 5831 "allowtoken" : 1,
a55e94a6
DM
5832 "description" : "Get LDAP profile configuration.",
5833 "method" : "GET",
5834 "name" : "read_config",
5835 "parameters" : {
5836 "additionalProperties" : 0,
5837 "properties" : {
5838 "profile" : {
5839 "description" : "Profile ID.",
5840 "format" : "pve-configid",
5841 "type" : "string",
5842 "typetext" : "<string>"
5843 }
5844 }
5845 },
5846 "permissions" : {
5847 "check" : [
4a46ced6
DM
5848 "admin",
5849 "audit"
a55e94a6
DM
5850 ]
5851 },
5852 "proxyto" : "master",
5853 "returns" : {}
5854 },
5855 "PUT" : {
6bd70b95 5856 "allowtoken" : 1,
a55e94a6
DM
5857 "description" : "Update LDAP profile settings.",
5858 "method" : "PUT",
5859 "name" : "update_config",
5860 "parameters" : {
5861 "additionalProperties" : 0,
5862 "properties" : {
5863 "accountattr" : {
732d76e1 5864 "default" : "sAMAccountName, uid",
a55e94a6 5865 "description" : "Account attribute name name.",
274b47fc 5866 "format" : "ldap-simple-attr-list",
a55e94a6 5867 "optional" : 1,
274b47fc
DM
5868 "type" : "string",
5869 "typetext" : "<string>"
a55e94a6
DM
5870 },
5871 "basedn" : {
5872 "description" : "Base domain name.",
5873 "optional" : 1,
5874 "type" : "string",
5875 "typetext" : "<string>"
5876 },
5877 "binddn" : {
5878 "description" : "Bind domain name.",
5879 "optional" : 1,
5880 "type" : "string",
5881 "typetext" : "<string>"
5882 },
5883 "bindpw" : {
5884 "description" : "Bind password.",
5885 "optional" : 1,
5886 "type" : "string",
5887 "typetext" : "<string>"
5888 },
241ac83c
TL
5889 "cafile" : {
5890 "description" : "Path to CA file. Only useful with option 'verify'",
5891 "optional" : 1,
5892 "type" : "string",
5893 "typetext" : "<string>"
5894 },
a55e94a6
DM
5895 "comment" : {
5896 "description" : "Description.",
5897 "maxLength" : 4096,
5898 "optional" : 1,
5899 "type" : "string",
5900 "typetext" : "<string>"
5901 },
5902 "delete" : {
5903 "description" : "A list of settings you want to delete.",
5904 "format" : "pve-configid-list",
5905 "maxLength" : 4096,
5906 "optional" : 1,
5907 "type" : "string",
5908 "typetext" : "<string>"
5909 },
5910 "digest" : {
cbd73e8f
TL
5911 "description" : "Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.",
5912 "maxLength" : 64,
a55e94a6
DM
5913 "optional" : 1,
5914 "type" : "string",
5915 "typetext" : "<string>"
5916 },
5917 "disable" : {
5918 "description" : "Flag to disable/deactivate the entry.",
5919 "optional" : 1,
5920 "type" : "boolean",
5921 "typetext" : "<boolean>"
5922 },
5923 "filter" : {
5924 "description" : "LDAP filter.",
5925 "optional" : 1,
5926 "type" : "string",
5927 "typetext" : "<string>"
5928 },
5929 "groupbasedn" : {
5930 "description" : "Base domain name for groups.",
5931 "optional" : 1,
5932 "type" : "string",
5933 "typetext" : "<string>"
5934 },
732d76e1
DM
5935 "groupclass" : {
5936 "default" : "group, univentionGroup, ipausergroup",
5937 "description" : "List of objectclasses for groups.",
274b47fc 5938 "format" : "ldap-simple-attr-list",
732d76e1
DM
5939 "optional" : 1,
5940 "type" : "string",
5941 "typetext" : "<string>"
5942 },
a55e94a6 5943 "mailattr" : {
274b47fc 5944 "default" : "mail, userPrincipalName, proxyAddresses, othermailbox, mailAlternativeAddress",
a55e94a6 5945 "description" : "List of mail attribute names.",
274b47fc 5946 "format" : "ldap-simple-attr-list",
a55e94a6 5947 "optional" : 1,
274b47fc
DM
5948 "type" : "string",
5949 "typetext" : "<string>"
a55e94a6
DM
5950 },
5951 "mode" : {
5952 "default" : "ldap",
241ac83c 5953 "description" : "LDAP protocol mode ('ldap', 'ldaps' or 'ldap+starttls').",
a55e94a6
DM
5954 "enum" : [
5955 "ldap",
241ac83c
TL
5956 "ldaps",
5957 "ldap+starttls"
a55e94a6
DM
5958 ],
5959 "optional" : 1,
5960 "type" : "string"
5961 },
5962 "port" : {
5963 "description" : "Specify the port to connect to.",
5964 "maximum" : 65535,
5965 "minimum" : 1,
5966 "optional" : 1,
5967 "type" : "integer",
5968 "typetext" : "<integer> (1 - 65535)"
5969 },
5970 "profile" : {
5971 "description" : "Profile ID.",
5972 "format" : "pve-configid",
5973 "type" : "string",
5974 "typetext" : "<string>"
5975 },
5976 "server1" : {
5977 "description" : "Server address.",
5978 "format" : "address",
5979 "maxLength" : 256,
5980 "optional" : 1,
5981 "type" : "string",
5982 "typetext" : "<string>"
5983 },
5984 "server2" : {
5985 "description" : "Fallback server address. Userd when the first server is not available.",
5986 "format" : "address",
5987 "maxLength" : 256,
5988 "optional" : 1,
5989 "type" : "string",
5990 "typetext" : "<string>"
241ac83c
TL
5991 },
5992 "verify" : {
5993 "default" : 0,
5994 "description" : "Verify server certificate. Only useful with ldaps or ldap+starttls.",
5995 "optional" : 1,
5996 "type" : "boolean",
5997 "typetext" : "<boolean>"
a55e94a6 5998 }
732d76e1
DM
5999 },
6000 "type" : "object"
6001 },
6002 "permissions" : {
6003 "check" : [
6004 "admin"
6005 ]
6006 },
6007 "protected" : 1,
6008 "proxyto" : "master",
6009 "returns" : {
6010 "type" : "null"
6011 }
6012 }
6013 },
6014 "leaf" : 1,
6015 "path" : "/config/ldap/{profile}/config",
6016 "text" : "config"
6017 },
6018 {
6019 "info" : {
6020 "POST" : {
6bd70b95 6021 "allowtoken" : 1,
732d76e1
DM
6022 "description" : "Synchronice LDAP users to local database.",
6023 "method" : "POST",
6024 "name" : "sync_profile",
6025 "parameters" : {
6026 "additionalProperties" : 0,
6027 "properties" : {
6028 "profile" : {
6029 "description" : "Profile ID.",
6030 "format" : "pve-configid",
6031 "type" : "string",
6032 "typetext" : "<string>"
6033 }
6034 }
6035 },
6036 "permissions" : {
6037 "check" : [
6038 "admin"
6039 ]
6040 },
6041 "protected" : 1,
6042 "proxyto" : "master",
6043 "returns" : {
6044 "type" : "null"
6045 }
6046 }
6047 },
6048 "leaf" : 1,
6049 "path" : "/config/ldap/{profile}/sync",
6050 "text" : "sync"
6051 },
6052 {
6053 "children" : [
6054 {
6055 "info" : {
6056 "GET" : {
6bd70b95 6057 "allowtoken" : 1,
732d76e1
DM
6058 "description" : "Get all email addresses for the specified user.",
6059 "method" : "GET",
6060 "name" : "address_list",
6061 "parameters" : {
6062 "additionalProperties" : 0,
6063 "properties" : {
6064 "email" : {
6065 "description" : "Email address.",
0b9926d3
TL
6066 "maxLength" : 512,
6067 "minLength" : 3,
6068 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
6069 "type" : "string"
732d76e1
DM
6070 },
6071 "profile" : {
6072 "description" : "Profile ID.",
6073 "format" : "pve-configid",
6074 "type" : "string",
6075 "typetext" : "<string>"
6076 }
6077 }
6078 },
6079 "permissions" : {
6080 "check" : [
4a46ced6
DM
6081 "admin",
6082 "audit"
732d76e1
DM
6083 ]
6084 },
6085 "protected" : 1,
6086 "proxyto" : "master",
6087 "returns" : {
6088 "items" : {
6089 "properties" : {
6090 "email" : {
6091 "type" : "string"
6092 },
6093 "primary" : {
6094 "type" : "boolean"
6095 }
6096 },
6097 "type" : "object"
6098 },
6099 "type" : "array"
6100 }
6101 }
a55e94a6 6102 },
732d76e1
DM
6103 "leaf" : 1,
6104 "path" : "/config/ldap/{profile}/users/{email}",
6105 "text" : "{email}"
a55e94a6 6106 }
732d76e1 6107 ],
a55e94a6 6108 "info" : {
732d76e1 6109 "GET" : {
6bd70b95 6110 "allowtoken" : 1,
732d76e1
DM
6111 "description" : "List LDAP users.",
6112 "method" : "GET",
6113 "name" : "profile_list_users",
a55e94a6
DM
6114 "parameters" : {
6115 "additionalProperties" : 0,
6116 "properties" : {
6117 "profile" : {
6118 "description" : "Profile ID.",
6119 "format" : "pve-configid",
6120 "type" : "string",
6121 "typetext" : "<string>"
6122 }
6123 }
6124 },
6125 "permissions" : {
6126 "check" : [
4a46ced6
DM
6127 "admin",
6128 "audit"
a55e94a6
DM
6129 ]
6130 },
6131 "protected" : 1,
6132 "proxyto" : "master",
6133 "returns" : {
732d76e1
DM
6134 "items" : {
6135 "properties" : {
6136 "account" : {
6137 "type" : "string"
6138 },
6139 "dn" : {
6140 "type" : "string"
6141 },
6142 "pmail" : {
6143 "type" : "string"
6144 }
6145 },
6146 "type" : "object"
6147 },
6148 "links" : [
6149 {
6150 "href" : "{pmail}",
6151 "rel" : "child"
6152 }
6153 ],
6154 "type" : "array"
a55e94a6
DM
6155 }
6156 }
6157 },
732d76e1
DM
6158 "leaf" : 0,
6159 "path" : "/config/ldap/{profile}/users",
6160 "text" : "users"
a55e94a6
DM
6161 },
6162 {
6163 "children" : [
6164 {
6165 "info" : {
6166 "GET" : {
6bd70b95 6167 "allowtoken" : 1,
732d76e1 6168 "description" : "List LDAP group members.",
a55e94a6 6169 "method" : "GET",
732d76e1 6170 "name" : "profile_list_group_members",
a55e94a6
DM
6171 "parameters" : {
6172 "additionalProperties" : 0,
6173 "properties" : {
732d76e1
DM
6174 "gid" : {
6175 "description" : "Group ID",
6176 "type" : "number",
6177 "typetext" : "<number>"
a55e94a6
DM
6178 },
6179 "profile" : {
6180 "description" : "Profile ID.",
6181 "format" : "pve-configid",
6182 "type" : "string",
6183 "typetext" : "<string>"
6184 }
6185 }
6186 },
6187 "permissions" : {
6188 "check" : [
4a46ced6
DM
6189 "admin",
6190 "audit"
a55e94a6
DM
6191 ]
6192 },
6193 "protected" : 1,
6194 "proxyto" : "master",
6195 "returns" : {
6196 "items" : {
6197 "properties" : {
732d76e1 6198 "account" : {
a55e94a6
DM
6199 "type" : "string"
6200 },
732d76e1
DM
6201 "dn" : {
6202 "type" : "string"
6203 },
6204 "pmail" : {
6205 "type" : "string"
a55e94a6
DM
6206 }
6207 },
6208 "type" : "object"
6209 },
6210 "type" : "array"
6211 }
6212 }
6213 },
6214 "leaf" : 1,
732d76e1
DM
6215 "path" : "/config/ldap/{profile}/groups/{gid}",
6216 "text" : "{gid}"
a55e94a6
DM
6217 }
6218 ],
6219 "info" : {
6220 "GET" : {
6bd70b95 6221 "allowtoken" : 1,
732d76e1 6222 "description" : "List LDAP groups.",
a55e94a6 6223 "method" : "GET",
732d76e1 6224 "name" : "profile_list_groups",
a55e94a6
DM
6225 "parameters" : {
6226 "additionalProperties" : 0,
6227 "properties" : {
6228 "profile" : {
6229 "description" : "Profile ID.",
6230 "format" : "pve-configid",
6231 "type" : "string",
6232 "typetext" : "<string>"
6233 }
6234 }
6235 },
6236 "permissions" : {
6237 "check" : [
4a46ced6
DM
6238 "admin",
6239 "audit"
a55e94a6
DM
6240 ]
6241 },
6242 "protected" : 1,
6243 "proxyto" : "master",
6244 "returns" : {
6245 "items" : {
6246 "properties" : {
a55e94a6
DM
6247 "dn" : {
6248 "type" : "string"
6249 },
732d76e1
DM
6250 "gid" : {
6251 "type" : "number"
a55e94a6
DM
6252 }
6253 },
6254 "type" : "object"
6255 },
732d76e1
DM
6256 "links" : [
6257 {
6258 "href" : "{gid}",
6259 "rel" : "child"
6260 }
6261 ],
a55e94a6
DM
6262 "type" : "array"
6263 }
6264 }
6265 },
732d76e1
DM
6266 "leaf" : 0,
6267 "path" : "/config/ldap/{profile}/groups",
6268 "text" : "groups"
6269 }
6270 ],
6271 "info" : {
6272 "DELETE" : {
6bd70b95 6273 "allowtoken" : 1,
732d76e1
DM
6274 "description" : "Delete an LDAP profile",
6275 "method" : "DELETE",
6276 "name" : "delete",
6277 "parameters" : {
6278 "additionalProperties" : 0,
6279 "properties" : {
6280 "profile" : {
6281 "description" : "Profile ID.",
6282 "format" : "pve-configid",
6283 "type" : "string",
6284 "typetext" : "<string>"
6285 }
6286 }
6287 },
6288 "permissions" : {
6289 "check" : [
6290 "admin"
6291 ]
6292 },
6293 "protected" : 1,
6294 "proxyto" : "master",
6295 "returns" : {
6296 "type" : "null"
6297 }
6298 },
6299 "GET" : {
6bd70b95 6300 "allowtoken" : 1,
732d76e1
DM
6301 "description" : "Directory index",
6302 "method" : "GET",
6303 "name" : "profile_index",
6304 "parameters" : {
6305 "additionalProperties" : 0,
6306 "properties" : {
6307 "profile" : {
6308 "description" : "Profile ID.",
6309 "format" : "pve-configid",
6310 "type" : "string",
6311 "typetext" : "<string>"
6312 }
6313 }
6314 },
6315 "permissions" : {
6316 "user" : "all"
6317 },
6318 "returns" : {
6319 "items" : {
6320 "properties" : {
6321 "subdir" : {
6322 "type" : "string"
6323 }
6324 },
6325 "type" : "object"
6326 },
6327 "links" : [
6328 {
6329 "href" : "{subdir}",
6330 "rel" : "child"
6331 }
6332 ],
6333 "type" : "array"
6334 }
6335 }
6336 },
6337 "leaf" : 0,
6338 "path" : "/config/ldap/{profile}",
6339 "text" : "{profile}"
6340 }
6341 ],
6342 "info" : {
6343 "GET" : {
6bd70b95 6344 "allowtoken" : 1,
732d76e1
DM
6345 "description" : "List configured LDAP profiles.",
6346 "method" : "GET",
6347 "name" : "index",
6348 "parameters" : {
6349 "additionalProperties" : 0
6350 },
6351 "permissions" : {
6352 "check" : [
4a46ced6
DM
6353 "admin",
6354 "audit"
732d76e1
DM
6355 ]
6356 },
6357 "proxyto" : "master",
6358 "returns" : {
6359 "items" : {
6360 "properties" : {
6361 "comment" : {
6362 "optional" : 1,
6363 "type" : "string"
6364 },
6365 "disable" : {
6366 "type" : "boolean"
6367 },
6368 "gcount" : {
6369 "optional" : 1,
6370 "type" : "integer"
6371 },
6372 "mcount" : {
6373 "optional" : 1,
6374 "type" : "integer"
6375 },
6376 "mode" : {
6377 "type" : "string"
6378 },
6379 "profile" : {
6380 "type" : "string"
6381 },
6382 "server1" : {
6383 "type" : "string"
6384 },
6385 "server2" : {
6386 "optional" : 1,
6387 "type" : "string"
6388 },
6389 "ucount" : {
6390 "optional" : 1,
6391 "type" : "integer"
6392 }
6393 },
6394 "type" : "object"
6395 },
6396 "links" : [
6397 {
6398 "href" : "{profile}",
6399 "rel" : "child"
6400 }
6401 ],
6402 "type" : "array"
6403 }
6404 },
6405 "POST" : {
6bd70b95 6406 "allowtoken" : 1,
732d76e1
DM
6407 "description" : "Add LDAP profile.",
6408 "method" : "POST",
6409 "name" : "create",
6410 "parameters" : {
6411 "additionalProperties" : 0,
6412 "properties" : {
6413 "accountattr" : {
6414 "default" : "sAMAccountName, uid",
6415 "description" : "Account attribute name name.",
274b47fc 6416 "format" : "ldap-simple-attr-list",
732d76e1 6417 "optional" : 1,
274b47fc
DM
6418 "type" : "string",
6419 "typetext" : "<string>"
732d76e1
DM
6420 },
6421 "basedn" : {
6422 "description" : "Base domain name.",
6423 "optional" : 1,
6424 "type" : "string",
6425 "typetext" : "<string>"
6426 },
6427 "binddn" : {
6428 "description" : "Bind domain name.",
6429 "optional" : 1,
6430 "type" : "string",
6431 "typetext" : "<string>"
6432 },
6433 "bindpw" : {
6434 "description" : "Bind password.",
6435 "optional" : 1,
6436 "type" : "string",
6437 "typetext" : "<string>"
6438 },
241ac83c
TL
6439 "cafile" : {
6440 "description" : "Path to CA file. Only useful with option 'verify'",
6441 "optional" : 1,
6442 "type" : "string",
6443 "typetext" : "<string>"
6444 },
732d76e1
DM
6445 "comment" : {
6446 "description" : "Description.",
6447 "maxLength" : 4096,
6448 "optional" : 1,
6449 "type" : "string",
6450 "typetext" : "<string>"
6451 },
6452 "disable" : {
6453 "description" : "Flag to disable/deactivate the entry.",
6454 "optional" : 1,
6455 "type" : "boolean",
6456 "typetext" : "<boolean>"
a55e94a6 6457 },
732d76e1
DM
6458 "filter" : {
6459 "description" : "LDAP filter.",
6460 "optional" : 1,
6461 "type" : "string",
6462 "typetext" : "<string>"
6463 },
6464 "groupbasedn" : {
6465 "description" : "Base domain name for groups.",
6466 "optional" : 1,
6467 "type" : "string",
6468 "typetext" : "<string>"
6469 },
6470 "groupclass" : {
6471 "default" : "group, univentionGroup, ipausergroup",
6472 "description" : "List of objectclasses for groups.",
274b47fc 6473 "format" : "ldap-simple-attr-list",
732d76e1
DM
6474 "optional" : 1,
6475 "type" : "string",
6476 "typetext" : "<string>"
6477 },
6478 "mailattr" : {
274b47fc 6479 "default" : "mail, userPrincipalName, proxyAddresses, othermailbox, mailAlternativeAddress",
732d76e1 6480 "description" : "List of mail attribute names.",
274b47fc 6481 "format" : "ldap-simple-attr-list",
732d76e1 6482 "optional" : 1,
274b47fc
DM
6483 "type" : "string",
6484 "typetext" : "<string>"
732d76e1
DM
6485 },
6486 "mode" : {
6487 "default" : "ldap",
241ac83c 6488 "description" : "LDAP protocol mode ('ldap', 'ldaps' or 'ldap+starttls').",
732d76e1
DM
6489 "enum" : [
6490 "ldap",
241ac83c
TL
6491 "ldaps",
6492 "ldap+starttls"
732d76e1
DM
6493 ],
6494 "optional" : 1,
6495 "type" : "string"
6496 },
6497 "port" : {
6498 "description" : "Specify the port to connect to.",
6499 "maximum" : 65535,
6500 "minimum" : 1,
6501 "optional" : 1,
6502 "type" : "integer",
6503 "typetext" : "<integer> (1 - 65535)"
6504 },
6505 "profile" : {
6506 "description" : "Profile ID.",
6507 "format" : "pve-configid",
6508 "type" : "string",
6509 "typetext" : "<string>"
6510 },
6511 "server1" : {
6512 "description" : "Server address.",
6513 "format" : "address",
6514 "maxLength" : 256,
6515 "optional" : 0,
6516 "type" : "string",
6517 "typetext" : "<string>"
6518 },
6519 "server2" : {
6520 "description" : "Fallback server address. Userd when the first server is not available.",
6521 "format" : "address",
6522 "maxLength" : 256,
6523 "optional" : 1,
6524 "type" : "string",
6525 "typetext" : "<string>"
241ac83c
TL
6526 },
6527 "verify" : {
6528 "default" : 0,
6529 "description" : "Verify server certificate. Only useful with ldaps or ldap+starttls.",
6530 "optional" : 1,
6531 "type" : "boolean",
6532 "typetext" : "<boolean>"
732d76e1
DM
6533 }
6534 },
6535 "type" : "object"
6536 },
6537 "permissions" : {
6538 "check" : [
6539 "admin"
6540 ]
6541 },
6542 "protected" : 1,
6543 "proxyto" : "master",
6544 "returns" : {
6545 "type" : "null"
6546 }
6547 }
6548 },
6549 "leaf" : 0,
6550 "path" : "/config/ldap",
6551 "text" : "ldap"
6552 },
6553 {
6554 "children" : [
6555 {
a55e94a6
DM
6556 "info" : {
6557 "DELETE" : {
6bd70b95 6558 "allowtoken" : 1,
732d76e1 6559 "description" : "Delete a relay domain",
a55e94a6
DM
6560 "method" : "DELETE",
6561 "name" : "delete",
6562 "parameters" : {
6563 "additionalProperties" : 0,
6564 "properties" : {
732d76e1
DM
6565 "domain" : {
6566 "description" : "Domain name.",
f225b3b4 6567 "format" : "transport-domain",
eff914dc
DM
6568 "type" : "string",
6569 "typetext" : "<string>"
6570 }
6571 }
6572 },
a55e94a6
DM
6573 "permissions" : {
6574 "check" : [
6575 "admin"
6576 ]
6577 },
eff914dc
DM
6578 "protected" : 1,
6579 "proxyto" : "master",
a55e94a6
DM
6580 "returns" : {
6581 "type" : "null"
6582 }
eff914dc 6583 },
a55e94a6 6584 "GET" : {
6bd70b95 6585 "allowtoken" : 1,
732d76e1 6586 "description" : "Read Domain data (comment).",
a55e94a6 6587 "method" : "GET",
732d76e1 6588 "name" : "read",
eff914dc
DM
6589 "parameters" : {
6590 "additionalProperties" : 0,
6591 "properties" : {
732d76e1
DM
6592 "domain" : {
6593 "description" : "Domain name.",
f225b3b4 6594 "format" : "transport-domain",
eff914dc
DM
6595 "type" : "string",
6596 "typetext" : "<string>"
a55e94a6
DM
6597 }
6598 }
6599 },
6600 "permissions" : {
732d76e1
DM
6601 "check" : [
6602 "admin",
6603 "audit"
6604 ]
a55e94a6 6605 },
732d76e1 6606 "proxyto" : "master",
a55e94a6 6607 "returns" : {
732d76e1
DM
6608 "properties" : {
6609 "comment" : {
6610 "type" : "string"
eff914dc 6611 },
732d76e1
DM
6612 "domain" : {
6613 "type" : "string"
6614 }
eff914dc 6615 },
732d76e1
DM
6616 "type" : "object"
6617 }
6618 },
6619 "PUT" : {
6bd70b95 6620 "allowtoken" : 1,
732d76e1
DM
6621 "description" : "Update relay domain data (comment).",
6622 "method" : "PUT",
6623 "name" : "write",
6624 "parameters" : {
6625 "additionalProperties" : 0,
6626 "properties" : {
6627 "comment" : {
6628 "description" : "Comment.",
6629 "type" : "string",
6630 "typetext" : "<string>"
6631 },
6632 "domain" : {
6633 "description" : "Domain name.",
f225b3b4 6634 "format" : "transport-domain",
732d76e1
DM
6635 "type" : "string",
6636 "typetext" : "<string>"
a55e94a6 6637 }
732d76e1
DM
6638 }
6639 },
6640 "permissions" : {
6641 "check" : [
6642 "admin"
6643 ]
6644 },
6645 "protected" : 1,
6646 "proxyto" : "master",
6647 "returns" : {
6648 "type" : "null"
eff914dc
DM
6649 }
6650 }
6651 },
732d76e1
DM
6652 "leaf" : 1,
6653 "path" : "/config/domains/{domain}",
6654 "text" : "{domain}"
eff914dc
DM
6655 }
6656 ],
6657 "info" : {
6658 "GET" : {
6bd70b95 6659 "allowtoken" : 1,
732d76e1 6660 "description" : "List relay domains.",
eff914dc
DM
6661 "method" : "GET",
6662 "name" : "index",
6663 "parameters" : {
6664 "additionalProperties" : 0
6665 },
a55e94a6
DM
6666 "permissions" : {
6667 "check" : [
732d76e1
DM
6668 "admin",
6669 "audit"
a55e94a6
DM
6670 ]
6671 },
eff914dc
DM
6672 "proxyto" : "master",
6673 "returns" : {
6674 "items" : {
6675 "properties" : {
a55e94a6 6676 "comment" : {
eff914dc 6677 "type" : "string"
a55e94a6 6678 },
732d76e1
DM
6679 "domain" : {
6680 "type" : "string"
eff914dc
DM
6681 }
6682 },
6683 "type" : "object"
6684 },
6685 "links" : [
6686 {
732d76e1 6687 "href" : "{domain}",
eff914dc
DM
6688 "rel" : "child"
6689 }
6690 ],
6691 "type" : "array"
6692 }
6693 },
6694 "POST" : {
6bd70b95 6695 "allowtoken" : 1,
732d76e1 6696 "description" : "Add relay domain.",
eff914dc
DM
6697 "method" : "POST",
6698 "name" : "create",
6699 "parameters" : {
6700 "additionalProperties" : 0,
6701 "properties" : {
a55e94a6 6702 "comment" : {
732d76e1 6703 "description" : "Comment.",
eff914dc 6704 "optional" : 1,
eff914dc
DM
6705 "type" : "string",
6706 "typetext" : "<string>"
6707 },
732d76e1
DM
6708 "domain" : {
6709 "description" : "Domain name.",
f225b3b4 6710 "format" : "transport-domain",
eff914dc
DM
6711 "type" : "string",
6712 "typetext" : "<string>"
6713 }
732d76e1 6714 }
eff914dc 6715 },
a55e94a6
DM
6716 "permissions" : {
6717 "check" : [
6718 "admin"
6719 ]
6720 },
eff914dc
DM
6721 "protected" : 1,
6722 "proxyto" : "master",
6723 "returns" : {
6724 "type" : "null"
6725 }
6726 }
6727 },
6728 "leaf" : 0,
732d76e1
DM
6729 "path" : "/config/domains",
6730 "text" : "domains"
eff914dc
DM
6731 },
6732 {
6733 "children" : [
6734 {
6735 "info" : {
6736 "DELETE" : {
6bd70b95 6737 "allowtoken" : 1,
732d76e1 6738 "description" : "Delete a fetchmail configuration entry.",
eff914dc
DM
6739 "method" : "DELETE",
6740 "name" : "delete",
6741 "parameters" : {
6742 "additionalProperties" : 0,
6743 "properties" : {
732d76e1
DM
6744 "id" : {
6745 "description" : "Unique ID",
6746 "maxLength" : 16,
6747 "pattern" : "[A-Za-z0-9]+",
6748 "type" : "string"
eff914dc
DM
6749 }
6750 }
6751 },
732d76e1
DM
6752 "permissions" : {
6753 "check" : [
6754 "admin"
6755 ]
6756 },
eff914dc
DM
6757 "protected" : 1,
6758 "proxyto" : "master",
6759 "returns" : {
6760 "type" : "null"
6761 }
6762 },
6763 "GET" : {
6bd70b95 6764 "allowtoken" : 1,
732d76e1 6765 "description" : "Read fetchmail user configuration.",
eff914dc
DM
6766 "method" : "GET",
6767 "name" : "read",
6768 "parameters" : {
6769 "additionalProperties" : 0,
6770 "properties" : {
732d76e1
DM
6771 "id" : {
6772 "description" : "Unique ID",
6773 "maxLength" : 16,
6774 "pattern" : "[A-Za-z0-9]+",
6775 "type" : "string"
eff914dc
DM
6776 }
6777 }
6778 },
732d76e1
DM
6779 "permissions" : {
6780 "check" : [
6781 "admin",
6782 "audit"
6783 ]
6784 },
6785 "protected" : 1,
eff914dc
DM
6786 "proxyto" : "master",
6787 "returns" : {
6788 "properties" : {
732d76e1
DM
6789 "enable" : {
6790 "default" : 0,
6791 "description" : "Flag to enable or disable polling.",
6792 "optional" : 1,
6793 "type" : "boolean"
6794 },
6795 "id" : {
6796 "description" : "Unique ID",
6797 "maxLength" : 16,
6798 "pattern" : "[A-Za-z0-9]+",
eff914dc
DM
6799 "type" : "string"
6800 },
732d76e1
DM
6801 "interval" : {
6802 "description" : "Only check this site every <interval> poll cycles. A poll cycle is 5 minutes.",
6803 "maximum" : 2016,
6804 "minimum" : 1,
6805 "optional" : 1,
6806 "type" : "integer"
6807 },
6808 "keep" : {
6809 "default" : 0,
6810 "description" : "Keep retrieved messages on the remote mailserver.",
6811 "optional" : 1,
6812 "type" : "boolean"
6813 },
6814 "pass" : {
6815 "description" : "The password used tfor server login.",
6816 "maxLength" : 64,
6817 "optional" : 1,
6818 "type" : "string"
6819 },
6820 "port" : {
6821 "description" : "Port number.",
6822 "maximum" : 65535,
6823 "minimum" : 1,
6824 "optional" : 1,
6825 "type" : "integer"
6826 },
6827 "protocol" : {
6828 "description" : "Specify the protocol to use when communicating with the remote mailserver",
6829 "enum" : [
6830 "pop3",
6831 "imap"
6832 ],
6833 "optional" : 1,
6834 "type" : "string"
6835 },
6836 "server" : {
6837 "description" : "Server address (IP or DNS name).",
6838 "format" : "address",
6839 "optional" : 1,
6840 "type" : "string"
6841 },
6842 "ssl" : {
6843 "default" : 0,
6844 "description" : "Use SSL.",
6845 "optional" : 1,
6846 "type" : "boolean"
6847 },
6848 "target" : {
6849 "description" : "The target email address (where to deliver fetched mails).",
6850 "maxLength" : 512,
6851 "minLength" : 3,
6852 "optional" : 1,
c5ccf1ab 6853 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
732d76e1
DM
6854 "type" : "string"
6855 },
6856 "user" : {
6857 "description" : "The user identification to be used when logging in to the server",
6858 "maxLength" : 64,
6859 "minLength" : 1,
6860 "optional" : 1,
eff914dc
DM
6861 "type" : "string"
6862 }
6863 },
6864 "type" : "object"
6865 }
6866 },
6867 "PUT" : {
6bd70b95 6868 "allowtoken" : 1,
732d76e1 6869 "description" : "Update fetchmail user configuration.",
eff914dc
DM
6870 "method" : "PUT",
6871 "name" : "write",
6872 "parameters" : {
6873 "additionalProperties" : 0,
6874 "properties" : {
732d76e1
DM
6875 "enable" : {
6876 "default" : 0,
6877 "description" : "Flag to enable or disable polling.",
6878 "optional" : 1,
6879 "type" : "boolean",
6880 "typetext" : "<boolean>"
6881 },
6882 "id" : {
6883 "description" : "Unique ID",
6884 "maxLength" : 16,
6885 "pattern" : "[A-Za-z0-9]+",
6886 "type" : "string"
6887 },
6888 "interval" : {
6889 "description" : "Only check this site every <interval> poll cycles. A poll cycle is 5 minutes.",
6890 "maximum" : 2016,
6891 "minimum" : 1,
6892 "optional" : 1,
6893 "type" : "integer",
6894 "typetext" : "<integer> (1 - 2016)"
6895 },
6896 "keep" : {
6897 "default" : 0,
6898 "description" : "Keep retrieved messages on the remote mailserver.",
6899 "optional" : 1,
6900 "type" : "boolean",
6901 "typetext" : "<boolean>"
6902 },
6903 "pass" : {
6904 "description" : "The password used tfor server login.",
6905 "maxLength" : 64,
6906 "optional" : 1,
eff914dc
DM
6907 "type" : "string",
6908 "typetext" : "<string>"
6909 },
732d76e1
DM
6910 "port" : {
6911 "description" : "Port number.",
6912 "maximum" : 65535,
6913 "minimum" : 1,
6914 "optional" : 1,
6915 "type" : "integer",
6916 "typetext" : "<integer> (1 - 65535)"
6917 },
6918 "protocol" : {
6919 "description" : "Specify the protocol to use when communicating with the remote mailserver",
6920 "enum" : [
6921 "pop3",
6922 "imap"
6923 ],
6924 "optional" : 1,
6925 "type" : "string"
6926 },
6927 "server" : {
6928 "description" : "Server address (IP or DNS name).",
6929 "format" : "address",
6930 "optional" : 1,
6931 "type" : "string",
6932 "typetext" : "<string>"
6933 },
6934 "ssl" : {
6935 "default" : 0,
6936 "description" : "Use SSL.",
6937 "optional" : 1,
6938 "type" : "boolean",
6939 "typetext" : "<boolean>"
6940 },
6941 "target" : {
6942 "description" : "The target email address (where to deliver fetched mails).",
6943 "maxLength" : 512,
6944 "minLength" : 3,
6945 "optional" : 1,
c5ccf1ab 6946 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
732d76e1
DM
6947 "type" : "string"
6948 },
6949 "user" : {
6950 "description" : "The user identification to be used when logging in to the server",
6951 "maxLength" : 64,
6952 "minLength" : 1,
6953 "optional" : 1,
eff914dc
DM
6954 "type" : "string",
6955 "typetext" : "<string>"
6956 }
6957 }
6958 },
732d76e1
DM
6959 "permissions" : {
6960 "check" : [
6961 "admin"
6962 ]
6963 },
eff914dc
DM
6964 "protected" : 1,
6965 "proxyto" : "master",
6966 "returns" : {
6967 "type" : "null"
6968 }
6969 }
6970 },
6971 "leaf" : 1,
732d76e1
DM
6972 "path" : "/config/fetchmail/{id}",
6973 "text" : "{id}"
eff914dc
DM
6974 }
6975 ],
6976 "info" : {
6977 "GET" : {
6bd70b95 6978 "allowtoken" : 1,
732d76e1 6979 "description" : "List fetchmail users.",
eff914dc
DM
6980 "method" : "GET",
6981 "name" : "index",
6982 "parameters" : {
6983 "additionalProperties" : 0
6984 },
732d76e1
DM
6985 "permissions" : {
6986 "check" : [
6987 "admin",
6988 "audit"
6989 ]
6990 },
6991 "protected" : 1,
eff914dc
DM
6992 "proxyto" : "master",
6993 "returns" : {
6994 "items" : {
6995 "properties" : {
732d76e1
DM
6996 "enable" : {
6997 "default" : 0,
6998 "description" : "Flag to enable or disable polling.",
6999 "optional" : 1,
7000 "type" : "boolean"
7001 },
7002 "id" : {
7003 "description" : "Unique ID",
7004 "maxLength" : 16,
7005 "pattern" : "[A-Za-z0-9]+",
eff914dc
DM
7006 "type" : "string"
7007 },
732d76e1
DM
7008 "interval" : {
7009 "description" : "Only check this site every <interval> poll cycles. A poll cycle is 5 minutes.",
7010 "maximum" : 2016,
7011 "minimum" : 1,
7012 "optional" : 1,
7013 "type" : "integer"
7014 },
7015 "keep" : {
7016 "default" : 0,
7017 "description" : "Keep retrieved messages on the remote mailserver.",
7018 "optional" : 1,
7019 "type" : "boolean"
7020 },
7021 "pass" : {
7022 "description" : "The password used tfor server login.",
7023 "maxLength" : 64,
7024 "optional" : 1,
7025 "type" : "string"
7026 },
7027 "port" : {
7028 "description" : "Port number.",
7029 "maximum" : 65535,
7030 "minimum" : 1,
7031 "optional" : 1,
7032 "type" : "integer"
7033 },
7034 "protocol" : {
7035 "description" : "Specify the protocol to use when communicating with the remote mailserver",
7036 "enum" : [
7037 "pop3",
7038 "imap"
7039 ],
7040 "optional" : 1,
7041 "type" : "string"
7042 },
7043 "server" : {
7044 "description" : "Server address (IP or DNS name).",
7045 "format" : "address",
7046 "optional" : 1,
7047 "type" : "string"
7048 },
7049 "ssl" : {
7050 "default" : 0,
7051 "description" : "Use SSL.",
7052 "optional" : 1,
7053 "type" : "boolean"
7054 },
7055 "target" : {
7056 "description" : "The target email address (where to deliver fetched mails).",
7057 "maxLength" : 512,
7058 "minLength" : 3,
7059 "optional" : 1,
c5ccf1ab 7060 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
732d76e1
DM
7061 "type" : "string"
7062 },
7063 "user" : {
7064 "description" : "The user identification to be used when logging in to the server",
7065 "maxLength" : 64,
7066 "minLength" : 1,
7067 "optional" : 1,
eff914dc
DM
7068 "type" : "string"
7069 }
7070 },
7071 "type" : "object"
7072 },
7073 "links" : [
7074 {
732d76e1 7075 "href" : "{id}",
eff914dc
DM
7076 "rel" : "child"
7077 }
7078 ],
7079 "type" : "array"
7080 }
7081 },
7082 "POST" : {
6bd70b95 7083 "allowtoken" : 1,
732d76e1 7084 "description" : "Create fetchmail user configuration.",
eff914dc
DM
7085 "method" : "POST",
7086 "name" : "create",
7087 "parameters" : {
7088 "additionalProperties" : 0,
7089 "properties" : {
732d76e1
DM
7090 "enable" : {
7091 "default" : 0,
7092 "description" : "Flag to enable or disable polling.",
7093 "optional" : 1,
7094 "type" : "boolean",
7095 "typetext" : "<boolean>"
7096 },
7097 "interval" : {
7098 "description" : "Only check this site every <interval> poll cycles. A poll cycle is 5 minutes.",
7099 "maximum" : 2016,
7100 "minimum" : 1,
7101 "optional" : 1,
7102 "type" : "integer",
7103 "typetext" : "<integer> (1 - 2016)"
7104 },
7105 "keep" : {
7106 "default" : 0,
7107 "description" : "Keep retrieved messages on the remote mailserver.",
eff914dc 7108 "optional" : 1,
732d76e1
DM
7109 "type" : "boolean",
7110 "typetext" : "<boolean>"
7111 },
7112 "pass" : {
7113 "description" : "The password used tfor server login.",
7114 "maxLength" : 64,
eff914dc
DM
7115 "type" : "string",
7116 "typetext" : "<string>"
7117 },
732d76e1
DM
7118 "port" : {
7119 "description" : "Port number.",
7120 "maximum" : 65535,
7121 "minimum" : 1,
7122 "optional" : 1,
7123 "type" : "integer",
7124 "typetext" : "<integer> (1 - 65535)"
7125 },
7126 "protocol" : {
7127 "description" : "Specify the protocol to use when communicating with the remote mailserver",
7128 "enum" : [
7129 "pop3",
7130 "imap"
7131 ],
7132 "type" : "string"
7133 },
7134 "server" : {
7135 "description" : "Server address (IP or DNS name).",
7136 "format" : "address",
7137 "type" : "string",
7138 "typetext" : "<string>"
7139 },
7140 "ssl" : {
7141 "default" : 0,
7142 "description" : "Use SSL.",
7143 "optional" : 1,
7144 "type" : "boolean",
7145 "typetext" : "<boolean>"
7146 },
7147 "target" : {
7148 "description" : "The target email address (where to deliver fetched mails).",
7149 "maxLength" : 512,
7150 "minLength" : 3,
c5ccf1ab 7151 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
732d76e1
DM
7152 "type" : "string"
7153 },
7154 "user" : {
7155 "description" : "The user identification to be used when logging in to the server",
7156 "maxLength" : 64,
7157 "minLength" : 1,
eff914dc
DM
7158 "type" : "string",
7159 "typetext" : "<string>"
7160 }
7161 }
7162 },
732d76e1
DM
7163 "permissions" : {
7164 "check" : [
7165 "admin"
7166 ]
7167 },
eff914dc
DM
7168 "protected" : 1,
7169 "proxyto" : "master",
7170 "returns" : {
732d76e1
DM
7171 "description" : "Unique ID",
7172 "maxLength" : 16,
7173 "pattern" : "[A-Za-z0-9]+",
7174 "type" : "string"
eff914dc
DM
7175 }
7176 }
7177 },
7178 "leaf" : 0,
732d76e1
DM
7179 "path" : "/config/fetchmail",
7180 "text" : "fetchmail"
eff914dc
DM
7181 },
7182 {
7183 "children" : [
7184 {
7185 "info" : {
7186 "DELETE" : {
6bd70b95 7187 "allowtoken" : 1,
eff914dc
DM
7188 "description" : "Delete a transport map entry",
7189 "method" : "DELETE",
7190 "name" : "delete",
7191 "parameters" : {
7192 "additionalProperties" : 0,
7193 "properties" : {
7194 "domain" : {
7195 "description" : "Domain name.",
f225b3b4 7196 "format" : "transport-domain-or-email",
eff914dc
DM
7197 "type" : "string",
7198 "typetext" : "<string>"
7199 }
7200 }
7201 },
732d76e1
DM
7202 "permissions" : {
7203 "check" : [
7204 "admin"
7205 ]
7206 },
eff914dc
DM
7207 "protected" : 1,
7208 "proxyto" : "master",
7209 "returns" : {
7210 "type" : "null"
7211 }
7212 },
7213 "GET" : {
6bd70b95 7214 "allowtoken" : 1,
eff914dc
DM
7215 "description" : "Read transport map entry.",
7216 "method" : "GET",
7217 "name" : "read",
7218 "parameters" : {
7219 "additionalProperties" : 0,
7220 "properties" : {
7221 "domain" : {
7222 "description" : "Domain name.",
f225b3b4 7223 "format" : "transport-domain-or-email",
eff914dc
DM
7224 "type" : "string",
7225 "typetext" : "<string>"
7226 }
7227 }
7228 },
732d76e1
DM
7229 "permissions" : {
7230 "check" : [
7231 "admin",
7232 "audit"
7233 ]
7234 },
eff914dc
DM
7235 "proxyto" : "master",
7236 "returns" : {
7237 "properties" : {
7238 "comment" : {
7239 "type" : "string"
7240 },
7241 "domain" : {
7242 "type" : "string"
410dc2c9 7243 },
eff914dc
DM
7244 "host" : {
7245 "type" : "string"
7246 },
7247 "port" : {
7248 "type" : "integer"
7249 },
6bd70b95
TL
7250 "protocol" : {
7251 "type" : "string"
7252 },
eff914dc
DM
7253 "use_mx" : {
7254 "type" : "boolean"
7255 }
7256 },
7257 "type" : "object"
7258 }
7259 },
7260 "PUT" : {
6bd70b95 7261 "allowtoken" : 1,
eff914dc
DM
7262 "description" : "Update transport map entry.",
7263 "method" : "PUT",
7264 "name" : "write",
7265 "parameters" : {
7266 "additionalProperties" : 0,
7267 "properties" : {
7268 "comment" : {
7269 "description" : "Comment.",
410dc2c9
DM
7270 "optional" : 1,
7271 "type" : "string",
7272 "typetext" : "<string>"
7273 },
eff914dc
DM
7274 "domain" : {
7275 "description" : "Domain name.",
f225b3b4 7276 "format" : "transport-domain-or-email",
410dc2c9
DM
7277 "type" : "string",
7278 "typetext" : "<string>"
7279 },
eff914dc
DM
7280 "host" : {
7281 "description" : "Target host (name or IP address).",
549cfb68 7282 "format" : "transport-address",
410dc2c9
DM
7283 "optional" : 1,
7284 "type" : "string",
7285 "typetext" : "<string>"
7286 },
410dc2c9 7287 "port" : {
6bd70b95 7288 "description" : "Transport port.",
410dc2c9
DM
7289 "maximum" : 65535,
7290 "minimum" : 1,
7291 "optional" : 1,
7292 "type" : "integer",
7293 "typetext" : "<integer> (1 - 65535)"
7294 },
6bd70b95
TL
7295 "protocol" : {
7296 "default" : "smtp",
7297 "description" : "Transport protocol.",
7298 "enum" : [
7299 "smtp",
7300 "lmtp"
7301 ],
7302 "optional" : 1,
7303 "type" : "string"
7304 },
eff914dc 7305 "use_mx" : {
6bd70b95 7306 "description" : "Enable MX lookups (SMTP).",
410dc2c9 7307 "optional" : 1,
eff914dc
DM
7308 "type" : "boolean",
7309 "typetext" : "<boolean>"
410dc2c9 7310 }
eff914dc 7311 }
410dc2c9 7312 },
732d76e1
DM
7313 "permissions" : {
7314 "check" : [
7315 "admin"
7316 ]
7317 },
410dc2c9
DM
7318 "protected" : 1,
7319 "proxyto" : "master",
7320 "returns" : {
7321 "type" : "null"
7322 }
7323 }
7324 },
7325 "leaf" : 1,
eff914dc
DM
7326 "path" : "/config/transport/{domain}",
7327 "text" : "{domain}"
410dc2c9
DM
7328 }
7329 ],
7330 "info" : {
7331 "GET" : {
6bd70b95 7332 "allowtoken" : 1,
eff914dc 7333 "description" : "List transport map entries.",
410dc2c9
DM
7334 "method" : "GET",
7335 "name" : "index",
7336 "parameters" : {
7337 "additionalProperties" : 0
7338 },
732d76e1
DM
7339 "permissions" : {
7340 "check" : [
7341 "admin",
7342 "audit"
7343 ]
7344 },
410dc2c9
DM
7345 "proxyto" : "master",
7346 "returns" : {
7347 "items" : {
7348 "properties" : {
eff914dc 7349 "comment" : {
410dc2c9
DM
7350 "type" : "string"
7351 },
eff914dc 7352 "domain" : {
410dc2c9
DM
7353 "type" : "string"
7354 },
eff914dc 7355 "host" : {
410dc2c9 7356 "type" : "string"
eff914dc
DM
7357 },
7358 "port" : {
7359 "type" : "integer"
7360 },
6bd70b95
TL
7361 "protocol" : {
7362 "type" : "string"
7363 },
eff914dc
DM
7364 "use_mx" : {
7365 "type" : "boolean"
410dc2c9
DM
7366 }
7367 },
7368 "type" : "object"
7369 },
7370 "links" : [
7371 {
c061d61d 7372 "href" : "{domain}",
410dc2c9
DM
7373 "rel" : "child"
7374 }
7375 ],
7376 "type" : "array"
7377 }
7378 },
7379 "POST" : {
6bd70b95 7380 "allowtoken" : 1,
eff914dc 7381 "description" : "Add transport map entry.",
410dc2c9
DM
7382 "method" : "POST",
7383 "name" : "create",
7384 "parameters" : {
7385 "additionalProperties" : 0,
7386 "properties" : {
eff914dc
DM
7387 "comment" : {
7388 "description" : "Comment.",
410dc2c9
DM
7389 "optional" : 1,
7390 "type" : "string",
7391 "typetext" : "<string>"
7392 },
eff914dc
DM
7393 "domain" : {
7394 "description" : "Domain name.",
f225b3b4 7395 "format" : "transport-domain-or-email",
410dc2c9
DM
7396 "type" : "string",
7397 "typetext" : "<string>"
7398 },
eff914dc
DM
7399 "host" : {
7400 "description" : "Target host (name or IP address).",
549cfb68 7401 "format" : "transport-address",
410dc2c9
DM
7402 "type" : "string",
7403 "typetext" : "<string>"
7404 },
410dc2c9 7405 "port" : {
eff914dc 7406 "default" : 25,
6bd70b95 7407 "description" : "Transport port.",
410dc2c9
DM
7408 "maximum" : 65535,
7409 "minimum" : 1,
7410 "optional" : 1,
7411 "type" : "integer",
7412 "typetext" : "<integer> (1 - 65535)"
7413 },
6bd70b95
TL
7414 "protocol" : {
7415 "default" : "smtp",
7416 "description" : "Transport protocol.",
7417 "enum" : [
7418 "smtp",
7419 "lmtp"
7420 ],
7421 "optional" : 1,
7422 "type" : "string"
7423 },
eff914dc
DM
7424 "use_mx" : {
7425 "default" : 1,
6bd70b95 7426 "description" : "Enable MX lookups (SMTP).",
410dc2c9 7427 "optional" : 1,
eff914dc
DM
7428 "type" : "boolean",
7429 "typetext" : "<boolean>"
410dc2c9 7430 }
eff914dc 7431 }
410dc2c9 7432 },
732d76e1
DM
7433 "permissions" : {
7434 "check" : [
7435 "admin"
7436 ]
7437 },
410dc2c9
DM
7438 "protected" : 1,
7439 "proxyto" : "master",
7440 "returns" : {
7441 "type" : "null"
7442 }
7443 }
7444 },
7445 "leaf" : 0,
eff914dc
DM
7446 "path" : "/config/transport",
7447 "text" : "transport"
410dc2c9
DM
7448 },
7449 {
7450 "children" : [
7451 {
7452 "info" : {
7453 "DELETE" : {
6bd70b95 7454 "allowtoken" : 1,
eff914dc 7455 "description" : "Delete a truster network",
410dc2c9
DM
7456 "method" : "DELETE",
7457 "name" : "delete",
7458 "parameters" : {
7459 "additionalProperties" : 0,
7460 "properties" : {
eff914dc
DM
7461 "cidr" : {
7462 "description" : "IPv4 or IPv6 network in CIDR notation.",
7463 "format" : "CIDR",
7464 "type" : "string",
7465 "typetext" : "<string>"
7466 }
7467 }
7468 },
732d76e1
DM
7469 "permissions" : {
7470 "check" : [
7471 "admin"
7472 ]
7473 },
eff914dc
DM
7474 "protected" : 1,
7475 "proxyto" : "master",
7476 "returns" : {
7477 "type" : "null"
7478 }
7479 },
7480 "GET" : {
6bd70b95 7481 "allowtoken" : 1,
eff914dc
DM
7482 "description" : "Read trusted network data (comment).",
7483 "method" : "GET",
7484 "name" : "read",
7485 "parameters" : {
7486 "additionalProperties" : 0,
7487 "properties" : {
7488 "cidr" : {
7489 "description" : "IPv4 or IPv6 network in CIDR notation.",
7490 "format" : "CIDR",
7491 "type" : "string",
7492 "typetext" : "<string>"
7493 }
7494 }
7495 },
732d76e1
DM
7496 "permissions" : {
7497 "check" : [
7498 "admin",
7499 "audit"
7500 ]
7501 },
eff914dc
DM
7502 "proxyto" : "master",
7503 "returns" : {
7504 "properties" : {
7505 "cidr" : {
7506 "type" : "string"
7507 },
7508 "comment" : {
7509 "type" : "string"
7510 }
7511 },
7512 "type" : "object"
7513 }
7514 },
7515 "PUT" : {
6bd70b95 7516 "allowtoken" : 1,
eff914dc
DM
7517 "description" : "Update trusted data (comment).",
7518 "method" : "PUT",
7519 "name" : "write",
7520 "parameters" : {
7521 "additionalProperties" : 0,
7522 "properties" : {
7523 "cidr" : {
7524 "description" : "IPv4 or IPv6 network in CIDR notation.",
7525 "type" : "string",
7526 "typetext" : "<string>"
7527 },
7528 "comment" : {
7529 "description" : "Comment.",
410dc2c9
DM
7530 "type" : "string",
7531 "typetext" : "<string>"
7532 }
7533 }
7534 },
732d76e1
DM
7535 "permissions" : {
7536 "check" : [
7537 "admin"
7538 ]
7539 },
410dc2c9
DM
7540 "protected" : 1,
7541 "proxyto" : "master",
7542 "returns" : {
7543 "type" : "null"
7544 }
7545 }
7546 },
7547 "leaf" : 1,
eff914dc
DM
7548 "path" : "/config/mynetworks/{cidr}",
7549 "text" : "{cidr}"
410dc2c9
DM
7550 }
7551 ],
7552 "info" : {
7553 "GET" : {
6bd70b95 7554 "allowtoken" : 1,
eff914dc 7555 "description" : "List of trusted networks from where SMTP clients are allowed to relay mail through Proxmox Mail Gateway.",
410dc2c9
DM
7556 "method" : "GET",
7557 "name" : "index",
7558 "parameters" : {
7559 "additionalProperties" : 0
7560 },
732d76e1
DM
7561 "permissions" : {
7562 "check" : [
7563 "admin",
7564 "audit"
7565 ]
7566 },
410dc2c9
DM
7567 "proxyto" : "master",
7568 "returns" : {
7569 "items" : {
7570 "properties" : {
eff914dc 7571 "cidr" : {
410dc2c9
DM
7572 "type" : "string"
7573 }
7574 },
7575 "type" : "object"
7576 },
7577 "links" : [
7578 {
c061d61d 7579 "href" : "{cidr}",
410dc2c9
DM
7580 "rel" : "child"
7581 }
7582 ],
7583 "type" : "array"
7584 }
7585 },
7586 "POST" : {
6bd70b95 7587 "allowtoken" : 1,
eff914dc 7588 "description" : "Add a trusted network.",
410dc2c9
DM
7589 "method" : "POST",
7590 "name" : "create",
7591 "parameters" : {
7592 "additionalProperties" : 0,
7593 "properties" : {
eff914dc
DM
7594 "cidr" : {
7595 "description" : "IPv4 or IPv6 network in CIDR notation.",
7596 "format" : "CIDR",
7597 "type" : "string",
7598 "typetext" : "<string>"
7599 },
7600 "comment" : {
7601 "description" : "Comment.",
7602 "optional" : 1,
410dc2c9
DM
7603 "type" : "string",
7604 "typetext" : "<string>"
7605 }
7606 }
7607 },
732d76e1
DM
7608 "permissions" : {
7609 "check" : [
7610 "admin"
7611 ]
7612 },
410dc2c9
DM
7613 "protected" : 1,
7614 "proxyto" : "master",
7615 "returns" : {
7616 "type" : "null"
7617 }
7618 }
7619 },
7620 "leaf" : 0,
eff914dc
DM
7621 "path" : "/config/mynetworks",
7622 "text" : "mynetworks"
410dc2c9
DM
7623 },
7624 {
d7cd791b
DM
7625 "children" : [
7626 {
7627 "info" : {
7628 "GET" : {
6bd70b95 7629 "allowtoken" : 1,
d7cd791b
DM
7630 "description" : "Cluster node index.",
7631 "method" : "GET",
7632 "name" : "nodes",
7633 "parameters" : {
7634 "additionalProperties" : 0
7635 },
7636 "permissions" : {
7637 "check" : [
bb6e6e0d
DM
7638 "admin",
7639 "qmanager",
7640 "audit"
d7cd791b
DM
7641 ]
7642 },
7643 "returns" : {
7644 "items" : {
7645 "properties" : {
7646 "cid" : {
7647 "type" : "integer"
7648 },
7649 "fingerprint" : {
7650 "type" : "string"
7651 },
7652 "hostrsapubkey" : {
7653 "type" : "string"
7654 },
7655 "ip" : {
7656 "type" : "string"
7657 },
7658 "name" : {
7659 "type" : "string"
7660 },
7661 "rootrsapubkey" : {
7662 "type" : "string"
7663 },
7664 "type" : {
7665 "type" : "string"
7666 }
7667 },
7668 "type" : "object"
7669 },
d7cd791b
DM
7670 "type" : "array"
7671 }
7672 },
7673 "POST" : {
6bd70b95 7674 "allowtoken" : 1,
d7cd791b
DM
7675 "description" : "Add an node to the cluster config.",
7676 "method" : "POST",
7677 "name" : "add_node",
7678 "parameters" : {
7679 "additionalProperties" : 0,
7680 "properties" : {
7681 "fingerprint" : {
7682 "description" : "SSL certificate fingerprint.",
7683 "optional" : 0,
7684 "pattern" : "^(:?[A-Z0-9][A-Z0-9]:){31}[A-Z0-9][A-Z0-9]$",
7685 "type" : "string"
7686 },
7687 "hostrsapubkey" : {
7688 "description" : "Public SSH RSA key for the host.",
7689 "optional" : 0,
e0e71e6a 7690 "pattern" : "^[A-Za-z0-9\\.\\/\\+=]{200,}$",
d7cd791b
DM
7691 "type" : "string"
7692 },
7693 "ip" : {
7694 "description" : "IP address.",
7695 "format" : "ip",
7696 "optional" : 0,
7697 "type" : "string",
7698 "typetext" : "<string>"
7699 },
7700 "maxcid" : {
7701 "description" : "Maximum used cluster node ID (used internally, do not modify).",
7702 "minimum" : 1,
7703 "optional" : 1,
7704 "type" : "integer",
7705 "typetext" : "<integer> (1 - N)"
7706 },
7707 "name" : {
7708 "description" : "Node name.",
7709 "format" : "pve-node",
7710 "optional" : 0,
7711 "type" : "string",
7712 "typetext" : "<string>"
7713 },
7714 "rootrsapubkey" : {
7715 "description" : "Public SSH RSA key for the root user.",
7716 "optional" : 0,
e0e71e6a 7717 "pattern" : "^[A-Za-z0-9\\.\\/\\+=]{200,}$",
d7cd791b
DM
7718 "type" : "string"
7719 }
7720 },
7721 "type" : "object"
7722 },
7723 "protected" : 1,
7724 "proxyto" : "master",
7725 "returns" : {
7726 "description" : "Returns the resulting node list.",
7727 "items" : {
7728 "properties" : {
7729 "cid" : {
7730 "type" : "integer"
7731 }
7732 },
7733 "type" : "object"
7734 },
7735 "type" : "array"
7736 }
7737 }
7738 },
7739 "leaf" : 1,
7740 "path" : "/config/cluster/nodes",
7741 "text" : "nodes"
7742 },
7743 {
7744 "info" : {
7745 "GET" : {
6bd70b95 7746 "allowtoken" : 1,
d7cd791b
DM
7747 "description" : "Cluster node status.",
7748 "method" : "GET",
7749 "name" : "status",
7750 "parameters" : {
bb6e6e0d
DM
7751 "additionalProperties" : 0,
7752 "properties" : {
7753 "list_single_node" : {
7754 "default" : 0,
7755 "description" : "List local node if there is no cluster defined. Please note that RSA keys and fingerprint are not valid in that case.",
7756 "optional" : 1,
7757 "type" : "boolean",
7758 "typetext" : "<boolean>"
7759 }
7760 }
d7cd791b
DM
7761 },
7762 "permissions" : {
7763 "check" : [
bb6e6e0d
DM
7764 "admin",
7765 "qmanager",
7766 "audit"
d7cd791b
DM
7767 ]
7768 },
7769 "returns" : {
7770 "items" : {
7771 "properties" : {
7772 "cid" : {
7773 "type" : "integer"
7774 },
7775 "fingerprint" : {
7776 "type" : "string"
7777 },
7778 "hostrsapubkey" : {
7779 "type" : "string"
7780 },
7781 "ip" : {
7782 "type" : "string"
7783 },
7784 "name" : {
7785 "type" : "string"
7786 },
7787 "rootrsapubkey" : {
7788 "type" : "string"
7789 },
7790 "type" : {
7791 "type" : "string"
7792 }
7793 },
7794 "type" : "object"
7795 },
7796 "links" : [
7797 {
7798 "href" : "{cid}",
7799 "rel" : "child"
7800 }
7801 ],
7802 "type" : "array"
7803 }
7804 }
7805 },
7806 "leaf" : 1,
7807 "path" : "/config/cluster/status",
7808 "text" : "status"
7809 },
7810 {
7811 "info" : {
7812 "POST" : {
6bd70b95 7813 "allowtoken" : 1,
d7cd791b
DM
7814 "description" : "Create initial cluster config with current node as master.",
7815 "method" : "POST",
7816 "name" : "create",
7817 "parameters" : {
7818 "additionalProperties" : 0
7819 },
7820 "protected" : 1,
7821 "returns" : {
7822 "type" : "string"
7823 }
7824 }
7825 },
7826 "leaf" : 1,
7827 "path" : "/config/cluster/create",
7828 "text" : "create"
7829 },
7830 {
7831 "info" : {
7832 "POST" : {
6bd70b95 7833 "allowtoken" : 1,
d7cd791b
DM
7834 "description" : "Join local node to an existing cluster.",
7835 "method" : "POST",
7836 "name" : "join",
7837 "parameters" : {
7838 "additionalProperties" : 0,
7839 "properties" : {
7840 "fingerprint" : {
7841 "description" : "SSL certificate fingerprint.",
7842 "pattern" : "^(:?[A-Z0-9][A-Z0-9]:){31}[A-Z0-9][A-Z0-9]$",
7843 "type" : "string"
7844 },
7845 "master_ip" : {
7846 "description" : "IP address.",
7847 "format" : "ip",
7848 "type" : "string",
7849 "typetext" : "<string>"
7850 },
7851 "password" : {
7852 "description" : "Superuser password.",
7853 "maxLength" : 128,
7854 "type" : "string",
7855 "typetext" : "<string>"
7856 }
7857 }
7858 },
7859 "protected" : 1,
7860 "returns" : {
7861 "type" : "string"
7862 }
7863 }
7864 },
7865 "leaf" : 1,
7866 "path" : "/config/cluster/join",
7867 "text" : "join"
c5ccf1ab
TL
7868 },
7869 {
7870 "info" : {
7871 "POST" : {
7872 "allowtoken" : 1,
7873 "description" : "Update API certificate fingerprints (by fetching it via ssh).",
7874 "method" : "POST",
7875 "name" : "update_fingerprints",
7876 "parameters" : {
7877 "additionalProperties" : 0
7878 },
7879 "protected" : 1,
7880 "proxyto" : "master",
7881 "returns" : {
7882 "type" : "null"
7883 }
7884 }
7885 },
7886 "leaf" : 1,
7887 "path" : "/config/cluster/update-fingerprints",
7888 "text" : "update-fingerprints"
d7cd791b
DM
7889 }
7890 ],
410dc2c9
DM
7891 "info" : {
7892 "GET" : {
6bd70b95 7893 "allowtoken" : 1,
d7cd791b 7894 "description" : "Directory index.",
410dc2c9
DM
7895 "method" : "GET",
7896 "name" : "index",
7897 "parameters" : {
7898 "additionalProperties" : 0
7899 },
d7cd791b
DM
7900 "permissions" : {
7901 "user" : "all"
7902 },
410dc2c9
DM
7903 "returns" : {
7904 "items" : {
d7cd791b 7905 "properties" : {},
410dc2c9
DM
7906 "type" : "object"
7907 },
7908 "links" : [
7909 {
d7cd791b 7910 "href" : "{name}",
410dc2c9
DM
7911 "rel" : "child"
7912 }
7913 ],
7914 "type" : "array"
7915 }
7916 }
7917 },
d7cd791b 7918 "leaf" : 0,
410dc2c9
DM
7919 "path" : "/config/cluster",
7920 "text" : "cluster"
7921 },
9fda36b0
DM
7922 {
7923 "info" : {
7924 "GET" : {
6bd70b95 7925 "allowtoken" : 1,
9fda36b0
DM
7926 "description" : "Get Mime Types List",
7927 "method" : "GET",
7928 "name" : "index",
7929 "parameters" : {
7930 "additionalProperties" : 0
7931 },
7932 "returns" : {
7933 "items" : {
7934 "properties" : {
7935 "mimetype" : {
7936 "type" : "string"
7937 },
7938 "text" : {
7939 "type" : "string"
7940 }
7941 },
7942 "type" : "object"
7943 },
7944 "type" : "array"
7945 }
7946 }
7947 },
7948 "leaf" : 1,
7949 "path" : "/config/mimetypes",
7950 "text" : "mimetypes"
7951 },
241ac83c
TL
7952 {
7953 "children" : [
7954 {
7955 "info" : {
7956 "DELETE" : {
6bd70b95 7957 "allowtoken" : 1,
241ac83c
TL
7958 "description" : "Delete a tls_policy entry",
7959 "method" : "DELETE",
7960 "name" : "delete",
7961 "parameters" : {
7962 "additionalProperties" : 0,
7963 "properties" : {
549cfb68
TL
7964 "destination" : {
7965 "description" : "Destination (Domain or next-hop).",
7966 "format" : "transport-domain-or-nexthop",
241ac83c
TL
7967 "type" : "string",
7968 "typetext" : "<string>"
7969 }
7970 }
7971 },
7972 "permissions" : {
7973 "check" : [
7974 "admin"
7975 ]
7976 },
7977 "protected" : 1,
7978 "proxyto" : "master",
7979 "returns" : {
7980 "type" : "null"
7981 }
7982 },
7983 "GET" : {
6bd70b95 7984 "allowtoken" : 1,
241ac83c
TL
7985 "description" : "Read tls_policy entry.",
7986 "method" : "GET",
7987 "name" : "read",
7988 "parameters" : {
7989 "additionalProperties" : 0,
7990 "properties" : {
549cfb68
TL
7991 "destination" : {
7992 "description" : "Destination (Domain or next-hop).",
7993 "format" : "transport-domain-or-nexthop",
241ac83c
TL
7994 "type" : "string",
7995 "typetext" : "<string>"
7996 }
7997 }
7998 },
7999 "permissions" : {
8000 "check" : [
8001 "admin",
8002 "audit"
8003 ]
8004 },
8005 "proxyto" : "master",
8006 "returns" : {
8007 "properties" : {
549cfb68
TL
8008 "destination" : {
8009 "format" : "transport-domain-or-nexthop",
8010 "type" : "string"
8011 },
241ac83c
TL
8012 "policy" : {
8013 "format" : "tls-policy",
8014 "type" : "string"
8015 }
8016 },
8017 "type" : "object"
8018 }
8019 },
8020 "PUT" : {
6bd70b95 8021 "allowtoken" : 1,
241ac83c
TL
8022 "description" : "Update tls_policy entry.",
8023 "method" : "PUT",
8024 "name" : "write",
8025 "parameters" : {
8026 "additionalProperties" : 0,
8027 "properties" : {
549cfb68
TL
8028 "destination" : {
8029 "description" : "Destination (Domain or next-hop).",
8030 "format" : "transport-domain-or-nexthop",
241ac83c
TL
8031 "type" : "string",
8032 "typetext" : "<string>"
8033 },
8034 "policy" : {
8035 "description" : "TLS policy",
8036 "format" : "tls-policy-strict",
8037 "type" : "string",
8038 "typetext" : "<string>"
8039 }
8040 }
8041 },
8042 "permissions" : {
8043 "check" : [
8044 "admin"
8045 ]
8046 },
8047 "protected" : 1,
8048 "proxyto" : "master",
8049 "returns" : {
8050 "type" : "null"
8051 }
8052 }
8053 },
8054 "leaf" : 1,
549cfb68
TL
8055 "path" : "/config/tlspolicy/{destination}",
8056 "text" : "{destination}"
241ac83c
TL
8057 }
8058 ],
8059 "info" : {
8060 "GET" : {
6bd70b95 8061 "allowtoken" : 1,
241ac83c
TL
8062 "description" : "List tls_policy entries.",
8063 "method" : "GET",
8064 "name" : "index",
8065 "parameters" : {
8066 "additionalProperties" : 0
8067 },
8068 "permissions" : {
8069 "check" : [
8070 "admin",
8071 "audit"
8072 ]
8073 },
8074 "proxyto" : "master",
8075 "returns" : {
8076 "items" : {
8077 "properties" : {
549cfb68
TL
8078 "destination" : {
8079 "format" : "transport-domain-or-nexthop",
8080 "type" : "string"
8081 },
241ac83c
TL
8082 "policy" : {
8083 "format" : "tls-policy",
8084 "type" : "string"
8085 }
8086 },
8087 "type" : "object"
8088 },
8089 "links" : [
8090 {
549cfb68 8091 "href" : "{destination}",
241ac83c
TL
8092 "rel" : "child"
8093 }
8094 ],
8095 "type" : "array"
8096 }
8097 },
8098 "POST" : {
6bd70b95 8099 "allowtoken" : 1,
241ac83c
TL
8100 "description" : "Add tls_policy entry.",
8101 "method" : "POST",
8102 "name" : "create",
8103 "parameters" : {
8104 "additionalProperties" : 0,
8105 "properties" : {
549cfb68
TL
8106 "destination" : {
8107 "description" : "Destination (Domain or next-hop).",
8108 "format" : "transport-domain-or-nexthop",
241ac83c
TL
8109 "type" : "string",
8110 "typetext" : "<string>"
8111 },
8112 "policy" : {
8113 "description" : "TLS policy",
8114 "format" : "tls-policy-strict",
8115 "type" : "string",
8116 "typetext" : "<string>"
8117 }
8118 }
8119 },
8120 "permissions" : {
8121 "check" : [
8122 "admin"
8123 ]
8124 },
8125 "protected" : 1,
8126 "proxyto" : "master",
8127 "returns" : {
8128 "type" : "null"
8129 }
8130 }
8131 },
8132 "leaf" : 0,
8133 "path" : "/config/tlspolicy",
8134 "text" : "tlspolicy"
8135 },
8c308065
TL
8136 {
8137 "children" : [
8138 {
8139 "info" : {
8140 "DELETE" : {
8141 "allowtoken" : 1,
8142 "description" : "Delete a tls_inbound_domains entry",
8143 "method" : "DELETE",
8144 "name" : "delete",
8145 "parameters" : {
8146 "additionalProperties" : 0,
8147 "properties" : {
8148 "domain" : {
8149 "description" : "Domain which should be removed from tls_inbound_domains",
8150 "format" : "transport-domain",
8151 "type" : "string",
8152 "typetext" : "<string>"
8153 }
8154 }
8155 },
8156 "permissions" : {
8157 "check" : [
8158 "admin"
8159 ]
8160 },
8161 "protected" : 1,
8162 "proxyto" : "master",
8163 "returns" : {
8164 "type" : "null"
8165 }
8166 }
8167 },
8168 "leaf" : 1,
8169 "path" : "/config/tls-inbound-domains/{domain}",
8170 "text" : "{domain}"
8171 }
8172 ],
8173 "info" : {
8174 "GET" : {
8175 "allowtoken" : 1,
8176 "description" : "List tls_inbound_domains entries.",
8177 "method" : "GET",
8178 "name" : "index",
8179 "parameters" : {
8180 "additionalProperties" : 0
8181 },
8182 "permissions" : {
8183 "check" : [
8184 "admin",
8185 "audit"
8186 ]
8187 },
8188 "proxyto" : "master",
8189 "returns" : {
8190 "description" : "List of domains for which TLS will be enforced on incoming connections",
8191 "items" : {
8192 "format" : "transport-domain",
8193 "type" : "string"
8194 },
8195 "links" : [
8196 {
8197 "href" : "{domain}",
8198 "rel" : "child"
8199 }
8200 ],
8201 "type" : "array"
8202 }
8203 },
8204 "POST" : {
8205 "allowtoken" : 1,
8206 "description" : "Add new tls_inbound_domains entry.",
8207 "method" : "POST",
8208 "name" : "create",
8209 "parameters" : {
8210 "additionalProperties" : 0,
8211 "properties" : {
8212 "domain" : {
8213 "description" : "Domain for which TLS should be enforced on incoming connections",
8214 "format" : "transport-domain",
8215 "type" : "string",
8216 "typetext" : "<string>"
8217 }
8218 }
8219 },
8220 "permissions" : {
8221 "check" : [
8222 "admin"
8223 ]
8224 },
8225 "protected" : 1,
8226 "proxyto" : "master",
8227 "returns" : {
8228 "type" : "null"
8229 }
8230 }
8231 },
8232 "leaf" : 0,
8233 "path" : "/config/tls-inbound-domains",
8234 "text" : "tls-inbound-domains"
8235 },
410dc2c9 8236 {
d210277a
TL
8237 "children" : [
8238 {
8239 "children" : [
8240 {
8241 "info" : {
8242 "DELETE" : {
6bd70b95 8243 "allowtoken" : 1,
d210277a
TL
8244 "description" : "Delete a DKIM-sign domain",
8245 "method" : "DELETE",
8246 "name" : "delete",
8247 "parameters" : {
8248 "additionalProperties" : 0,
8249 "properties" : {
8250 "domain" : {
8251 "description" : "Domain name.",
8252 "format" : "transport-domain",
8253 "type" : "string",
8254 "typetext" : "<string>"
8255 }
8256 }
8257 },
8258 "permissions" : {
8259 "check" : [
8260 "admin"
8261 ]
8262 },
8263 "protected" : 1,
8264 "proxyto" : "master",
8265 "returns" : {
8266 "type" : "null"
8267 }
8268 },
8269 "GET" : {
6bd70b95 8270 "allowtoken" : 1,
d210277a
TL
8271 "description" : "Read Domain data (comment).",
8272 "method" : "GET",
8273 "name" : "read",
8274 "parameters" : {
8275 "additionalProperties" : 0,
8276 "properties" : {
8277 "domain" : {
8278 "description" : "Domain name.",
8279 "format" : "transport-domain",
8280 "type" : "string",
8281 "typetext" : "<string>"
8282 }
8283 }
8284 },
8285 "permissions" : {
8286 "check" : [
8287 "admin",
8288 "audit"
8289 ]
8290 },
8291 "proxyto" : "master",
8292 "returns" : {
8293 "properties" : {
8294 "comment" : {
8295 "type" : "string"
8296 },
8297 "domain" : {
8298 "type" : "string"
8299 }
8300 },
8301 "type" : "object"
8302 }
8303 },
8304 "PUT" : {
6bd70b95 8305 "allowtoken" : 1,
d210277a
TL
8306 "description" : "Update DKIM-sign domain data (comment).",
8307 "method" : "PUT",
8308 "name" : "write",
8309 "parameters" : {
8310 "additionalProperties" : 0,
8311 "properties" : {
8312 "comment" : {
8313 "description" : "Comment.",
8314 "type" : "string",
8315 "typetext" : "<string>"
8316 },
8317 "domain" : {
8318 "description" : "Domain name.",
8319 "format" : "transport-domain",
8320 "type" : "string",
8321 "typetext" : "<string>"
8322 }
8323 }
8324 },
8325 "permissions" : {
8326 "check" : [
8327 "admin"
8328 ]
8329 },
8330 "protected" : 1,
8331 "proxyto" : "master",
8332 "returns" : {
8333 "type" : "null"
8334 }
8335 }
8336 },
8337 "leaf" : 1,
8338 "path" : "/config/dkim/domains/{domain}",
8339 "text" : "{domain}"
8340 }
8341 ],
8342 "info" : {
8343 "GET" : {
6bd70b95 8344 "allowtoken" : 1,
d210277a
TL
8345 "description" : "List DKIM-sign domains.",
8346 "method" : "GET",
8347 "name" : "index",
8348 "parameters" : {
8349 "additionalProperties" : 0
8350 },
8351 "permissions" : {
8352 "check" : [
8353 "admin",
8354 "audit"
8355 ]
8356 },
8357 "proxyto" : "master",
8358 "returns" : {
8359 "items" : {
8360 "properties" : {
8361 "comment" : {
8362 "type" : "string"
8363 },
8364 "domain" : {
8365 "type" : "string"
8366 }
8367 },
8368 "type" : "object"
8369 },
8370 "links" : [
8371 {
8372 "href" : "{domain}",
8373 "rel" : "child"
8374 }
8375 ],
8376 "type" : "array"
8377 }
8378 },
8379 "POST" : {
6bd70b95 8380 "allowtoken" : 1,
d210277a
TL
8381 "description" : "Add DKIM-sign domain.",
8382 "method" : "POST",
8383 "name" : "create",
8384 "parameters" : {
8385 "additionalProperties" : 0,
8386 "properties" : {
8387 "comment" : {
8388 "description" : "Comment.",
8389 "optional" : 1,
8390 "type" : "string",
8391 "typetext" : "<string>"
8392 },
8393 "domain" : {
8394 "description" : "Domain name.",
8395 "format" : "transport-domain",
8396 "type" : "string",
8397 "typetext" : "<string>"
8398 }
8399 }
8400 },
8401 "permissions" : {
8402 "check" : [
8403 "admin"
8404 ]
8405 },
8406 "protected" : 1,
8407 "proxyto" : "master",
8408 "returns" : {
8409 "type" : "null"
8410 }
8411 }
8412 },
8413 "leaf" : 0,
8414 "path" : "/config/dkim/domains",
8415 "text" : "domains"
8416 },
8417 {
8418 "info" : {
8419 "GET" : {
6bd70b95 8420 "allowtoken" : 1,
d210277a
TL
8421 "description" : "Get the public key for the configured selector, prepared as DKIM TXT record",
8422 "method" : "GET",
8423 "name" : "get_selector_info",
8424 "parameters" : {
8425 "additionalProperties" : 0
8426 },
8427 "permissions" : {
8428 "check" : [
8429 "admin"
8430 ]
8431 },
8432 "protected" : 1,
8433 "proxyto" : "master",
8434 "returns" : {
8435 "properties" : {
8436 "keysize" : {
8437 "minimum" : 1024,
8438 "optional" : 1,
8439 "type" : "integer"
8440 },
8441 "record" : {
8442 "format" : "pmg-dkim-record",
8443 "optional" : 1,
8444 "type" : "string"
8445 },
8446 "selector" : {
8447 "format" : "dns-name",
8448 "optional" : 1,
8449 "type" : "string"
8450 }
8451 },
8452 "type" : "object"
8453 }
8454 },
8455 "POST" : {
6bd70b95 8456 "allowtoken" : 1,
d210277a
TL
8457 "description" : "Generate a new private key for selector. All future mail will be signed with the new key!",
8458 "method" : "POST",
8459 "name" : "set_selector",
8460 "parameters" : {
8461 "additionalProperties" : 0,
8462 "properties" : {
6bd70b95
TL
8463 "force" : {
8464 "description" : "Overwrite existing key",
8465 "optional" : 1,
8466 "type" : "boolean",
8467 "typetext" : "<boolean>"
8468 },
d210277a
TL
8469 "keysize" : {
8470 "description" : "Number of bits for the RSA-Key",
8471 "minimum" : 1024,
8472 "type" : "integer",
8473 "typetext" : "<integer> (1024 - N)"
8474 },
8475 "selector" : {
8476 "description" : "DKIM Selector",
8477 "format" : "dns-name",
8478 "type" : "string",
8479 "typetext" : "<string>"
8480 }
8481 }
8482 },
8483 "permissions" : {
8484 "check" : [
8485 "admin"
8486 ]
8487 },
8488 "protected" : 1,
8489 "proxyto" : "master",
8490 "returns" : {
8491 "type" : "null"
8492 }
8493 }
8494 },
8495 "leaf" : 1,
8496 "path" : "/config/dkim/selector",
8497 "text" : "selector"
6bd70b95
TL
8498 },
8499 {
8500 "info" : {
8501 "GET" : {
8502 "allowtoken" : 1,
8503 "description" : "Get a list of all existing selectors",
8504 "method" : "GET",
8505 "name" : "get_selector_list",
8506 "parameters" : {
8507 "additionalProperties" : 0
8508 },
8509 "permissions" : {
8510 "check" : [
8511 "admin"
8512 ]
8513 },
8514 "protected" : 1,
8515 "proxyto" : "master",
8516 "returns" : {
8517 "items" : {
8518 "properties" : {
8519 "selector" : {
8520 "format" : "dns-name",
8521 "type" : "string"
8522 }
8523 },
8524 "type" : "object"
8525 },
8526 "links" : [
8527 {
8528 "href" : "{selector}",
8529 "rel" : "child"
8530 }
8531 ],
8532 "type" : "array"
8533 }
8534 }
8535 },
8536 "leaf" : 1,
8537 "path" : "/config/dkim/selectors",
8538 "text" : "selectors"
d210277a
TL
8539 }
8540 ],
410dc2c9
DM
8541 "info" : {
8542 "GET" : {
6bd70b95 8543 "allowtoken" : 1,
d210277a 8544 "description" : "Directory index.",
410dc2c9 8545 "method" : "GET",
d210277a 8546 "name" : "index",
410dc2c9
DM
8547 "parameters" : {
8548 "additionalProperties" : 0
8549 },
410dc2c9 8550 "returns" : {
d210277a
TL
8551 "items" : {
8552 "properties" : {
8553 "section" : {
8554 "type" : "string"
8555 }
9fda36b0 8556 },
d210277a
TL
8557 "type" : "object"
8558 },
8559 "links" : [
8560 {
8561 "href" : "{section}",
8562 "rel" : "child"
8563 }
8564 ],
8565 "type" : "array"
8566 }
8567 }
8568 },
8569 "leaf" : 0,
8570 "path" : "/config/dkim",
8571 "text" : "dkim"
8572 },
8573 {
8574 "children" : [
8575 {
8576 "info" : {
8577 "DELETE" : {
6bd70b95 8578 "allowtoken" : 1,
d210277a
TL
8579 "description" : "Edit custom SpamAssassin score",
8580 "method" : "DELETE",
8581 "name" : "delete_score",
8582 "parameters" : {
8583 "additionalProperties" : 0,
8584 "properties" : {
8585 "digest" : {
cbd73e8f
TL
8586 "description" : "Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.",
8587 "maxLength" : 64,
d210277a
TL
8588 "optional" : 1,
8589 "type" : "string",
8590 "typetext" : "<string>"
8591 },
8592 "name" : {
8593 "description" : "The name of the rule.",
8594 "pattern" : "[a-zA-Z\\_\\-\\.0-9]+",
8595 "type" : "string"
8596 }
8597 }
8598 },
8599 "protected" : 1,
8600 "proxyto" : "master",
8601 "returns" : {
8602 "type" : "null"
8603 }
8604 },
8605 "GET" : {
6bd70b95 8606 "allowtoken" : 1,
d210277a
TL
8607 "description" : "Get custom SpamAssassin score",
8608 "method" : "GET",
8609 "name" : "get_score",
8610 "parameters" : {
8611 "additionalProperties" : 0,
8612 "properties" : {
8613 "name" : {
8614 "description" : "The name of the rule.",
8615 "pattern" : "[a-zA-Z\\_\\-\\.0-9]+",
8616 "type" : "string"
8617 }
8618 }
8619 },
8620 "protected" : 1,
8621 "proxyto" : "master",
8622 "returns" : {
8623 "properties" : {
8624 "comment" : {
8625 "description" : "The Comment.",
8626 "optional" : 1,
8627 "type" : "string"
8628 },
8629 "name" : {
8630 "description" : "The name of the rule.",
8631 "pattern" : "[a-zA-Z\\_\\-\\.0-9]+",
8632 "type" : "string"
8633 },
8634 "score" : {
8635 "description" : "The score the rule should be valued at.",
8636 "type" : "number"
8637 }
8638 },
8639 "type" : "object"
8640 }
8641 },
8642 "PUT" : {
6bd70b95 8643 "allowtoken" : 1,
d210277a
TL
8644 "description" : "Edit custom SpamAssassin score",
8645 "method" : "PUT",
8646 "name" : "edit_score",
8647 "parameters" : {
8648 "additionalProperties" : 0,
8649 "properties" : {
8650 "comment" : {
8651 "description" : "The Comment.",
8652 "optional" : 1,
8653 "type" : "string",
8654 "typetext" : "<string>"
8655 },
8656 "digest" : {
cbd73e8f
TL
8657 "description" : "Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.",
8658 "maxLength" : 64,
d210277a
TL
8659 "optional" : 1,
8660 "type" : "string",
8661 "typetext" : "<string>"
8662 },
8663 "name" : {
8664 "description" : "The name of the rule.",
8665 "pattern" : "[a-zA-Z\\_\\-\\.0-9]+",
8666 "type" : "string"
8667 },
8668 "score" : {
8669 "description" : "The score the rule should be valued at.",
8670 "type" : "number",
8671 "typetext" : "<number>"
8672 }
8673 }
8674 },
8675 "protected" : 1,
8676 "proxyto" : "master",
8677 "returns" : {
8678 "type" : "null"
8679 }
8680 }
8681 },
8682 "leaf" : 1,
8683 "path" : "/config/customscores/{name}",
8684 "text" : "{name}"
8685 }
8686 ],
8687 "info" : {
8688 "DELETE" : {
6bd70b95 8689 "allowtoken" : 1,
d210277a
TL
8690 "description" : "Revert custom score changes.",
8691 "method" : "DELETE",
8692 "name" : "revert_score_changes",
8693 "parameters" : {
8694 "additionalProperties" : 0
8695 },
8696 "permissions" : {
8697 "check" : [
8698 "admin"
8699 ]
8700 },
8701 "protected" : 1,
8702 "proxyto" : "master",
8703 "returns" : {
8704 "type" : "null"
8705 }
8706 },
8707 "GET" : {
6bd70b95 8708 "allowtoken" : 1,
d210277a
TL
8709 "description" : "List custom scores.",
8710 "method" : "GET",
8711 "name" : "list_scores",
8712 "parameters" : {
8713 "additionalProperties" : 0
8714 },
8715 "permissions" : {
8716 "check" : [
8717 "admin",
8718 "audit"
8719 ]
8720 },
8721 "proxyto" : "master",
8722 "returns" : {
8723 "items" : {
8724 "properties" : {
8725 "comment" : {
8726 "description" : "The Comment.",
8727 "optional" : 1,
8728 "type" : "string"
8729 },
8730 "digest" : {
cbd73e8f
TL
8731 "description" : "Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.",
8732 "maxLength" : 64,
d210277a
TL
8733 "optional" : 1,
8734 "type" : "string"
8735 },
8736 "name" : {
8737 "description" : "The name of the rule.",
8738 "optional" : 1,
8739 "pattern" : "[a-zA-Z\\_\\-\\.0-9]+",
8740 "type" : "string"
8741 },
8742 "score" : {
8743 "description" : "The score the rule should be valued at.",
8744 "optional" : 1,
8745 "type" : "number"
8746 }
8747 },
8748 "type" : "object"
8749 },
8750 "links" : [
8751 {
8752 "href" : "{name}",
8753 "rel" : "child"
8754 }
8755 ],
8756 "type" : "array"
8757 }
8758 },
8759 "POST" : {
6bd70b95 8760 "allowtoken" : 1,
d210277a
TL
8761 "description" : "Create custom SpamAssassin score",
8762 "method" : "POST",
8763 "name" : "create_score",
8764 "parameters" : {
8765 "additionalProperties" : 0,
8766 "properties" : {
8767 "comment" : {
8768 "description" : "The Comment.",
8769 "optional" : 1,
8770 "type" : "string",
8771 "typetext" : "<string>"
8772 },
8773 "digest" : {
cbd73e8f
TL
8774 "description" : "Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.",
8775 "maxLength" : 64,
d210277a
TL
8776 "optional" : 1,
8777 "type" : "string",
8778 "typetext" : "<string>"
8779 },
8780 "name" : {
8781 "description" : "The name of the rule.",
8782 "pattern" : "[a-zA-Z\\_\\-\\.0-9]+",
8783 "type" : "string"
8784 },
8785 "score" : {
8786 "description" : "The score the rule should be valued at.",
8787 "type" : "number",
8788 "typetext" : "<number>"
8789 }
8790 }
8791 },
8792 "protected" : 1,
8793 "proxyto" : "master",
8794 "returns" : {
8795 "type" : "null"
8796 }
8797 },
8798 "PUT" : {
6bd70b95 8799 "allowtoken" : 1,
d210277a
TL
8800 "description" : "Apply custom score changes.",
8801 "method" : "PUT",
8802 "name" : "apply_score_changes",
8803 "parameters" : {
8804 "additionalProperties" : 0,
8805 "properties" : {
8806 "digest" : {
cbd73e8f
TL
8807 "description" : "Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.",
8808 "maxLength" : 64,
d210277a
TL
8809 "optional" : 1,
8810 "type" : "string",
8811 "typetext" : "<string>"
8812 },
8813 "restart-daemon" : {
8814 "default" : 0,
8815 "description" : "If set, also restarts pmg-smtp-filter. This is necessary for the changes to work.",
8816 "optional" : 1,
8817 "type" : "boolean",
8818 "typetext" : "<boolean>"
8819 }
8820 }
8821 },
8822 "permissions" : {
8823 "check" : [
8824 "admin"
8825 ]
8826 },
8827 "protected" : 1,
8828 "proxyto" : "master",
8829 "returns" : {
8830 "type" : "string"
8831 }
8832 }
8833 },
8834 "leaf" : 0,
8835 "path" : "/config/customscores",
8836 "text" : "customscores"
8837 },
8838 {
ab2b846b
TL
8839 "children" : [
8840 {
8841 "info" : {
8842 "DELETE" : {
8843 "allowtoken" : 1,
8844 "description" : "Delete an PBS remote",
8845 "method" : "DELETE",
8846 "name" : "delete",
8847 "parameters" : {
8848 "additionalProperties" : 0,
8849 "properties" : {
8850 "remote" : {
8851 "description" : "Profile ID.",
8852 "format" : "pve-configid",
8853 "type" : "string",
8854 "typetext" : "<string>"
8855 }
8856 }
8857 },
8858 "permissions" : {
8859 "check" : [
8860 "admin"
8861 ]
8862 },
8863 "protected" : 1,
8864 "proxyto" : "master",
8865 "returns" : {
8866 "type" : "null"
8867 }
8868 },
8869 "GET" : {
8870 "allowtoken" : 1,
8871 "description" : "Get Proxmox Backup Server remote configuration.",
8872 "method" : "GET",
8873 "name" : "read_config",
8874 "parameters" : {
8875 "additionalProperties" : 1,
8876 "properties" : {
8877 "remote" : {
8878 "description" : "Proxmox Backup Server ID.",
8879 "format" : "pve-configid",
8880 "type" : "string",
8881 "typetext" : "<string>"
8882 }
8883 }
8884 },
8885 "permissions" : {
8886 "check" : [
8887 "admin",
8888 "audit"
8889 ]
8890 },
8891 "proxyto" : "master",
8892 "returns" : {}
8893 },
8894 "PUT" : {
8895 "allowtoken" : 1,
8896 "description" : "Update PBS remote settings.",
8897 "method" : "PUT",
8898 "name" : "update_config",
8899 "parameters" : {
8900 "additionalProperties" : 0,
8901 "properties" : {
8902 "datastore" : {
8903 "description" : "Proxmox Backup Server datastore name.",
8904 "optional" : 1,
0b9926d3
TL
8905 "pattern" : "(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)",
8906 "type" : "string"
ab2b846b
TL
8907 },
8908 "delete" : {
8909 "description" : "A list of settings you want to delete.",
8910 "format" : "pve-configid-list",
8911 "maxLength" : 4096,
8912 "optional" : 1,
8913 "type" : "string",
8914 "typetext" : "<string>"
8915 },
8916 "digest" : {
cbd73e8f
TL
8917 "description" : "Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.",
8918 "maxLength" : 64,
ab2b846b
TL
8919 "optional" : 1,
8920 "type" : "string",
8921 "typetext" : "<string>"
8922 },
8923 "disable" : {
8924 "description" : "Flag to disable (deactivate) the entry.",
8925 "optional" : 1,
8926 "type" : "boolean",
8927 "typetext" : "<boolean>"
8928 },
8929 "fingerprint" : {
8930 "description" : "Certificate SHA 256 fingerprint.",
8931 "optional" : 1,
8932 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
8933 "type" : "string"
8934 },
c5ccf1ab
TL
8935 "include-statistics" : {
8936 "description" : "Include statistics in scheduled backups",
8937 "optional" : 1,
8938 "type" : "boolean",
8939 "typetext" : "<boolean>"
8940 },
ab2b846b
TL
8941 "keep-daily" : {
8942 "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.",
8943 "format_description" : "N",
8944 "minimum" : "0",
8945 "optional" : 1,
8946 "type" : "integer",
8947 "typetext" : "<N>"
8948 },
8949 "keep-hourly" : {
8950 "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.",
8951 "format_description" : "N",
8952 "minimum" : "0",
8953 "optional" : 1,
8954 "type" : "integer",
8955 "typetext" : "<N>"
8956 },
8957 "keep-last" : {
8958 "description" : "Keep the last <N> backups.",
8959 "format_description" : "N",
8960 "minimum" : "0",
8961 "optional" : 1,
8962 "type" : "integer",
8963 "typetext" : "<N>"
8964 },
8965 "keep-monthly" : {
8966 "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.",
8967 "format_description" : "N",
8968 "minimum" : "0",
8969 "optional" : 1,
8970 "type" : "integer",
8971 "typetext" : "<N>"
8972 },
8973 "keep-weekly" : {
8974 "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.",
8975 "format_description" : "N",
8976 "minimum" : "0",
8977 "optional" : 1,
8978 "type" : "integer",
8979 "typetext" : "<N>"
8980 },
8981 "keep-yearly" : {
8982 "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.",
8983 "format_description" : "N",
8984 "minimum" : "0",
8985 "optional" : 1,
8986 "type" : "integer",
8987 "typetext" : "<N>"
8988 },
0b9926d3
TL
8989 "namespace" : {
8990 "description" : "Proxmox Backup Server namespace in the datastore, defaults to the root NS.",
8991 "maxLength" : 256,
8992 "optional" : 1,
8993 "pattern" : "(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)/){0,7}(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*))?",
8994 "type" : "string"
8995 },
c5ccf1ab
TL
8996 "notify" : {
8997 "description" : "Specify when to notify via e-mail",
8998 "enum" : [
8999 "always",
9000 "error",
9001 "never"
9002 ],
9003 "optional" : 1,
9004 "type" : "string"
9005 },
ab2b846b
TL
9006 "password" : {
9007 "description" : "Password or API token secret for the user on the Proxmox Backup Server.",
9008 "optional" : 1,
9009 "type" : "string",
9010 "typetext" : "<string>"
9011 },
cbd73e8f
TL
9012 "port" : {
9013 "default" : 8007,
9014 "description" : "Non-default port for Proxmox Backup Server.",
9015 "maximum" : 65535,
9016 "minimum" : 1,
9017 "optional" : 1,
9018 "type" : "integer",
9019 "typetext" : "<integer> (1 - 65535)"
9020 },
ab2b846b
TL
9021 "remote" : {
9022 "description" : "Proxmox Backup Server ID.",
9023 "format" : "pve-configid",
9024 "type" : "string",
9025 "typetext" : "<string>"
9026 },
9027 "server" : {
9028 "description" : "Proxmox Backup Server address.",
9029 "format" : "address",
9030 "maxLength" : 256,
9031 "optional" : 1,
9032 "type" : "string",
9033 "typetext" : "<string>"
9034 },
9035 "username" : {
9036 "description" : "Username or API token ID on the Proxmox Backup Server",
9037 "maxLength" : 512,
9038 "minLength" : 3,
9039 "optional" : 1,
c5ccf1ab 9040 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
ab2b846b
TL
9041 "type" : "string"
9042 }
9043 },
9044 "type" : "object"
9045 },
9046 "permissions" : {
9047 "check" : [
9048 "admin"
9049 ]
9050 },
9051 "protected" : 1,
9052 "proxyto" : "master",
9053 "returns" : {
9054 "type" : "null"
9055 }
9056 }
9057 },
9058 "leaf" : 1,
9059 "path" : "/config/pbs/{remote}",
9060 "text" : "{remote}"
9061 }
9062 ],
d210277a
TL
9063 "info" : {
9064 "GET" : {
6bd70b95 9065 "allowtoken" : 1,
ab2b846b 9066 "description" : "List all configured Proxmox Backup Server instances.",
d210277a 9067 "method" : "GET",
ab2b846b 9068 "name" : "list",
d210277a
TL
9069 "parameters" : {
9070 "additionalProperties" : 0
9071 },
9072 "permissions" : {
9073 "check" : [
9074 "admin",
9075 "audit"
9076 ]
9077 },
ab2b846b 9078 "protected" : 1,
d210277a
TL
9079 "proxyto" : "master",
9080 "returns" : {
ab2b846b
TL
9081 "items" : {
9082 "additionalProperties" : 0,
9083 "properties" : {
9084 "datastore" : {
9085 "description" : "Proxmox Backup Server datastore name.",
9086 "optional" : 0,
0b9926d3 9087 "pattern" : "(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)",
ab2b846b
TL
9088 "type" : "string"
9089 },
9090 "disable" : {
9091 "description" : "Flag to disable (deactivate) the entry.",
9092 "optional" : 1,
9093 "type" : "boolean"
9094 },
9095 "fingerprint" : {
9096 "description" : "Certificate SHA 256 fingerprint.",
9097 "optional" : 1,
9098 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
9099 "type" : "string"
9100 },
c5ccf1ab
TL
9101 "include-statistics" : {
9102 "description" : "Include statistics in scheduled backups",
9103 "optional" : 1,
9104 "type" : "boolean"
9105 },
ab2b846b
TL
9106 "keep-daily" : {
9107 "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.",
9108 "format_description" : "N",
9109 "minimum" : "0",
9110 "optional" : 1,
9111 "type" : "integer"
9112 },
9113 "keep-hourly" : {
9114 "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.",
9115 "format_description" : "N",
9116 "minimum" : "0",
9117 "optional" : 1,
9118 "type" : "integer"
9119 },
9120 "keep-last" : {
9121 "description" : "Keep the last <N> backups.",
9122 "format_description" : "N",
9123 "minimum" : "0",
9124 "optional" : 1,
9125 "type" : "integer"
9126 },
9127 "keep-monthly" : {
9128 "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.",
9129 "format_description" : "N",
9130 "minimum" : "0",
9131 "optional" : 1,
9132 "type" : "integer"
9133 },
9134 "keep-weekly" : {
9135 "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.",
9136 "format_description" : "N",
9137 "minimum" : "0",
9138 "optional" : 1,
9139 "type" : "integer"
9140 },
9141 "keep-yearly" : {
9142 "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.",
9143 "format_description" : "N",
9144 "minimum" : "0",
9145 "optional" : 1,
9146 "type" : "integer"
9147 },
0b9926d3
TL
9148 "namespace" : {
9149 "description" : "Proxmox Backup Server namespace in the datastore, defaults to the root NS.",
9150 "maxLength" : 256,
9151 "optional" : 1,
9152 "pattern" : "(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)/){0,7}(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*))?",
9153 "type" : "string"
9154 },
c5ccf1ab
TL
9155 "notify" : {
9156 "description" : "Specify when to notify via e-mail",
9157 "enum" : [
9158 "always",
9159 "error",
9160 "never"
9161 ],
9162 "optional" : 1,
9163 "type" : "string"
9164 },
ab2b846b
TL
9165 "password" : {
9166 "description" : "Password or API token secret for the user on the Proxmox Backup Server.",
9167 "optional" : 1,
9168 "type" : "string"
9169 },
cbd73e8f
TL
9170 "port" : {
9171 "default" : 8007,
9172 "description" : "Non-default port for Proxmox Backup Server.",
9173 "maximum" : 65535,
9174 "minimum" : 1,
9175 "optional" : 1,
9176 "type" : "integer"
9177 },
ab2b846b
TL
9178 "remote" : {
9179 "description" : "Proxmox Backup Server ID.",
9180 "format" : "pve-configid",
9181 "type" : "string"
9182 },
9183 "server" : {
9184 "description" : "Proxmox Backup Server address.",
9185 "format" : "address",
9186 "maxLength" : 256,
9187 "optional" : 0,
9188 "type" : "string"
9189 },
9190 "username" : {
9191 "description" : "Username or API token ID on the Proxmox Backup Server",
9192 "maxLength" : 512,
9193 "minLength" : 3,
9194 "optional" : 1,
c5ccf1ab 9195 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
ab2b846b
TL
9196 "type" : "string"
9197 }
9198 },
9199 "type" : "object"
9200 },
9201 "links" : [
9202 {
9203 "href" : "{remote}",
9204 "rel" : "child"
9205 }
9206 ],
9207 "type" : "array"
d210277a
TL
9208 }
9209 },
ab2b846b 9210 "POST" : {
6bd70b95 9211 "allowtoken" : 1,
ab2b846b
TL
9212 "description" : "Add Proxmox Backup Server remote instance.",
9213 "method" : "POST",
9214 "name" : "create",
d210277a
TL
9215 "parameters" : {
9216 "additionalProperties" : 0,
9217 "properties" : {
ab2b846b
TL
9218 "datastore" : {
9219 "description" : "Proxmox Backup Server datastore name.",
9220 "optional" : 0,
0b9926d3
TL
9221 "pattern" : "(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)",
9222 "type" : "string"
d210277a 9223 },
ab2b846b
TL
9224 "disable" : {
9225 "description" : "Flag to disable (deactivate) the entry.",
f225b3b4
DM
9226 "optional" : 1,
9227 "type" : "boolean",
9228 "typetext" : "<boolean>"
9229 },
ab2b846b
TL
9230 "fingerprint" : {
9231 "description" : "Certificate SHA 256 fingerprint.",
f225b3b4 9232 "optional" : 1,
ab2b846b
TL
9233 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
9234 "type" : "string"
f225b3b4 9235 },
c5ccf1ab
TL
9236 "include-statistics" : {
9237 "description" : "Include statistics in scheduled backups",
9238 "optional" : 1,
9239 "type" : "boolean",
9240 "typetext" : "<boolean>"
9241 },
ab2b846b
TL
9242 "keep-daily" : {
9243 "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.",
9244 "format_description" : "N",
9245 "minimum" : "0",
241ac83c 9246 "optional" : 1,
ab2b846b
TL
9247 "type" : "integer",
9248 "typetext" : "<N>"
241ac83c 9249 },
ab2b846b
TL
9250 "keep-hourly" : {
9251 "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.",
9252 "format_description" : "N",
9253 "minimum" : "0",
241ac83c 9254 "optional" : 1,
ab2b846b
TL
9255 "type" : "integer",
9256 "typetext" : "<N>"
241ac83c 9257 },
ab2b846b
TL
9258 "keep-last" : {
9259 "description" : "Keep the last <N> backups.",
9260 "format_description" : "N",
9261 "minimum" : "0",
410dc2c9 9262 "optional" : 1,
ab2b846b
TL
9263 "type" : "integer",
9264 "typetext" : "<N>"
410dc2c9 9265 },
ab2b846b
TL
9266 "keep-monthly" : {
9267 "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.",
9268 "format_description" : "N",
9269 "minimum" : "0",
410dc2c9 9270 "optional" : 1,
ab2b846b
TL
9271 "type" : "integer",
9272 "typetext" : "<N>"
410dc2c9 9273 },
ab2b846b
TL
9274 "keep-weekly" : {
9275 "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.",
9276 "format_description" : "N",
9277 "minimum" : "0",
410dc2c9 9278 "optional" : 1,
ab2b846b
TL
9279 "type" : "integer",
9280 "typetext" : "<N>"
410dc2c9 9281 },
ab2b846b
TL
9282 "keep-yearly" : {
9283 "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.",
9284 "format_description" : "N",
9285 "minimum" : "0",
9286 "optional" : 1,
9287 "type" : "integer",
9288 "typetext" : "<N>"
9289 },
0b9926d3
TL
9290 "namespace" : {
9291 "description" : "Proxmox Backup Server namespace in the datastore, defaults to the root NS.",
9292 "maxLength" : 256,
9293 "optional" : 1,
9294 "pattern" : "(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)/){0,7}(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*))?",
9295 "type" : "string"
9296 },
c5ccf1ab
TL
9297 "notify" : {
9298 "description" : "Specify when to notify via e-mail",
9299 "enum" : [
9300 "always",
9301 "error",
9302 "never"
9303 ],
9304 "optional" : 1,
9305 "type" : "string"
9306 },
ab2b846b
TL
9307 "password" : {
9308 "description" : "Password or API token secret for the user on the Proxmox Backup Server.",
9309 "optional" : 1,
9310 "type" : "string",
9311 "typetext" : "<string>"
9312 },
cbd73e8f
TL
9313 "port" : {
9314 "default" : 8007,
9315 "description" : "Non-default port for Proxmox Backup Server.",
9316 "maximum" : 65535,
9317 "minimum" : 1,
9318 "optional" : 1,
9319 "type" : "integer",
9320 "typetext" : "<integer> (1 - 65535)"
9321 },
ab2b846b
TL
9322 "remote" : {
9323 "description" : "Proxmox Backup Server ID.",
9324 "format" : "pve-configid",
9325 "type" : "string",
9326 "typetext" : "<string>"
9327 },
9328 "server" : {
9329 "description" : "Proxmox Backup Server address.",
9330 "format" : "address",
9331 "maxLength" : 256,
9332 "optional" : 0,
9333 "type" : "string",
9334 "typetext" : "<string>"
9335 },
9336 "username" : {
9337 "description" : "Username or API token ID on the Proxmox Backup Server",
9338 "maxLength" : 512,
9339 "minLength" : 3,
9340 "optional" : 1,
c5ccf1ab 9341 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
ab2b846b
TL
9342 "type" : "string"
9343 }
9344 },
9345 "type" : "object"
9346 },
9347 "permissions" : {
9348 "check" : [
9349 "admin"
9350 ]
9351 },
9352 "protected" : 1,
9353 "proxyto" : "master",
9354 "returns" : {
9355 "type" : "null"
9356 }
9357 }
9358 },
9359 "leaf" : 0,
9360 "path" : "/config/pbs",
9361 "text" : "pbs"
9362 },
9363 {
c5ccf1ab
TL
9364 "children" : [
9365 {
9366 "children" : [
9367 {
9368 "info" : {
9369 "DELETE" : {
9370 "allowtoken" : 1,
9371 "description" : "Delete ACME plugin configuration.",
9372 "method" : "DELETE",
9373 "name" : "delete_plugin",
9374 "parameters" : {
9375 "additionalProperties" : 0,
9376 "properties" : {
9377 "id" : {
9378 "description" : "Unique identifier for ACME plugin instance.",
9379 "format" : "pve-configid",
9380 "type" : "string",
9381 "typetext" : "<string>"
9382 }
9383 }
9384 },
9385 "permissions" : {
9386 "check" : [
9387 "admin"
9388 ]
9389 },
9390 "protected" : 1,
9391 "returns" : {
9392 "type" : "null"
9393 }
9394 },
9395 "GET" : {
9396 "allowtoken" : 1,
9397 "description" : "Get ACME plugin configuration.",
9398 "method" : "GET",
9399 "name" : "get_plugin_config",
9400 "parameters" : {
9401 "additionalProperties" : 0,
9402 "properties" : {
9403 "id" : {
9404 "description" : "Unique identifier for ACME plugin instance.",
9405 "format" : "pve-configid",
9406 "type" : "string",
9407 "typetext" : "<string>"
9408 }
9409 }
9410 },
9411 "permissions" : {
9412 "check" : [
9413 "admin"
9414 ]
9415 },
9416 "protected" : 1,
9417 "returns" : {
9418 "type" : "object"
9419 }
9420 },
9421 "PUT" : {
9422 "allowtoken" : 1,
9423 "description" : "Update ACME plugin configuration.",
9424 "method" : "PUT",
9425 "name" : "update_plugin",
9426 "parameters" : {
9427 "additionalProperties" : 0,
9428 "properties" : {
9429 "api" : {
9430 "description" : "API plugin name",
9431 "enum" : [
9432 "1984hosting",
9433 "acmedns",
9434 "acmeproxy",
9435 "active24",
9436 "ad",
9437 "ali",
9438 "anx",
cbd73e8f 9439 "artfiles",
c5ccf1ab 9440 "arvan",
0362f73f 9441 "aurora",
c5ccf1ab
TL
9442 "autodns",
9443 "aws",
e0e71e6a 9444 "azion",
c5ccf1ab 9445 "azure",
cbd73e8f 9446 "bookmyname",
8c308065 9447 "bunny",
c5ccf1ab
TL
9448 "cf",
9449 "clouddns",
9450 "cloudns",
9451 "cn",
9452 "conoha",
9453 "constellix",
8c308065
TL
9454 "cpanel",
9455 "curanet",
c5ccf1ab
TL
9456 "cyon",
9457 "da",
9458 "ddnss",
9459 "desec",
9460 "df",
9461 "dgon",
cbd73e8f 9462 "dnsexit",
8c308065 9463 "dnshome",
c5ccf1ab 9464 "dnsimple",
8c308065 9465 "dnsservices",
c5ccf1ab
TL
9466 "do",
9467 "doapi",
9468 "domeneshop",
9469 "dp",
9470 "dpi",
9471 "dreamhost",
9472 "duckdns",
9473 "durabledns",
9474 "dyn",
9475 "dynu",
9476 "dynv6",
9477 "easydns",
9478 "edgedns",
9479 "euserv",
9480 "exoscale",
8c308065 9481 "fornex",
c5ccf1ab
TL
9482 "freedns",
9483 "gandi_livedns",
9484 "gcloud",
f6fe5021 9485 "gcore",
c5ccf1ab 9486 "gd",
8c308065 9487 "geoscaling",
f6fe5021 9488 "googledomains",
c5ccf1ab
TL
9489 "he",
9490 "hetzner",
9491 "hexonet",
9492 "hostingde",
9493 "huaweicloud",
9494 "infoblox",
9495 "infomaniak",
9496 "internetbs",
9497 "inwx",
9498 "ionos",
f6fe5021 9499 "ipv64",
c5ccf1ab
TL
9500 "ispconfig",
9501 "jd",
9502 "joker",
9503 "kappernet",
9504 "kas",
9505 "kinghost",
9506 "knot",
8c308065 9507 "la",
c5ccf1ab
TL
9508 "leaseweb",
9509 "lexicon",
9510 "linode",
9511 "linode_v4",
9512 "loopia",
9513 "lua",
9514 "maradns",
9515 "me",
9516 "miab",
9517 "misaka",
9518 "myapi",
9519 "mydevil",
9520 "mydnsjp",
8c308065 9521 "mythic_beasts",
c5ccf1ab
TL
9522 "namecheap",
9523 "namecom",
9524 "namesilo",
f6fe5021 9525 "nanelo",
c5ccf1ab
TL
9526 "nederhost",
9527 "neodigit",
9528 "netcup",
9529 "netlify",
9530 "nic",
9531 "njalla",
9532 "nm",
9533 "nsd",
9534 "nsone",
9535 "nsupdate",
9536 "nw",
e0e71e6a 9537 "oci",
c5ccf1ab
TL
9538 "one",
9539 "online",
9540 "openprovider",
9541 "openstack",
9542 "opnsense",
9543 "ovh",
9544 "pdns",
9545 "pleskxml",
9546 "pointhq",
0362f73f 9547 "porkbun",
c5ccf1ab
TL
9548 "rackcorp",
9549 "rackspace",
8c308065 9550 "rage4",
c5ccf1ab
TL
9551 "rcode0",
9552 "regru",
9553 "scaleway",
9554 "schlundtech",
9555 "selectel",
8c308065 9556 "selfhost",
c5ccf1ab
TL
9557 "servercow",
9558 "simply",
9559 "tele3",
cbd73e8f 9560 "tencent",
c5ccf1ab 9561 "transip",
8c308065 9562 "udr",
c5ccf1ab
TL
9563 "ultra",
9564 "unoeuro",
9565 "variomedia",
e0e71e6a 9566 "veesp",
8c308065 9567 "vercel",
c5ccf1ab
TL
9568 "vscale",
9569 "vultr",
0362f73f 9570 "websupport",
c5ccf1ab
TL
9571 "world4you",
9572 "yandex",
8c308065 9573 "yc",
c5ccf1ab
TL
9574 "zilore",
9575 "zone",
9576 "zonomi"
9577 ],
9578 "optional" : 1,
9579 "type" : "string"
9580 },
9581 "data" : {
9582 "description" : "DNS plugin data. (base64 encoded)",
9583 "optional" : 1,
9584 "type" : "string",
9585 "typetext" : "<string>"
9586 },
9587 "delete" : {
9588 "description" : "A list of settings you want to delete.",
9589 "format" : "pve-configid-list",
9590 "maxLength" : 4096,
9591 "optional" : 1,
9592 "type" : "string",
9593 "typetext" : "<string>"
9594 },
9595 "digest" : {
cbd73e8f
TL
9596 "description" : "Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.",
9597 "maxLength" : 64,
c5ccf1ab
TL
9598 "optional" : 1,
9599 "type" : "string",
9600 "typetext" : "<string>"
9601 },
9602 "disable" : {
9603 "description" : "Flag to disable the config.",
9604 "optional" : 1,
9605 "type" : "boolean",
9606 "typetext" : "<boolean>"
9607 },
9608 "id" : {
9609 "description" : "ACME Plugin ID name",
9610 "format" : "pve-configid",
9611 "type" : "string",
9612 "typetext" : "<string>"
9613 },
9614 "nodes" : {
9615 "description" : "List of cluster node names.",
9616 "format" : "pve-node-list",
9617 "optional" : 1,
9618 "type" : "string",
9619 "typetext" : "<string>"
9620 },
9621 "validation-delay" : {
9622 "default" : 30,
9623 "description" : "Extra delay in seconds to wait before requesting validation. Allows to cope with a long TTL of DNS records.",
9624 "maximum" : 172800,
9625 "minimum" : 0,
9626 "optional" : 1,
9627 "type" : "integer",
9628 "typetext" : "<integer> (0 - 172800)"
9629 }
9630 },
9631 "type" : "object"
9632 },
9633 "permissions" : {
9634 "check" : [
9635 "admin"
9636 ]
9637 },
9638 "protected" : 1,
9639 "returns" : {
9640 "type" : "null"
9641 }
9642 }
ab2b846b 9643 },
c5ccf1ab
TL
9644 "leaf" : 1,
9645 "path" : "/config/acme/plugins/{id}",
9646 "text" : "{id}"
9647 }
9648 ],
9649 "info" : {
9650 "GET" : {
9651 "allowtoken" : 1,
9652 "description" : "ACME plugin index.",
9653 "method" : "GET",
9654 "name" : "index",
9655 "parameters" : {
9656 "additionalProperties" : 0,
9657 "properties" : {
9658 "type" : {
9659 "description" : "Only list ACME plugins of a specific type",
9660 "enum" : [
9661 "dns",
9662 "standalone"
9663 ],
9664 "optional" : 1,
9665 "type" : "string"
9666 }
9667 }
ab2b846b 9668 },
c5ccf1ab
TL
9669 "permissions" : {
9670 "check" : [
9671 "admin"
9672 ]
ab2b846b 9673 },
c5ccf1ab
TL
9674 "protected" : 1,
9675 "returns" : {
9676 "items" : {
9677 "properties" : {
9678 "plugin" : {
9679 "description" : "Unique identifier for ACME plugin instance.",
9680 "format" : "pve-configid",
9681 "type" : "string"
9682 }
9683 },
9684 "type" : "object"
9685 },
9686 "links" : [
9687 {
9688 "href" : "{plugin}",
9689 "rel" : "child"
9690 }
9691 ],
9692 "type" : "array"
9693 }
9694 },
9695 "POST" : {
9696 "allowtoken" : 1,
9697 "description" : "Add ACME plugin configuration.",
9698 "method" : "POST",
9699 "name" : "add_plugin",
9700 "parameters" : {
9701 "additionalProperties" : 0,
9702 "properties" : {
9703 "api" : {
9704 "description" : "API plugin name",
9705 "enum" : [
9706 "1984hosting",
9707 "acmedns",
9708 "acmeproxy",
9709 "active24",
9710 "ad",
9711 "ali",
9712 "anx",
cbd73e8f 9713 "artfiles",
c5ccf1ab 9714 "arvan",
0362f73f 9715 "aurora",
c5ccf1ab
TL
9716 "autodns",
9717 "aws",
e0e71e6a 9718 "azion",
c5ccf1ab 9719 "azure",
cbd73e8f 9720 "bookmyname",
8c308065 9721 "bunny",
c5ccf1ab
TL
9722 "cf",
9723 "clouddns",
9724 "cloudns",
9725 "cn",
9726 "conoha",
9727 "constellix",
8c308065
TL
9728 "cpanel",
9729 "curanet",
c5ccf1ab
TL
9730 "cyon",
9731 "da",
9732 "ddnss",
9733 "desec",
9734 "df",
9735 "dgon",
cbd73e8f 9736 "dnsexit",
8c308065 9737 "dnshome",
c5ccf1ab 9738 "dnsimple",
8c308065 9739 "dnsservices",
c5ccf1ab
TL
9740 "do",
9741 "doapi",
9742 "domeneshop",
9743 "dp",
9744 "dpi",
9745 "dreamhost",
9746 "duckdns",
9747 "durabledns",
9748 "dyn",
9749 "dynu",
9750 "dynv6",
9751 "easydns",
9752 "edgedns",
9753 "euserv",
9754 "exoscale",
8c308065 9755 "fornex",
c5ccf1ab
TL
9756 "freedns",
9757 "gandi_livedns",
9758 "gcloud",
f6fe5021 9759 "gcore",
c5ccf1ab 9760 "gd",
8c308065 9761 "geoscaling",
f6fe5021 9762 "googledomains",
c5ccf1ab
TL
9763 "he",
9764 "hetzner",
9765 "hexonet",
9766 "hostingde",
9767 "huaweicloud",
9768 "infoblox",
9769 "infomaniak",
9770 "internetbs",
9771 "inwx",
9772 "ionos",
f6fe5021 9773 "ipv64",
c5ccf1ab
TL
9774 "ispconfig",
9775 "jd",
9776 "joker",
9777 "kappernet",
9778 "kas",
9779 "kinghost",
9780 "knot",
8c308065 9781 "la",
c5ccf1ab
TL
9782 "leaseweb",
9783 "lexicon",
9784 "linode",
9785 "linode_v4",
9786 "loopia",
9787 "lua",
9788 "maradns",
9789 "me",
9790 "miab",
9791 "misaka",
9792 "myapi",
9793 "mydevil",
9794 "mydnsjp",
8c308065 9795 "mythic_beasts",
c5ccf1ab
TL
9796 "namecheap",
9797 "namecom",
9798 "namesilo",
f6fe5021 9799 "nanelo",
c5ccf1ab
TL
9800 "nederhost",
9801 "neodigit",
9802 "netcup",
9803 "netlify",
9804 "nic",
9805 "njalla",
9806 "nm",
9807 "nsd",
9808 "nsone",
9809 "nsupdate",
9810 "nw",
e0e71e6a 9811 "oci",
c5ccf1ab
TL
9812 "one",
9813 "online",
9814 "openprovider",
9815 "openstack",
9816 "opnsense",
9817 "ovh",
9818 "pdns",
9819 "pleskxml",
9820 "pointhq",
0362f73f 9821 "porkbun",
c5ccf1ab
TL
9822 "rackcorp",
9823 "rackspace",
8c308065 9824 "rage4",
c5ccf1ab
TL
9825 "rcode0",
9826 "regru",
9827 "scaleway",
9828 "schlundtech",
9829 "selectel",
8c308065 9830 "selfhost",
c5ccf1ab
TL
9831 "servercow",
9832 "simply",
9833 "tele3",
cbd73e8f 9834 "tencent",
c5ccf1ab 9835 "transip",
8c308065 9836 "udr",
c5ccf1ab
TL
9837 "ultra",
9838 "unoeuro",
9839 "variomedia",
e0e71e6a 9840 "veesp",
8c308065 9841 "vercel",
c5ccf1ab
TL
9842 "vscale",
9843 "vultr",
0362f73f 9844 "websupport",
c5ccf1ab
TL
9845 "world4you",
9846 "yandex",
8c308065 9847 "yc",
c5ccf1ab
TL
9848 "zilore",
9849 "zone",
9850 "zonomi"
9851 ],
9852 "optional" : 1,
9853 "type" : "string"
9854 },
9855 "data" : {
9856 "description" : "DNS plugin data. (base64 encoded)",
9857 "optional" : 1,
9858 "type" : "string",
9859 "typetext" : "<string>"
9860 },
9861 "disable" : {
9862 "description" : "Flag to disable the config.",
9863 "optional" : 1,
9864 "type" : "boolean",
9865 "typetext" : "<boolean>"
9866 },
9867 "id" : {
9868 "description" : "ACME Plugin ID name",
9869 "format" : "pve-configid",
9870 "type" : "string",
9871 "typetext" : "<string>"
9872 },
9873 "nodes" : {
9874 "description" : "List of cluster node names.",
9875 "format" : "pve-node-list",
9876 "optional" : 1,
9877 "type" : "string",
9878 "typetext" : "<string>"
9879 },
9880 "type" : {
9881 "description" : "ACME challenge type.",
9882 "enum" : [
9883 "dns",
9884 "standalone"
9885 ],
9886 "type" : "string"
9887 },
9888 "validation-delay" : {
9889 "default" : 30,
9890 "description" : "Extra delay in seconds to wait before requesting validation. Allows to cope with a long TTL of DNS records.",
9891 "maximum" : 172800,
9892 "minimum" : 0,
9893 "optional" : 1,
9894 "type" : "integer",
9895 "typetext" : "<integer> (0 - 172800)"
9896 }
9897 },
9898 "type" : "object"
d210277a 9899 },
c5ccf1ab
TL
9900 "permissions" : {
9901 "check" : [
9902 "admin"
9903 ]
d210277a 9904 },
c5ccf1ab
TL
9905 "protected" : 1,
9906 "returns" : {
9907 "type" : "null"
9908 }
9909 }
9910 },
9911 "leaf" : 0,
9912 "path" : "/config/acme/plugins",
9913 "text" : "plugins"
9914 },
9915 {
9916 "children" : [
9917 {
9918 "info" : {
9919 "DELETE" : {
9920 "allowtoken" : 1,
9921 "description" : "Deactivate existing ACME account at CA.",
9922 "method" : "DELETE",
9923 "name" : "deactivate_account",
9924 "parameters" : {
9925 "additionalProperties" : 0,
9926 "properties" : {
9927 "force" : {
9928 "default" : 0,
9929 "description" : "Delete account data even if the server refuses to deactivate the account.",
9930 "optional" : 1,
9931 "type" : "boolean",
9932 "typetext" : "<boolean>"
9933 },
9934 "name" : {
9935 "default" : "default",
9936 "description" : "ACME account config file name.",
9937 "format" : "pve-configid",
9938 "format_description" : "name",
9939 "optional" : 1,
9940 "type" : "string",
9941 "typetext" : "<name>"
9942 }
9943 }
9944 },
9945 "permissions" : {
9946 "check" : [
9947 "admin"
9948 ]
9949 },
9950 "protected" : 1,
9951 "proxyto" : "master",
9952 "returns" : {
9953 "type" : "string"
9954 }
9955 },
9956 "GET" : {
9957 "allowtoken" : 1,
9958 "description" : "Return existing ACME account information.",
9959 "method" : "GET",
9960 "name" : "get_account",
9961 "parameters" : {
9962 "additionalProperties" : 0,
9963 "properties" : {
9964 "name" : {
9965 "default" : "default",
9966 "description" : "ACME account config file name.",
9967 "format" : "pve-configid",
9968 "format_description" : "name",
9969 "optional" : 1,
9970 "type" : "string",
9971 "typetext" : "<name>"
9972 }
9973 }
9974 },
9975 "protected" : 1,
9976 "proxyto" : "master",
9977 "returns" : {
9978 "additionalProperties" : 0,
9979 "properties" : {
9980 "account" : {
9981 "optional" : 1,
9982 "renderer" : "yaml",
9983 "type" : "object"
9984 },
9985 "directory" : {
9986 "description" : "URL of ACME CA directory endpoint.",
9987 "optional" : 1,
9988 "pattern" : "^https?://.*",
9989 "type" : "string"
9990 },
9991 "location" : {
9992 "optional" : 1,
9993 "type" : "string"
9994 },
9995 "tos" : {
9996 "optional" : 1,
9997 "type" : "string"
9998 }
9999 },
10000 "type" : "object"
10001 }
10002 },
10003 "PUT" : {
10004 "allowtoken" : 1,
10005 "description" : "Update existing ACME account information with CA. Note: not specifying any new account information triggers a refresh.",
10006 "method" : "PUT",
10007 "name" : "update_account",
10008 "parameters" : {
10009 "additionalProperties" : 0,
10010 "properties" : {
10011 "contact" : {
10012 "description" : "Contact email addresses.",
10013 "format" : "email-list",
10014 "optional" : 1,
10015 "type" : "string",
10016 "typetext" : "<string>"
10017 },
10018 "name" : {
10019 "default" : "default",
10020 "description" : "ACME account config file name.",
10021 "format" : "pve-configid",
10022 "format_description" : "name",
10023 "optional" : 1,
10024 "type" : "string",
10025 "typetext" : "<name>"
10026 }
10027 }
10028 },
10029 "permissions" : {
10030 "check" : [
10031 "admin"
10032 ]
10033 },
10034 "protected" : 1,
10035 "proxyto" : "master",
10036 "returns" : {
10037 "type" : "string"
10038 }
10039 }
d210277a 10040 },
c5ccf1ab
TL
10041 "leaf" : 1,
10042 "path" : "/config/acme/account/{name}",
10043 "text" : "{name}"
10044 }
10045 ],
10046 "info" : {
10047 "GET" : {
10048 "allowtoken" : 1,
10049 "description" : "ACME account index.",
10050 "method" : "GET",
10051 "name" : "account_index",
10052 "parameters" : {
10053 "additionalProperties" : 0
eff914dc 10054 },
c5ccf1ab
TL
10055 "permissions" : {
10056 "check" : [
10057 "admin",
10058 "audit"
10059 ]
a55e94a6 10060 },
c5ccf1ab
TL
10061 "protected" : 1,
10062 "returns" : {
10063 "items" : {
10064 "properties" : {},
10065 "type" : "object"
10066 },
10067 "links" : [
10068 {
10069 "href" : "{name}",
10070 "rel" : "child"
10071 }
10072 ],
10073 "type" : "array"
410dc2c9
DM
10074 }
10075 },
c5ccf1ab
TL
10076 "POST" : {
10077 "allowtoken" : 1,
10078 "description" : "Register a new ACME account with CA.",
10079 "method" : "POST",
10080 "name" : "register_account",
10081 "parameters" : {
10082 "additionalProperties" : 0,
10083 "properties" : {
10084 "contact" : {
10085 "description" : "Contact email addresses.",
10086 "format" : "email-list",
10087 "type" : "string",
10088 "typetext" : "<string>"
10089 },
10090 "directory" : {
10091 "default" : "https://acme-v02.api.letsencrypt.org/directory",
10092 "description" : "URL of ACME CA directory endpoint.",
10093 "optional" : 1,
10094 "pattern" : "^https?://.*",
10095 "type" : "string"
10096 },
cbd73e8f
TL
10097 "eab-hmac-key" : {
10098 "description" : "HMAC key for External Account Binding.",
10099 "optional" : 1,
10100 "requires" : "eab-kid",
10101 "type" : "string",
10102 "typetext" : "<string>"
10103 },
10104 "eab-kid" : {
10105 "description" : "Key Identifier for External Account Binding.",
10106 "optional" : 1,
10107 "requires" : "eab-hmac-key",
10108 "type" : "string",
10109 "typetext" : "<string>"
10110 },
c5ccf1ab
TL
10111 "name" : {
10112 "default" : "default",
10113 "description" : "ACME account config file name.",
10114 "format" : "pve-configid",
10115 "format_description" : "name",
10116 "optional" : 1,
10117 "type" : "string",
10118 "typetext" : "<name>"
10119 },
10120 "tos_url" : {
10121 "description" : "URL of CA TermsOfService - setting this indicates agreement.",
10122 "optional" : 1,
10123 "type" : "string",
10124 "typetext" : "<string>"
10125 }
10126 }
10127 },
10128 "permissions" : {
10129 "check" : [
10130 "admin"
10131 ]
10132 },
10133 "protected" : 1,
10134 "proxyto" : "master",
10135 "returns" : {
10136 "type" : "string"
10137 }
10138 }
10139 },
10140 "leaf" : 0,
10141 "path" : "/config/acme/account",
10142 "text" : "account"
10143 },
10144 {
10145 "info" : {
10146 "GET" : {
10147 "allowtoken" : 1,
cbd73e8f 10148 "description" : "Retrieve ACME TermsOfService URL from CA. Deprecated, please use /config/acme/meta.",
c5ccf1ab
TL
10149 "method" : "GET",
10150 "name" : "get_tos",
10151 "parameters" : {
10152 "additionalProperties" : 0,
10153 "properties" : {
10154 "directory" : {
10155 "default" : "https://acme-v02.api.letsencrypt.org/directory",
10156 "description" : "URL of ACME CA directory endpoint.",
10157 "optional" : 1,
10158 "pattern" : "^https?://.*",
10159 "type" : "string"
10160 }
10161 }
10162 },
10163 "permissions" : {
10164 "user" : "all"
10165 },
10166 "returns" : {
10167 "description" : "ACME TermsOfService URL.",
10168 "optional" : 1,
10169 "type" : "string"
10170 }
10171 }
10172 },
10173 "leaf" : 1,
10174 "path" : "/config/acme/tos",
10175 "text" : "tos"
10176 },
cbd73e8f
TL
10177 {
10178 "info" : {
10179 "GET" : {
10180 "allowtoken" : 1,
10181 "description" : "Retrieve ACME Directory Meta Information",
10182 "method" : "GET",
10183 "name" : "get_meta",
10184 "parameters" : {
10185 "additionalProperties" : 0,
10186 "properties" : {
10187 "directory" : {
10188 "default" : "https://acme-v02.api.letsencrypt.org/directory",
10189 "description" : "URL of ACME CA directory endpoint.",
10190 "optional" : 1,
10191 "pattern" : "^https?://.*",
10192 "type" : "string"
10193 }
10194 }
10195 },
10196 "permissions" : {
10197 "user" : "all"
10198 },
10199 "returns" : {
10200 "additionalProperties" : 1,
10201 "properties" : {
10202 "caaIdentities" : {
10203 "description" : "Hostnames referring to the ACME servers.",
10204 "items" : {
10205 "type" : "string"
10206 },
10207 "optional" : 1,
10208 "type" : "array"
10209 },
10210 "externalAccountRequired" : {
10211 "description" : "EAB Required",
10212 "optional" : 1,
10213 "type" : "boolean"
10214 },
10215 "termsOfService" : {
10216 "description" : "ACME TermsOfService URL.",
10217 "optional" : 1,
10218 "type" : "string"
10219 },
10220 "website" : {
10221 "description" : "URL to more information about the ACME server.",
10222 "optional" : 1,
10223 "type" : "string"
10224 }
10225 },
10226 "type" : "object"
10227 }
10228 }
10229 },
10230 "leaf" : 1,
10231 "path" : "/config/acme/meta",
10232 "text" : "meta"
10233 },
c5ccf1ab
TL
10234 {
10235 "info" : {
10236 "GET" : {
10237 "allowtoken" : 1,
10238 "description" : "Get named known ACME directory endpoints.",
10239 "method" : "GET",
10240 "name" : "get_directories",
10241 "parameters" : {
10242 "additionalProperties" : 0
10243 },
10244 "permissions" : {
10245 "user" : "all"
10246 },
10247 "returns" : {
10248 "items" : {
10249 "additionalProperties" : 0,
10250 "properties" : {
10251 "name" : {
10252 "type" : "string"
10253 },
10254 "url" : {
10255 "description" : "URL of ACME CA directory endpoint.",
10256 "pattern" : "^https?://.*",
10257 "type" : "string"
10258 }
10259 },
10260 "type" : "object"
10261 },
10262 "type" : "array"
10263 }
10264 }
10265 },
10266 "leaf" : 1,
10267 "path" : "/config/acme/directories",
10268 "text" : "directories"
10269 },
10270 {
10271 "info" : {
10272 "GET" : {
10273 "allowtoken" : 1,
10274 "description" : "Get schema of ACME challenge types.",
10275 "method" : "GET",
10276 "name" : "challenge-schema",
10277 "parameters" : {
10278 "additionalProperties" : 0
10279 },
10280 "permissions" : {
10281 "user" : "all"
10282 },
10283 "returns" : {
10284 "items" : {
10285 "additionalProperties" : 0,
10286 "properties" : {
10287 "id" : {
10288 "type" : "string"
10289 },
10290 "name" : {
10291 "description" : "Human readable name, falls back to id",
10292 "type" : "string"
10293 },
10294 "schema" : {
10295 "type" : "object"
10296 },
10297 "type" : {
10298 "type" : "string"
10299 }
10300 },
10301 "type" : "object"
10302 },
10303 "type" : "array"
10304 }
10305 }
10306 },
10307 "leaf" : 1,
10308 "path" : "/config/acme/challenge-schema",
10309 "text" : "challenge-schema"
10310 }
10311 ],
10312 "info" : {
10313 "GET" : {
10314 "allowtoken" : 1,
10315 "description" : "ACME index.",
10316 "method" : "GET",
10317 "name" : "index",
10318 "parameters" : {
10319 "additionalProperties" : 0
10320 },
10321 "permissions" : {
10322 "user" : "all"
10323 },
10324 "returns" : {
10325 "items" : {
10326 "properties" : {},
10327 "type" : "object"
10328 },
10329 "links" : [
10330 {
10331 "href" : "{name}",
10332 "rel" : "child"
10333 }
10334 ],
10335 "type" : "array"
10336 }
10337 }
10338 },
10339 "leaf" : 0,
10340 "path" : "/config/acme",
10341 "text" : "acme"
410dc2c9 10342 },
e0e71e6a
TL
10343 {
10344 "children" : [
10345 {
10346 "info" : {
10347 "GET" : {
10348 "allowtoken" : 1,
10349 "description" : "Read the webauthn configuration.",
10350 "method" : "GET",
10351 "name" : "get_webauthn_config",
10352 "parameters" : {
10353 "additionalProperties" : 0
10354 },
10355 "permissions" : {
10356 "user" : "all"
10357 },
10358 "protected" : 1,
10359 "returns" : {
10360 "optional" : 1,
10361 "properties" : {
0b9926d3
TL
10362 "allow-subdomains" : {
10363 "default" : 1,
10364 "description" : "Whether to allow the origin to be a subdomain, rather than the exact URL.",
10365 "optional" : 1,
10366 "type" : "boolean"
10367 },
e0e71e6a
TL
10368 "id" : {
10369 "description" : "Relying part ID. Must be the domain name without protocol, port or location.\nChanging this *will* break existing credentials.",
10370 "optional" : 1,
10371 "type" : "string"
10372 },
10373 "origin" : {
10374 "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.",
10375 "optional" : 1,
10376 "type" : "string"
10377 },
10378 "rp" : {
10379 "description" : "Relying party name. Any text identifier.\nChanging this *may* break existing credentials.",
10380 "optional" : 1,
10381 "type" : "string"
10382 }
10383 },
10384 "type" : "object"
10385 }
10386 },
10387 "PUT" : {
10388 "allowtoken" : 1,
10389 "description" : "Read the webauthn configuration.",
10390 "method" : "PUT",
10391 "name" : "update_webauthn_config",
10392 "parameters" : {
10393 "additionalProperties" : 0,
10394 "properties" : {
0b9926d3
TL
10395 "allow-subdomains" : {
10396 "default" : 1,
10397 "description" : "Whether to allow the origin to be a subdomain, rather than the exact URL.",
10398 "optional" : 1,
10399 "type" : "boolean",
10400 "typetext" : "<boolean>"
10401 },
e0e71e6a
TL
10402 "delete" : {
10403 "description" : "A list of settings you want to delete.",
10404 "enum" : [
f4a381a1 10405 "origin",
29f6d740
TL
10406 "allow-subdomains",
10407 "rp",
10408 "id"
e0e71e6a
TL
10409 ],
10410 "optional" : 1,
10411 "type" : "string"
10412 },
10413 "digest" : {
10414 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
10415 "maxLength" : 40,
10416 "optional" : 1,
10417 "type" : "string",
10418 "typetext" : "<string>"
10419 },
10420 "id" : {
10421 "description" : "Relying part ID. Must be the domain name without protocol, port or location.\nChanging this *will* break existing credentials.",
10422 "optional" : 1,
10423 "type" : "string",
10424 "typetext" : "<string>"
10425 },
10426 "origin" : {
10427 "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.",
10428 "optional" : 1,
10429 "type" : "string",
10430 "typetext" : "<string>"
10431 },
10432 "rp" : {
10433 "description" : "Relying party name. Any text identifier.\nChanging this *may* break existing credentials.",
10434 "optional" : 1,
10435 "type" : "string",
10436 "typetext" : "<string>"
10437 }
10438 }
10439 },
10440 "permissions" : {
10441 "check" : [
10442 "admin"
10443 ]
10444 },
10445 "protected" : 1,
10446 "proxyto" : "master",
10447 "returns" : {
10448 "type" : "null"
10449 }
10450 }
10451 },
10452 "leaf" : 1,
10453 "path" : "/config/tfa/webauthn",
10454 "text" : "webauthn"
10455 }
10456 ],
10457 "info" : {
10458 "GET" : {
10459 "allowtoken" : 1,
10460 "description" : "Directory index.",
10461 "method" : "GET",
10462 "name" : "index",
10463 "parameters" : {
10464 "additionalProperties" : 0
10465 },
10466 "returns" : {
10467 "items" : {
10468 "properties" : {
10469 "section" : {
10470 "type" : "string"
10471 }
10472 },
10473 "type" : "object"
10474 },
10475 "links" : [
10476 {
10477 "href" : "{section}",
10478 "rel" : "child"
10479 }
10480 ],
10481 "type" : "array"
10482 }
10483 }
10484 },
10485 "leaf" : 0,
10486 "path" : "/config/tfa",
10487 "text" : "tfa"
10488 },
410dc2c9
DM
10489 {
10490 "info" : {
10491 "GET" : {
6bd70b95 10492 "allowtoken" : 1,
c5ccf1ab 10493 "description" : "Read admin configuration properties.",
410dc2c9 10494 "method" : "GET",
c5ccf1ab 10495 "name" : "read_admin_section",
410dc2c9
DM
10496 "parameters" : {
10497 "additionalProperties" : 0
10498 },
732d76e1
DM
10499 "permissions" : {
10500 "check" : [
10501 "admin",
10502 "audit"
10503 ]
10504 },
410dc2c9
DM
10505 "proxyto" : "master",
10506 "returns" : {
10507 "type" : "object"
10508 }
10509 },
10510 "PUT" : {
6bd70b95 10511 "allowtoken" : 1,
c5ccf1ab 10512 "description" : "Update admin configuration properties.",
410dc2c9 10513 "method" : "PUT",
c5ccf1ab 10514 "name" : "update_admin_section",
410dc2c9
DM
10515 "parameters" : {
10516 "additionalProperties" : 0,
10517 "properties" : {
c5ccf1ab 10518 "advfilter" : {
f6fe5021 10519 "default" : 0,
40ce6cfd 10520 "description" : "Enable advanced filters for statistic.",
c5ccf1ab
TL
10521 "optional" : 1,
10522 "type" : "boolean",
40ce6cfd
SI
10523 "typetext" : "<boolean>",
10524 "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
10525 },
10526 "avast" : {
410dc2c9 10527 "default" : 0,
c5ccf1ab 10528 "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
10529 "optional" : 1,
10530 "type" : "boolean",
10531 "typetext" : "<boolean>"
10532 },
c5ccf1ab
TL
10533 "clamav" : {
10534 "default" : 1,
10535 "description" : "Use ClamAV Virus Scanner. This is the default virus scanner and is enabled by default.",
410dc2c9 10536 "optional" : 1,
c5ccf1ab
TL
10537 "type" : "boolean",
10538 "typetext" : "<boolean>"
410dc2c9 10539 },
c5ccf1ab
TL
10540 "custom_check" : {
10541 "default" : 0,
10542 "description" : "Use Custom Check Script. The script has to take the defined arguments and can return Virus findings or a Spamscore.",
410dc2c9 10543 "optional" : 1,
c5ccf1ab
TL
10544 "type" : "boolean",
10545 "typetext" : "<boolean>"
410dc2c9 10546 },
c5ccf1ab
TL
10547 "custom_check_path" : {
10548 "default" : "/usr/local/bin/pmg-custom-check",
10549 "description" : "Absolute Path to the Custom Check Script",
410dc2c9 10550 "optional" : 1,
c5ccf1ab
TL
10551 "pattern" : "^/([^/\\0]+\\/)+[^/\\0]+$",
10552 "type" : "string"
410dc2c9 10553 },
c5ccf1ab
TL
10554 "dailyreport" : {
10555 "default" : 1,
10556 "description" : "Send daily reports.",
410dc2c9 10557 "optional" : 1,
c5ccf1ab
TL
10558 "type" : "boolean",
10559 "typetext" : "<boolean>"
410dc2c9
DM
10560 },
10561 "delete" : {
10562 "description" : "A list of settings you want to delete.",
10563 "format" : "pve-configid-list",
10564 "maxLength" : 4096,
10565 "optional" : 1,
10566 "type" : "string",
10567 "typetext" : "<string>"
10568 },
c5ccf1ab
TL
10569 "demo" : {
10570 "default" : 0,
10571 "description" : "Demo mode - do not start SMTP filter.",
10572 "optional" : 1,
10573 "type" : "boolean",
10574 "typetext" : "<boolean>"
10575 },
410dc2c9 10576 "digest" : {
cbd73e8f
TL
10577 "description" : "Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.",
10578 "maxLength" : 64,
410dc2c9
DM
10579 "optional" : 1,
10580 "type" : "string",
10581 "typetext" : "<string>"
10582 },
29f6d740
TL
10583 "dkim-use-domain" : {
10584 "default" : "envelope",
10585 "description" : "Whether to sign using the address from the header or the envelope.",
10586 "enum" : [
10587 "header",
10588 "envelope"
10589 ],
10590 "optional" : 1,
10591 "type" : "string"
10592 },
c5ccf1ab
TL
10593 "dkim_selector" : {
10594 "description" : "Default DKIM selector",
10595 "format" : "dns-name",
410dc2c9 10596 "optional" : 1,
c5ccf1ab
TL
10597 "type" : "string",
10598 "typetext" : "<string>"
f245a28c 10599 },
c5ccf1ab
TL
10600 "dkim_sign" : {
10601 "default" : 0,
10602 "description" : "DKIM sign outbound mails with the configured Selector.",
f245a28c
DM
10603 "optional" : 1,
10604 "type" : "boolean",
10605 "typetext" : "<boolean>"
549cfb68 10606 },
c5ccf1ab 10607 "dkim_sign_all_mail" : {
549cfb68 10608 "default" : 0,
c5ccf1ab 10609 "description" : "DKIM sign all outgoing mails irrespective of the Envelope From domain.",
549cfb68
TL
10610 "optional" : 1,
10611 "type" : "boolean",
10612 "typetext" : "<boolean>"
c5ccf1ab
TL
10613 },
10614 "email" : {
10615 "default" : "admin@domain.tld",
10616 "description" : "Administrator E-Mail address.",
10617 "format" : "email",
10618 "optional" : 1,
10619 "type" : "string",
10620 "typetext" : "<string>"
10621 },
10622 "http_proxy" : {
10623 "description" : "Specify external http proxy which is used for downloads (example: 'http://username:password@host:port/')",
10624 "optional" : 1,
10625 "pattern" : "http://.*",
10626 "type" : "string"
10627 },
10628 "statlifetime" : {
10629 "default" : 7,
10630 "description" : "User Statistics Lifetime (days)",
10631 "minimum" : 1,
10632 "optional" : 1,
10633 "type" : "integer",
10634 "typetext" : "<integer> (1 - N)"
10635 }
10636 },
10637 "type" : "object"
10638 },
10639 "permissions" : {
10640 "check" : [
10641 "admin"
10642 ]
10643 },
10644 "protected" : 1,
10645 "proxyto" : "master",
10646 "returns" : {
10647 "type" : "null"
10648 }
10649 }
10650 },
10651 "leaf" : 1,
10652 "path" : "/config/admin",
10653 "text" : "admin"
10654 },
10655 {
10656 "info" : {
10657 "GET" : {
10658 "allowtoken" : 1,
10659 "description" : "Read clamav configuration properties.",
10660 "method" : "GET",
10661 "name" : "read_clamav_section",
10662 "parameters" : {
10663 "additionalProperties" : 0
10664 },
10665 "permissions" : {
10666 "check" : [
10667 "admin",
10668 "audit"
10669 ]
10670 },
10671 "proxyto" : "master",
10672 "returns" : {
10673 "type" : "object"
10674 }
10675 },
10676 "PUT" : {
10677 "allowtoken" : 1,
10678 "description" : "Update clamav configuration properties.",
10679 "method" : "PUT",
10680 "name" : "update_clamav_section",
10681 "parameters" : {
10682 "additionalProperties" : 0,
10683 "properties" : {
10684 "archiveblockencrypted" : {
10685 "default" : 0,
10686 "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'.",
10687 "optional" : 1,
10688 "type" : "boolean",
10689 "typetext" : "<boolean>"
10690 },
10691 "archivemaxfiles" : {
10692 "default" : 1000,
10693 "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.",
10694 "minimum" : 0,
10695 "optional" : 1,
10696 "type" : "integer",
10697 "typetext" : "<integer> (0 - N)"
10698 },
10699 "archivemaxrec" : {
10700 "default" : 5,
10701 "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.",
10702 "minimum" : 1,
10703 "optional" : 1,
10704 "type" : "integer",
10705 "typetext" : "<integer> (1 - N)"
10706 },
10707 "archivemaxsize" : {
10708 "default" : 25000000,
10709 "description" : "Files larger than this limit (in bytes) won't be scanned.",
10710 "minimum" : 1000000,
10711 "optional" : 1,
10712 "type" : "integer",
10713 "typetext" : "<integer> (1000000 - N)"
10714 },
10715 "dbmirror" : {
10716 "default" : "database.clamav.net",
10717 "description" : "ClamAV database mirror server.",
10718 "optional" : 1,
10719 "type" : "string",
10720 "typetext" : "<string>"
10721 },
10722 "delete" : {
10723 "description" : "A list of settings you want to delete.",
10724 "format" : "pve-configid-list",
10725 "maxLength" : 4096,
10726 "optional" : 1,
10727 "type" : "string",
10728 "typetext" : "<string>"
10729 },
10730 "digest" : {
cbd73e8f
TL
10731 "description" : "Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.",
10732 "maxLength" : 64,
c5ccf1ab
TL
10733 "optional" : 1,
10734 "type" : "string",
10735 "typetext" : "<string>"
10736 },
10737 "maxcccount" : {
10738 "default" : 0,
10739 "description" : "This option sets the lowest number of Credit Card or Social Security numbers found in a file to generate a detect.",
10740 "minimum" : 0,
10741 "optional" : 1,
10742 "type" : "integer",
10743 "typetext" : "<integer> (0 - N)"
10744 },
10745 "maxscansize" : {
10746 "default" : 100000000,
10747 "description" : "Sets the maximum amount of data (in bytes) to be scanned for each input file.",
10748 "minimum" : 1000000,
10749 "optional" : 1,
10750 "type" : "integer",
10751 "typetext" : "<integer> (1000000 - N)"
10752 },
10753 "safebrowsing" : {
0362f73f
SI
10754 "default" : 0,
10755 "description" : "Enables support for Google Safe Browsing. (deprecated option, will be ignored)",
c5ccf1ab
TL
10756 "optional" : 1,
10757 "type" : "boolean",
10758 "typetext" : "<boolean>"
10759 },
10760 "scriptedupdates" : {
b4ec4bc2 10761 "default" : 1,
c5ccf1ab
TL
10762 "description" : "Enables ScriptedUpdates (incremental download of signatures)",
10763 "optional" : 1,
10764 "type" : "boolean",
10765 "typetext" : "<boolean>"
10766 }
10767 },
10768 "type" : "object"
410dc2c9 10769 },
732d76e1
DM
10770 "permissions" : {
10771 "check" : [
10772 "admin"
10773 ]
10774 },
410dc2c9
DM
10775 "protected" : 1,
10776 "proxyto" : "master",
10777 "returns" : {
10778 "type" : "null"
10779 }
10780 }
10781 },
10782 "leaf" : 1,
10783 "path" : "/config/clamav",
10784 "text" : "clamav"
10785 },
10786 {
10787 "info" : {
10788 "GET" : {
6bd70b95 10789 "allowtoken" : 1,
410dc2c9
DM
10790 "description" : "Read mail configuration properties.",
10791 "method" : "GET",
10792 "name" : "read_mail_section",
10793 "parameters" : {
10794 "additionalProperties" : 0
10795 },
732d76e1
DM
10796 "permissions" : {
10797 "check" : [
10798 "admin",
10799 "audit"
10800 ]
10801 },
410dc2c9
DM
10802 "proxyto" : "master",
10803 "returns" : {
10804 "type" : "object"
10805 }
10806 },
10807 "PUT" : {
6bd70b95 10808 "allowtoken" : 1,
410dc2c9
DM
10809 "description" : "Update mail configuration properties.",
10810 "method" : "PUT",
10811 "name" : "update_mail_section",
10812 "parameters" : {
10813 "additionalProperties" : 0,
10814 "properties" : {
10815 "banner" : {
10816 "default" : "ESMTP Proxmox",
10817 "description" : "ESMTP banner.",
10818 "maxLength" : 1024,
10819 "optional" : 1,
10820 "type" : "string",
10821 "typetext" : "<string>"
10822 },
d210277a
TL
10823 "before_queue_filtering" : {
10824 "default" : 0,
10825 "description" : "Enable before queue filtering by pmg-smtp-filter",
10826 "optional" : 1,
10827 "type" : "boolean",
10828 "typetext" : "<boolean>"
10829 },
410dc2c9
DM
10830 "conn_count_limit" : {
10831 "default" : 50,
10832 "description" : "How many simultaneous connections any client is allowed to make to this service. To disable this feature, specify a limit of 0.",
10833 "minimum" : 0,
10834 "optional" : 1,
10835 "type" : "integer",
10836 "typetext" : "<integer> (0 - N)"
10837 },
10838 "conn_rate_limit" : {
10839 "default" : 0,
10840 "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.",
10841 "minimum" : 0,
10842 "optional" : 1,
10843 "type" : "integer",
10844 "typetext" : "<integer> (0 - N)"
10845 },
10846 "delete" : {
10847 "description" : "A list of settings you want to delete.",
10848 "format" : "pve-configid-list",
10849 "maxLength" : 4096,
10850 "optional" : 1,
10851 "type" : "string",
10852 "typetext" : "<string>"
10853 },
10854 "digest" : {
cbd73e8f
TL
10855 "description" : "Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.",
10856 "maxLength" : 64,
410dc2c9
DM
10857 "optional" : 1,
10858 "type" : "string",
10859 "typetext" : "<string>"
10860 },
10861 "dnsbl_sites" : {
40ce6cfd 10862 "description" : "Optional list of DNS white/blacklist domains (postfix option `postscreen_dnsbl_sites`).",
274b47fc 10863 "format" : "dnsbl-entry-list",
410dc2c9
DM
10864 "optional" : 1,
10865 "type" : "string",
10866 "typetext" : "<string>"
10867 },
445686c9
DM
10868 "dnsbl_threshold" : {
10869 "default" : 1,
40ce6cfd 10870 "description" : "The inclusive lower bound for blocking a remote SMTP client, based on its combined DNSBL score (postfix option `postscreen_dnsbl_threshold`).",
445686c9
DM
10871 "minimum" : 0,
10872 "optional" : 1,
10873 "type" : "integer",
10874 "typetext" : "<integer> (0 - N)"
10875 },
410dc2c9
DM
10876 "dwarning" : {
10877 "default" : 4,
40ce6cfd 10878 "description" : "SMTP delay warning time (in hours). (postfix option `delay_warning_time`)",
410dc2c9
DM
10879 "minimum" : 0,
10880 "optional" : 1,
10881 "type" : "integer",
10882 "typetext" : "<integer> (0 - N)"
10883 },
eff914dc 10884 "ext_port" : {
4a46ced6 10885 "default" : 25,
eff914dc
DM
10886 "description" : "SMTP port number for incoming mail (untrusted). This must be a different number than 'int_port'.",
10887 "maximum" : 65535,
10888 "minimum" : 1,
10889 "optional" : 1,
10890 "type" : "integer",
10891 "typetext" : "<integer> (1 - 65535)"
10892 },
cbd73e8f
TL
10893 "filter-timeout" : {
10894 "default" : 600,
10895 "description" : "Timeout for the processing of one mail (in seconds) (postfix option `smtpd_proxy_timeout` and `lmtp_data_done_timeout`)",
10896 "maximum" : 86400,
10897 "minimum" : 2,
10898 "optional" : 1,
10899 "type" : "integer",
10900 "typetext" : "<integer> (2 - 86400)"
10901 },
410dc2c9
DM
10902 "greylist" : {
10903 "default" : 1,
549cfb68
TL
10904 "description" : "Use Greylisting for IPv4.",
10905 "optional" : 1,
10906 "type" : "boolean",
10907 "typetext" : "<boolean>"
10908 },
10909 "greylist6" : {
10910 "default" : 0,
10911 "description" : "Use Greylisting for IPv6.",
410dc2c9
DM
10912 "optional" : 1,
10913 "type" : "boolean",
10914 "typetext" : "<boolean>"
10915 },
549cfb68
TL
10916 "greylistmask4" : {
10917 "default" : 24,
10918 "description" : "Netmask to apply for greylisting IPv4 hosts",
10919 "maximum" : 32,
10920 "minimum" : 0,
10921 "optional" : 1,
10922 "type" : "integer",
10923 "typetext" : "<integer> (0 - 32)"
10924 },
10925 "greylistmask6" : {
10926 "default" : 64,
10927 "description" : "Netmask to apply for greylisting IPv6 hosts",
10928 "maximum" : 128,
10929 "minimum" : 0,
10930 "optional" : 1,
10931 "type" : "integer",
10932 "typetext" : "<integer> (0 - 128)"
10933 },
410dc2c9
DM
10934 "helotests" : {
10935 "default" : 0,
40ce6cfd 10936 "description" : "Use SMTP HELO tests. (postfix option `smtpd_helo_restrictions`)",
410dc2c9
DM
10937 "optional" : 1,
10938 "type" : "boolean",
10939 "typetext" : "<boolean>"
10940 },
10941 "hide_received" : {
10942 "default" : 0,
10943 "description" : "Hide received header in outgoing mails.",
10944 "optional" : 1,
10945 "type" : "boolean",
10946 "typetext" : "<boolean>"
10947 },
eff914dc 10948 "int_port" : {
4a46ced6 10949 "default" : 26,
eff914dc
DM
10950 "description" : "SMTP port number for outgoing mail (trusted).",
10951 "maximum" : 65535,
10952 "minimum" : 1,
10953 "optional" : 1,
10954 "type" : "integer",
10955 "typetext" : "<integer> (1 - 65535)"
10956 },
410dc2c9 10957 "max_filters" : {
cbd73e8f 10958 "default" : 25,
410dc2c9
DM
10959 "description" : "Maximum number of pmg-smtp-filter processes.",
10960 "maximum" : 40,
10961 "minimum" : 3,
10962 "optional" : 1,
10963 "type" : "integer",
10964 "typetext" : "<integer> (3 - 40)"
10965 },
10966 "max_policy" : {
10967 "default" : 5,
10968 "description" : "Maximum number of pmgpolicy processes.",
10969 "maximum" : 10,
10970 "minimum" : 2,
10971 "optional" : 1,
10972 "type" : "integer",
10973 "typetext" : "<integer> (2 - 10)"
10974 },
10975 "max_smtpd_in" : {
cbd73e8f 10976 "default" : 100,
410dc2c9
DM
10977 "description" : "Maximum number of SMTP daemon processes (in).",
10978 "maximum" : 100,
10979 "minimum" : 3,
10980 "optional" : 1,
10981 "type" : "integer",
10982 "typetext" : "<integer> (3 - 100)"
10983 },
10984 "max_smtpd_out" : {
cbd73e8f 10985 "default" : 100,
410dc2c9
DM
10986 "description" : "Maximum number of SMTP daemon processes (out).",
10987 "maximum" : 100,
10988 "minimum" : 3,
10989 "optional" : 1,
10990 "type" : "integer",
10991 "typetext" : "<integer> (3 - 100)"
10992 },
10993 "maxsize" : {
10994 "default" : 10485760,
40ce6cfd 10995 "description" : "Maximum email size. Larger mails are rejected. (postfix option `message_size_limit`)",
410dc2c9
DM
10996 "minimum" : 1024,
10997 "optional" : 1,
10998 "type" : "integer",
10999 "typetext" : "<integer> (1024 - N)"
11000 },
11001 "message_rate_limit" : {
11002 "default" : 0,
11003 "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.",
11004 "minimum" : 0,
11005 "optional" : 1,
11006 "type" : "integer",
11007 "typetext" : "<integer> (0 - N)"
11008 },
d210277a
TL
11009 "ndr_on_block" : {
11010 "default" : 0,
11011 "description" : "Send out NDR when mail gets blocked",
11012 "optional" : 1,
11013 "type" : "boolean",
11014 "typetext" : "<boolean>"
11015 },
410dc2c9
DM
11016 "rejectunknown" : {
11017 "default" : 0,
40ce6cfd 11018 "description" : "Reject unknown clients. (postfix option `reject_unknown_client_hostname`)",
410dc2c9
DM
11019 "optional" : 1,
11020 "type" : "boolean",
11021 "typetext" : "<boolean>"
11022 },
11023 "rejectunknownsender" : {
11024 "default" : 0,
40ce6cfd 11025 "description" : "Reject unknown senders. (postfix option `reject_unknown_sender_domain`)",
410dc2c9
DM
11026 "optional" : 1,
11027 "type" : "boolean",
11028 "typetext" : "<boolean>"
11029 },
11030 "relay" : {
11031 "description" : "The default mail delivery transport (incoming mails).",
eff914dc 11032 "format" : "address",
410dc2c9
DM
11033 "optional" : 1,
11034 "type" : "string",
11035 "typetext" : "<string>"
11036 },
11037 "relaynomx" : {
11038 "default" : 0,
6bd70b95 11039 "description" : "Disable MX lookups for default relay (SMTP only, ignored for LMTP).",
410dc2c9
DM
11040 "optional" : 1,
11041 "type" : "boolean",
11042 "typetext" : "<boolean>"
11043 },
11044 "relayport" : {
11045 "default" : 25,
6bd70b95 11046 "description" : "SMTP/LMTP port number for relay host.",
410dc2c9
DM
11047 "maximum" : 65535,
11048 "minimum" : 1,
11049 "optional" : 1,
11050 "type" : "integer",
11051 "typetext" : "<integer> (1 - 65535)"
11052 },
6bd70b95
TL
11053 "relayprotocol" : {
11054 "default" : "smtp",
11055 "description" : "Transport protocol for relay host.",
11056 "enum" : [
11057 "smtp",
11058 "lmtp"
11059 ],
11060 "optional" : 1,
11061 "type" : "string"
11062 },
eff914dc 11063 "smarthost" : {
40ce6cfd 11064 "description" : "When set, all outgoing mails are deliverd to the specified smarthost. (postfix option `default_transport`)",
eff914dc
DM
11065 "format" : "address",
11066 "optional" : 1,
11067 "type" : "string",
11068 "typetext" : "<string>"
11069 },
445686c9
DM
11070 "smarthostport" : {
11071 "default" : 25,
40ce6cfd 11072 "description" : "SMTP port number for smarthost. (postfix option `default_transport`)",
445686c9
DM
11073 "maximum" : 65535,
11074 "minimum" : 1,
11075 "optional" : 1,
11076 "type" : "integer",
11077 "typetext" : "<integer> (1 - 65535)"
11078 },
8c308065
TL
11079 "smtputf8" : {
11080 "default" : 1,
40ce6cfd 11081 "description" : "Enable SMTPUTF8 support in Postfix and detection for locally generated mail (postfix option `smtputf8_enable`)",
8c308065
TL
11082 "optional" : 1,
11083 "type" : "boolean",
11084 "typetext" : "<boolean>"
11085 },
410dc2c9
DM
11086 "spf" : {
11087 "default" : 1,
11088 "description" : "Use Sender Policy Framework.",
11089 "optional" : 1,
11090 "type" : "boolean",
11091 "typetext" : "<boolean>"
11092 },
11093 "tls" : {
11094 "default" : 0,
eff914dc
DM
11095 "description" : "Enable TLS.",
11096 "optional" : 1,
11097 "type" : "boolean",
11098 "typetext" : "<boolean>"
11099 },
11100 "tlsheader" : {
11101 "default" : 0,
11102 "description" : "Add TLS received header.",
11103 "optional" : 1,
11104 "type" : "boolean",
11105 "typetext" : "<boolean>"
11106 },
11107 "tlslog" : {
11108 "default" : 0,
11109 "description" : "Enable TLS Logging.",
410dc2c9
DM
11110 "optional" : 1,
11111 "type" : "boolean",
11112 "typetext" : "<boolean>"
11113 },
410dc2c9 11114 "verifyreceivers" : {
cbd73e8f 11115 "description" : "Enable receiver verification. The value specifies 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
11116 "enum" : [
11117 "450",
11118 "550"
11119 ],
410dc2c9 11120 "optional" : 1,
eff914dc 11121 "type" : "string"
410dc2c9
DM
11122 }
11123 },
11124 "type" : "object"
11125 },
732d76e1
DM
11126 "permissions" : {
11127 "check" : [
11128 "admin"
11129 ]
11130 },
410dc2c9
DM
11131 "protected" : 1,
11132 "proxyto" : "master",
11133 "returns" : {
11134 "type" : "null"
11135 }
11136 }
11137 },
11138 "leaf" : 1,
11139 "path" : "/config/mail",
11140 "text" : "mail"
11141 },
11142 {
11143 "info" : {
11144 "GET" : {
6bd70b95 11145 "allowtoken" : 1,
410dc2c9
DM
11146 "description" : "Read spam configuration properties.",
11147 "method" : "GET",
11148 "name" : "read_spam_section",
11149 "parameters" : {
11150 "additionalProperties" : 0
11151 },
732d76e1
DM
11152 "permissions" : {
11153 "check" : [
11154 "admin",
11155 "audit"
11156 ]
11157 },
410dc2c9
DM
11158 "proxyto" : "master",
11159 "returns" : {
11160 "type" : "object"
11161 }
11162 },
11163 "PUT" : {
6bd70b95 11164 "allowtoken" : 1,
410dc2c9
DM
11165 "description" : "Update spam configuration properties.",
11166 "method" : "PUT",
11167 "name" : "update_spam_section",
11168 "parameters" : {
11169 "additionalProperties" : 0,
11170 "properties" : {
11171 "bounce_score" : {
11172 "default" : 0,
11173 "description" : "Additional score for bounce mails.",
11174 "maximum" : 1000,
11175 "minimum" : 0,
11176 "optional" : 1,
11177 "type" : "integer",
11178 "typetext" : "<integer> (0 - 1000)"
11179 },
274b47fc
DM
11180 "clamav_heuristic_score" : {
11181 "default" : 3,
0362f73f 11182 "description" : "Score for ClamAV heuristics (Encrypted Archives/Documents, PhishingScanURLs, ...).",
274b47fc
DM
11183 "maximum" : 1000,
11184 "minimum" : 0,
11185 "optional" : 1,
11186 "type" : "integer",
11187 "typetext" : "<integer> (0 - 1000)"
11188 },
410dc2c9
DM
11189 "delete" : {
11190 "description" : "A list of settings you want to delete.",
11191 "format" : "pve-configid-list",
11192 "maxLength" : 4096,
11193 "optional" : 1,
11194 "type" : "string",
11195 "typetext" : "<string>"
11196 },
11197 "digest" : {
cbd73e8f
TL
11198 "description" : "Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.",
11199 "maxLength" : 64,
410dc2c9
DM
11200 "optional" : 1,
11201 "type" : "string",
11202 "typetext" : "<string>"
11203 },
8c308065
TL
11204 "extract_text" : {
11205 "default" : 0,
11206 "description" : "Extract text from attachments (doc, pdf, rtf, images) and scan for spam.",
11207 "optional" : 1,
11208 "type" : "boolean",
11209 "typetext" : "<boolean>"
11210 },
410dc2c9
DM
11211 "languages" : {
11212 "default" : "all",
11213 "description" : "This option is used to specify which languages are considered OK for incoming mail.",
11214 "optional" : 1,
11215 "pattern" : "(all|([a-z][a-z])+( ([a-z][a-z])+)*)",
11216 "type" : "string"
11217 },
11218 "maxspamsize" : {
274b47fc 11219 "default" : 262144,
410dc2c9
DM
11220 "description" : "Maximum size of spam messages in bytes.",
11221 "minimum" : 64,
11222 "optional" : 1,
11223 "type" : "integer",
11224 "typetext" : "<integer> (64 - N)"
11225 },
11226 "rbl_checks" : {
11227 "default" : 1,
11228 "description" : "Enable real time blacklists (RBL) checks.",
11229 "optional" : 1,
11230 "type" : "boolean",
11231 "typetext" : "<boolean>"
11232 },
11233 "use_awl" : {
f6fe5021 11234 "default" : 0,
410dc2c9
DM
11235 "description" : "Use the Auto-Whitelist plugin.",
11236 "optional" : 1,
11237 "type" : "boolean",
11238 "typetext" : "<boolean>"
11239 },
11240 "use_bayes" : {
f6fe5021 11241 "default" : 0,
410dc2c9
DM
11242 "description" : "Whether to use the naive-Bayesian-style classifier.",
11243 "optional" : 1,
11244 "type" : "boolean",
11245 "typetext" : "<boolean>"
11246 },
410dc2c9
DM
11247 "use_razor" : {
11248 "default" : 1,
11249 "description" : "Whether to use Razor2, if it is available.",
11250 "optional" : 1,
11251 "type" : "boolean",
11252 "typetext" : "<boolean>"
11253 },
11254 "wl_bounce_relays" : {
11255 "description" : "Whitelist legitimate bounce relays.",
11256 "optional" : 1,
11257 "type" : "string",
11258 "typetext" : "<string>"
11259 }
11260 },
11261 "type" : "object"
11262 },
732d76e1
DM
11263 "permissions" : {
11264 "check" : [
11265 "admin"
11266 ]
11267 },
410dc2c9
DM
11268 "protected" : 1,
11269 "proxyto" : "master",
11270 "returns" : {
11271 "type" : "null"
11272 }
11273 }
11274 },
11275 "leaf" : 1,
11276 "path" : "/config/spam",
11277 "text" : "spam"
f245a28c
DM
11278 },
11279 {
11280 "info" : {
11281 "GET" : {
6bd70b95 11282 "allowtoken" : 1,
f245a28c
DM
11283 "description" : "Read spamquar configuration properties.",
11284 "method" : "GET",
11285 "name" : "read_spamquar_section",
11286 "parameters" : {
11287 "additionalProperties" : 0
11288 },
732d76e1
DM
11289 "permissions" : {
11290 "check" : [
11291 "admin",
11292 "audit"
11293 ]
11294 },
f245a28c
DM
11295 "proxyto" : "master",
11296 "returns" : {
11297 "type" : "object"
11298 }
11299 },
11300 "PUT" : {
6bd70b95 11301 "allowtoken" : 1,
f245a28c
DM
11302 "description" : "Update spamquar configuration properties.",
11303 "method" : "PUT",
11304 "name" : "update_spamquar_section",
11305 "parameters" : {
11306 "additionalProperties" : 0,
11307 "properties" : {
11308 "allowhrefs" : {
11309 "default" : 1,
11310 "description" : "Allow to view hyperlinks.",
11311 "optional" : 1,
11312 "type" : "boolean",
11313 "typetext" : "<boolean>"
11314 },
11315 "authmode" : {
11316 "default" : "ticket",
11317 "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.",
11318 "enum" : [
11319 "ticket",
11320 "ldap",
11321 "ldapticket"
11322 ],
11323 "optional" : 1,
11324 "type" : "string"
11325 },
11326 "delete" : {
11327 "description" : "A list of settings you want to delete.",
11328 "format" : "pve-configid-list",
11329 "maxLength" : 4096,
11330 "optional" : 1,
11331 "type" : "string",
11332 "typetext" : "<string>"
11333 },
11334 "digest" : {
cbd73e8f
TL
11335 "description" : "Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.",
11336 "maxLength" : 64,
f245a28c
DM
11337 "optional" : 1,
11338 "type" : "string",
11339 "typetext" : "<string>"
11340 },
11341 "hostname" : {
b81b1f95 11342 "description" : "Quarantine Host. Useful if you run a Cluster and want users to connect to a specific host.",
f245a28c
DM
11343 "format" : "address",
11344 "optional" : 1,
11345 "type" : "string",
11346 "typetext" : "<string>"
11347 },
11348 "lifetime" : {
11349 "default" : 7,
11350 "description" : "Quarantine life time (days)",
11351 "minimum" : 1,
11352 "optional" : 1,
11353 "type" : "integer",
11354 "typetext" : "<integer> (1 - N)"
11355 },
11356 "mailfrom" : {
11357 "description" : "Text for 'From' header in daily spam report mails.",
11358 "optional" : 1,
11359 "type" : "string",
11360 "typetext" : "<string>"
11361 },
b81b1f95
DM
11362 "port" : {
11363 "default" : 8006,
11364 "description" : "Quarantine Port. Useful if you have a reverse proxy or port forwarding for the webinterface. Only used for the generated Spam report.",
11365 "maximum" : 65535,
11366 "minimum" : 1,
11367 "optional" : 1,
11368 "type" : "integer",
11369 "typetext" : "<integer> (1 - 65535)"
11370 },
11371 "protocol" : {
11372 "default" : "https",
11373 "description" : "Quarantine Webinterface Protocol. Useful if you have a reverse proxy for the webinterface. Only used for the generated Spam report.",
11374 "enum" : [
11375 "http",
11376 "https"
11377 ],
11378 "optional" : 1,
11379 "type" : "string"
11380 },
ab2b846b
TL
11381 "quarantinelink" : {
11382 "default" : 0,
11383 "description" : "Enables user self-service for Quarantine Links. Caution: this is accessible without authentication",
11384 "optional" : 1,
11385 "type" : "boolean",
11386 "typetext" : "<boolean>"
11387 },
f245a28c
DM
11388 "reportstyle" : {
11389 "default" : "verbose",
11390 "description" : "Spam report style.",
11391 "enum" : [
11392 "none",
11393 "short",
11394 "verbose",
f245a28c
DM
11395 "custom"
11396 ],
11397 "optional" : 1,
11398 "type" : "string"
11399 },
a55e94a6
DM
11400 "viewimages" : {
11401 "default" : 1,
11402 "description" : "Allow to view images.",
11403 "optional" : 1,
11404 "type" : "boolean",
11405 "typetext" : "<boolean>"
11406 }
11407 },
11408 "type" : "object"
11409 },
732d76e1
DM
11410 "permissions" : {
11411 "check" : [
11412 "admin"
11413 ]
11414 },
a55e94a6
DM
11415 "protected" : 1,
11416 "proxyto" : "master",
11417 "returns" : {
11418 "type" : "null"
11419 }
11420 }
11421 },
11422 "leaf" : 1,
11423 "path" : "/config/spamquar",
11424 "text" : "spamquar"
11425 },
11426 {
11427 "info" : {
11428 "GET" : {
6bd70b95 11429 "allowtoken" : 1,
a55e94a6
DM
11430 "description" : "Read virusquar configuration properties.",
11431 "method" : "GET",
11432 "name" : "read_virusquar_section",
11433 "parameters" : {
11434 "additionalProperties" : 0
11435 },
732d76e1
DM
11436 "permissions" : {
11437 "check" : [
11438 "admin",
11439 "audit"
11440 ]
11441 },
a55e94a6
DM
11442 "proxyto" : "master",
11443 "returns" : {
11444 "type" : "object"
11445 }
11446 },
11447 "PUT" : {
6bd70b95 11448 "allowtoken" : 1,
a55e94a6
DM
11449 "description" : "Update virusquar configuration properties.",
11450 "method" : "PUT",
11451 "name" : "update_virusquar_section",
11452 "parameters" : {
11453 "additionalProperties" : 0,
11454 "properties" : {
11455 "allowhrefs" : {
11456 "default" : 1,
11457 "description" : "Allow to view hyperlinks.",
11458 "optional" : 1,
11459 "type" : "boolean",
11460 "typetext" : "<boolean>"
11461 },
11462 "delete" : {
11463 "description" : "A list of settings you want to delete.",
11464 "format" : "pve-configid-list",
11465 "maxLength" : 4096,
11466 "optional" : 1,
11467 "type" : "string",
11468 "typetext" : "<string>"
11469 },
11470 "digest" : {
cbd73e8f
TL
11471 "description" : "Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.",
11472 "maxLength" : 64,
a55e94a6
DM
11473 "optional" : 1,
11474 "type" : "string",
11475 "typetext" : "<string>"
11476 },
11477 "lifetime" : {
11478 "default" : 7,
11479 "description" : "Quarantine life time (days)",
11480 "minimum" : 1,
11481 "optional" : 1,
11482 "type" : "integer",
11483 "typetext" : "<integer> (1 - N)"
11484 },
11485 "viewimages" : {
11486 "default" : 1,
11487 "description" : "Allow to view images.",
11488 "optional" : 1,
11489 "type" : "boolean",
11490 "typetext" : "<boolean>"
11491 }
11492 },
11493 "type" : "object"
11494 },
732d76e1
DM
11495 "permissions" : {
11496 "check" : [
11497 "admin"
11498 ]
11499 },
a55e94a6
DM
11500 "protected" : 1,
11501 "proxyto" : "master",
11502 "returns" : {
11503 "type" : "null"
11504 }
11505 }
11506 },
11507 "leaf" : 1,
11508 "path" : "/config/virusquar",
11509 "text" : "virusquar"
9fda36b0
DM
11510 },
11511 {
11512 "info" : {
11513 "POST" : {
6bd70b95 11514 "allowtoken" : 1,
ab2b846b 11515 "description" : "Test Regex ignoring case",
9fda36b0
DM
11516 "method" : "POST",
11517 "name" : "regextest",
11518 "parameters" : {
11519 "additionalProperties" : 0,
11520 "properties" : {
11521 "regex" : {
11522 "description" : "The Regex to test",
11523 "maxLength" : 1024,
11524 "type" : "string",
11525 "typetext" : "<string>"
11526 },
11527 "text" : {
11528 "description" : "The String to test",
11529 "maxLength" : 1024,
11530 "type" : "string",
11531 "typetext" : "<string>"
11532 }
11533 }
11534 },
11535 "permissions" : {
11536 "check" : [
11537 "admin",
11538 "qmanager",
11539 "audit"
11540 ]
11541 },
11542 "protected" : 0,
11543 "returns" : {
11544 "type" : "number"
11545 }
11546 }
11547 },
11548 "leaf" : 1,
11549 "path" : "/config/regextest",
11550 "text" : "regextest"
a55e94a6
DM
11551 }
11552 ],
11553 "info" : {
11554 "GET" : {
6bd70b95 11555 "allowtoken" : 1,
a55e94a6
DM
11556 "description" : "Directory index.",
11557 "method" : "GET",
11558 "name" : "index",
11559 "parameters" : {
11560 "additionalProperties" : 0
11561 },
11562 "returns" : {
11563 "items" : {
11564 "properties" : {
11565 "section" : {
11566 "type" : "string"
11567 }
11568 },
11569 "type" : "object"
11570 },
11571 "links" : [
11572 {
11573 "href" : "{section}",
11574 "rel" : "child"
11575 }
11576 ],
11577 "type" : "array"
11578 }
11579 }
11580 },
11581 "leaf" : 0,
11582 "path" : "/config",
11583 "text" : "config"
11584 },
11585 {
11586 "children" : [
11587 {
11588 "children" : [
11589 {
11590 "children" : [
11591 {
11592 "info" : {
11593 "GET" : {
6bd70b95 11594 "allowtoken" : 1,
a55e94a6
DM
11595 "description" : "Print Postfix queue domain and age distribution.",
11596 "method" : "GET",
11597 "name" : "qshape",
11598 "parameters" : {
11599 "additionalProperties" : 0,
11600 "properties" : {
11601 "node" : {
11602 "description" : "The cluster node name.",
11603 "format" : "pve-node",
11604 "type" : "string",
11605 "typetext" : "<string>"
11606 },
11607 "queue" : {
11608 "default" : "deferred",
11609 "description" : "Postfix queue name.",
11610 "enum" : [
11611 "deferred",
11612 "active",
11613 "incoming",
11614 "hold"
11615 ],
11616 "optional" : 1,
11617 "type" : "string"
11618 }
11619 }
11620 },
11621 "permissions" : {
11622 "check" : [
732d76e1
DM
11623 "admin",
11624 "audit"
a55e94a6
DM
11625 ]
11626 },
11627 "protected" : 1,
11628 "proxyto" : "node",
11629 "returns" : {
11630 "items" : {
11631 "properties" : {},
11632 "type" : "object"
11633 },
11634 "type" : "array"
11635 }
11636 }
11637 },
11638 "leaf" : 1,
11639 "path" : "/nodes/{node}/postfix/qshape",
11640 "text" : "qshape"
11641 },
11642 {
11643 "children" : [
11644 {
11645 "children" : [
11646 {
11647 "info" : {
11648 "DELETE" : {
6bd70b95 11649 "allowtoken" : 1,
a55e94a6
DM
11650 "description" : "Delete one message with the named queue ID.",
11651 "method" : "DELETE",
11652 "name" : "delete_queued_mail",
11653 "parameters" : {
11654 "additionalProperties" : 0,
11655 "properties" : {
11656 "node" : {
11657 "description" : "The cluster node name.",
11658 "format" : "pve-node",
11659 "type" : "string",
11660 "typetext" : "<string>"
11661 },
11662 "queue" : {
11663 "description" : "Postfix queue name.",
11664 "enum" : [
11665 "deferred",
11666 "active",
11667 "incoming",
11668 "hold"
11669 ],
11670 "type" : "string"
11671 },
11672 "queue_id" : {
11673 "description" : "The Message queue ID.",
11674 "maxLength" : 20,
11675 "minLength" : 8,
11676 "pattern" : "[a-zA-Z0-9]+",
11677 "type" : "string"
11678 }
11679 }
11680 },
11681 "permissions" : {
11682 "check" : [
11683 "admin"
11684 ]
11685 },
11686 "protected" : 1,
11687 "proxyto" : "node",
11688 "returns" : {
11689 "type" : "null"
11690 }
11691 },
11692 "GET" : {
6bd70b95 11693 "allowtoken" : 1,
a55e94a6
DM
11694 "description" : "Get the contents of a queued mail.",
11695 "method" : "GET",
11696 "name" : "read_queued_mail",
11697 "parameters" : {
11698 "additionalProperties" : 0,
11699 "properties" : {
11700 "body" : {
11701 "default" : 0,
11702 "description" : "Include body content.",
11703 "optional" : 1,
11704 "type" : "boolean",
11705 "typetext" : "<boolean>"
11706 },
db80f170
TL
11707 "decode-header" : {
11708 "default" : 0,
11709 "description" : "Decodes the header fields.",
11710 "optional" : 1,
11711 "type" : "boolean",
11712 "typetext" : "<boolean>"
11713 },
a55e94a6
DM
11714 "header" : {
11715 "default" : 1,
11716 "description" : "Show message header content.",
11717 "optional" : 1,
11718 "type" : "boolean",
11719 "typetext" : "<boolean>"
11720 },
11721 "node" : {
11722 "description" : "The cluster node name.",
11723 "format" : "pve-node",
11724 "type" : "string",
11725 "typetext" : "<string>"
11726 },
11727 "queue" : {
11728 "description" : "Postfix queue name.",
11729 "enum" : [
11730 "deferred",
11731 "active",
11732 "incoming",
11733 "hold"
11734 ],
11735 "type" : "string"
11736 },
11737 "queue_id" : {
11738 "description" : "The Message queue ID.",
11739 "maxLength" : 20,
11740 "minLength" : 8,
11741 "pattern" : "[a-zA-Z0-9]+",
11742 "type" : "string"
11743 }
11744 }
11745 },
11746 "permissions" : {
11747 "check" : [
11748 "admin"
11749 ]
11750 },
11751 "protected" : 1,
11752 "proxyto" : "node",
11753 "returns" : {
11754 "type" : "string"
11755 }
11756 },
11757 "POST" : {
6bd70b95 11758 "allowtoken" : 1,
a55e94a6
DM
11759 "description" : "Schedule immediate delivery of deferred mail with the specified queue ID.",
11760 "method" : "POST",
11761 "name" : "flush_queued_mail",
11762 "parameters" : {
11763 "additionalProperties" : 0,
11764 "properties" : {
11765 "node" : {
11766 "description" : "The cluster node name.",
11767 "format" : "pve-node",
11768 "type" : "string",
11769 "typetext" : "<string>"
11770 },
11771 "queue" : {
11772 "description" : "Postfix queue name.",
11773 "enum" : [
11774 "deferred",
11775 "active",
11776 "incoming",
11777 "hold"
11778 ],
11779 "type" : "string"
11780 },
11781 "queue_id" : {
11782 "description" : "The Message queue ID.",
11783 "maxLength" : 20,
11784 "minLength" : 8,
11785 "pattern" : "[a-zA-Z0-9]+",
11786 "type" : "string"
11787 }
11788 }
11789 },
11790 "permissions" : {
11791 "check" : [
11792 "admin"
11793 ]
11794 },
11795 "protected" : 1,
11796 "proxyto" : "node",
11797 "returns" : {
11798 "type" : "null"
11799 }
11800 }
11801 },
11802 "leaf" : 1,
11803 "path" : "/nodes/{node}/postfix/queue/{queue}/{queue_id}",
11804 "text" : "{queue_id}"
11805 }
11806 ],
11807 "info" : {
11808 "DELETE" : {
6bd70b95 11809 "allowtoken" : 1,
a55e94a6
DM
11810 "description" : "Delete all mails in the queue.",
11811 "method" : "DELETE",
11812 "name" : "delete_queue",
11813 "parameters" : {
11814 "additionalProperties" : 0,
11815 "properties" : {
11816 "node" : {
11817 "description" : "The cluster node name.",
11818 "format" : "pve-node",
11819 "type" : "string",
11820 "typetext" : "<string>"
11821 },
11822 "queue" : {
11823 "description" : "Postfix queue name.",
11824 "enum" : [
11825 "deferred",
11826 "active",
11827 "incoming",
11828 "hold"
11829 ],
11830 "type" : "string"
11831 }
11832 }
11833 },
11834 "permissions" : {
11835 "check" : [
11836 "admin"
11837 ]
11838 },
11839 "protected" : 1,
11840 "proxyto" : "node",
11841 "returns" : {
11842 "type" : "null"
11843 }
11844 },
11845 "GET" : {
6bd70b95 11846 "allowtoken" : 1,
a55e94a6
DM
11847 "description" : "List the mail queue for a specific domain.",
11848 "method" : "GET",
11849 "name" : "mailq",
11850 "parameters" : {
11851 "additionalProperties" : 0,
11852 "properties" : {
11853 "filter" : {
11854 "description" : "Filter string.",
11855 "maxLength" : 64,
11856 "optional" : 1,
11857 "type" : "string",
11858 "typetext" : "<string>"
11859 },
11860 "limit" : {
11861 "minimum" : 0,
11862 "optional" : 1,
11863 "type" : "integer",
11864 "typetext" : "<integer> (0 - N)"
11865 },
11866 "node" : {
11867 "description" : "The cluster node name.",
11868 "format" : "pve-node",
11869 "type" : "string",
11870 "typetext" : "<string>"
11871 },
11872 "queue" : {
11873 "description" : "Postfix queue name.",
11874 "enum" : [
11875 "deferred",
11876 "active",
11877 "incoming",
11878 "hold"
11879 ],
11880 "type" : "string"
11881 },
ab2b846b
TL
11882 "sortdir" : {
11883 "description" : "Sort direction.",
11884 "enum" : [
11885 "ASC",
11886 "DESC"
11887 ],
11888 "optional" : 1,
11889 "requires" : "sortfield",
11890 "type" : "string"
11891 },
11892 "sortfield" : {
11893 "description" : "Sort field.",
11894 "enum" : [
11895 "arrival_time",
11896 "message_size",
11897 "sender",
11898 "receiver",
11899 "reason"
11900 ],
11901 "optional" : 1,
11902 "type" : "string"
11903 },
a55e94a6
DM
11904 "start" : {
11905 "minimum" : 0,
11906 "optional" : 1,
11907 "type" : "integer",
11908 "typetext" : "<integer> (0 - N)"
11909 }
11910 }
11911 },
11912 "permissions" : {
11913 "check" : [
732d76e1
DM
11914 "admin",
11915 "audit"
a55e94a6
DM
11916 ]
11917 },
11918 "protected" : 1,
11919 "proxyto" : "node",
11920 "returns" : {
11921 "items" : {
11922 "properties" : {},
11923 "type" : "object"
11924 },
11925 "links" : [
11926 {
11927 "href" : "{queue_id}",
11928 "rel" : "child"
11929 }
11930 ],
11931 "type" : "array"
11932 }
11933 }
11934 },
11935 "leaf" : 0,
11936 "path" : "/nodes/{node}/postfix/queue/{queue}",
11937 "text" : "{queue}"
11938 }
11939 ],
11940 "info" : {
9fda36b0 11941 "DELETE" : {
6bd70b95 11942 "allowtoken" : 1,
9fda36b0
DM
11943 "description" : "Delete all mails in all posfix queues.",
11944 "method" : "DELETE",
11945 "name" : "delete_all_queues",
11946 "parameters" : {
11947 "additionalProperties" : 0,
11948 "properties" : {
11949 "node" : {
11950 "description" : "The cluster node name.",
11951 "format" : "pve-node",
11952 "type" : "string",
11953 "typetext" : "<string>"
11954 }
11955 }
11956 },
11957 "permissions" : {
11958 "check" : [
11959 "admin"
11960 ]
11961 },
11962 "protected" : 1,
11963 "proxyto" : "node",
11964 "returns" : {
11965 "type" : "null"
11966 }
11967 },
a55e94a6 11968 "GET" : {
6bd70b95 11969 "allowtoken" : 1,
a55e94a6
DM
11970 "description" : "Directory index.",
11971 "method" : "GET",
11972 "name" : "queue_index",
11973 "parameters" : {
11974 "additionalProperties" : 0,
11975 "properties" : {
11976 "node" : {
11977 "description" : "The cluster node name.",
11978 "format" : "pve-node",
11979 "type" : "string",
11980 "typetext" : "<string>"
11981 }
11982 }
11983 },
11984 "permissions" : {
11985 "user" : "all"
11986 },
11987 "returns" : {
11988 "items" : {
11989 "properties" : {},
11990 "type" : "object"
11991 },
11992 "links" : [
11993 {
11994 "href" : "{name}",
11995 "rel" : "child"
11996 }
11997 ],
11998 "type" : "array"
11999 }
12000 }
12001 },
12002 "leaf" : 0,
12003 "path" : "/nodes/{node}/postfix/queue",
12004 "text" : "queue"
f245a28c 12005 },
a55e94a6
DM
12006 {
12007 "info" : {
12008 "POST" : {
6bd70b95 12009 "allowtoken" : 1,
a55e94a6
DM
12010 "description" : "Flush the queue: attempt to deliver all queued mail.",
12011 "method" : "POST",
12012 "name" : "flush_queues",
12013 "parameters" : {
12014 "additionalProperties" : 0,
12015 "properties" : {
12016 "node" : {
12017 "description" : "The cluster node name.",
12018 "format" : "pve-node",
12019 "type" : "string",
12020 "typetext" : "<string>"
12021 }
12022 }
12023 },
12024 "permissions" : {
12025 "check" : [
12026 "admin"
12027 ]
12028 },
12029 "protected" : 1,
12030 "proxyto" : "node",
12031 "returns" : {
12032 "type" : "null"
12033 }
12034 }
f245a28c 12035 },
a55e94a6
DM
12036 "leaf" : 1,
12037 "path" : "/nodes/{node}/postfix/flush_queues",
12038 "text" : "flush_queues"
12039 },
12040 {
12041 "info" : {
12042 "POST" : {
6bd70b95 12043 "allowtoken" : 1,
a55e94a6
DM
12044 "description" : "Discards the address verification cache.",
12045 "method" : "POST",
12046 "name" : "discard_verify_cache",
12047 "parameters" : {
12048 "additionalProperties" : 0,
12049 "properties" : {
12050 "node" : {
12051 "description" : "The cluster node name.",
12052 "format" : "pve-node",
12053 "type" : "string",
12054 "typetext" : "<string>"
12055 }
12056 }
12057 },
12058 "permissions" : {
12059 "check" : [
12060 "admin"
12061 ]
12062 },
12063 "protected" : 1,
12064 "proxyto" : "node",
12065 "returns" : {
12066 "type" : "null"
12067 }
12068 }
f245a28c 12069 },
a55e94a6
DM
12070 "leaf" : 1,
12071 "path" : "/nodes/{node}/postfix/discard_verify_cache",
12072 "text" : "discard_verify_cache"
12073 }
12074 ],
12075 "info" : {
12076 "GET" : {
6bd70b95 12077 "allowtoken" : 1,
a55e94a6
DM
12078 "description" : "Directory index.",
12079 "method" : "GET",
12080 "name" : "index",
12081 "parameters" : {
12082 "additionalProperties" : 0,
12083 "properties" : {
12084 "node" : {
12085 "description" : "The cluster node name.",
12086 "format" : "pve-node",
12087 "type" : "string",
12088 "typetext" : "<string>"
12089 }
12090 }
f245a28c 12091 },
a55e94a6
DM
12092 "permissions" : {
12093 "user" : "all"
f245a28c 12094 },
a55e94a6
DM
12095 "returns" : {
12096 "items" : {
12097 "properties" : {},
12098 "type" : "object"
12099 },
12100 "links" : [
12101 {
12102 "href" : "{name}",
12103 "rel" : "child"
12104 }
12105 ],
12106 "type" : "array"
f245a28c 12107 }
410dc2c9
DM
12108 }
12109 },
a55e94a6
DM
12110 "leaf" : 0,
12111 "path" : "/nodes/{node}/postfix",
12112 "text" : "postfix"
410dc2c9 12113 },
f245a28c
DM
12114 {
12115 "children" : [
12116 {
12117 "info" : {
12118 "GET" : {
6bd70b95 12119 "allowtoken" : 1,
f245a28c
DM
12120 "description" : "ClamAV virus database status.",
12121 "method" : "GET",
12122 "name" : "database_status",
12123 "parameters" : {
12124 "additionalProperties" : 0,
12125 "properties" : {
12126 "node" : {
12127 "description" : "The cluster node name.",
12128 "format" : "pve-node",
12129 "type" : "string",
12130 "typetext" : "<string>"
12131 }
12132 }
12133 },
bb6e6e0d
DM
12134 "permissions" : {
12135 "check" : [
12136 "admin",
12137 "audit"
12138 ]
12139 },
12140 "proxyto" : "node",
f245a28c
DM
12141 "returns" : {
12142 "items" : {
12143 "properties" : {
12144 "build_time" : {
12145 "type" : "string"
12146 },
12147 "nsigs" : {
12148 "type" : "integer"
12149 },
12150 "type" : {
12151 "type" : "string"
12152 },
12153 "version" : {
12154 "optional" : 1,
12155 "type" : "string"
12156 }
12157 },
12158 "type" : "object"
12159 },
12160 "type" : "array"
12161 }
12162 },
12163 "POST" : {
6bd70b95 12164 "allowtoken" : 1,
f245a28c
DM
12165 "description" : "Update ClamAV virus databases.",
12166 "method" : "POST",
12167 "name" : "update_database",
12168 "parameters" : {
12169 "additionalProperties" : 0,
12170 "properties" : {
12171 "node" : {
12172 "description" : "The cluster node name.",
12173 "format" : "pve-node",
12174 "type" : "string",
12175 "typetext" : "<string>"
12176 }
12177 }
12178 },
bb6e6e0d
DM
12179 "permissions" : {
12180 "check" : [
12181 "admin"
12182 ]
12183 },
f245a28c 12184 "protected" : 1,
bb6e6e0d 12185 "proxyto" : "node",
f245a28c
DM
12186 "returns" : {
12187 "type" : "string"
12188 }
12189 }
12190 },
12191 "leaf" : 1,
12192 "path" : "/nodes/{node}/clamav/database",
12193 "text" : "database"
12194 }
12195 ],
12196 "info" : {
12197 "GET" : {
6bd70b95 12198 "allowtoken" : 1,
f245a28c
DM
12199 "description" : "Directory index.",
12200 "method" : "GET",
12201 "name" : "index",
12202 "parameters" : {
12203 "additionalProperties" : 0,
12204 "properties" : {
12205 "node" : {
12206 "description" : "The cluster node name.",
12207 "format" : "pve-node",
12208 "type" : "string",
12209 "typetext" : "<string>"
12210 }
12211 }
12212 },
bb6e6e0d
DM
12213 "permissions" : {
12214 "check" : [
12215 "admin",
12216 "audit"
12217 ]
12218 },
f245a28c
DM
12219 "returns" : {
12220 "items" : {
12221 "properties" : {},
12222 "type" : "object"
12223 },
12224 "links" : [
12225 {
12226 "href" : "{subdir}",
12227 "rel" : "child"
12228 }
12229 ],
12230 "type" : "array"
12231 }
12232 }
12233 },
12234 "leaf" : 0,
12235 "path" : "/nodes/{node}/clamav",
12236 "text" : "clamav"
12237 },
bb6e6e0d
DM
12238 {
12239 "children" : [
12240 {
12241 "info" : {
12242 "GET" : {
6bd70b95 12243 "allowtoken" : 1,
bb6e6e0d
DM
12244 "description" : "SpamAssassin rules status.",
12245 "method" : "GET",
12246 "name" : "rules_status",
12247 "parameters" : {
12248 "additionalProperties" : 0,
12249 "properties" : {
12250 "node" : {
12251 "description" : "The cluster node name.",
12252 "format" : "pve-node",
12253 "type" : "string",
12254 "typetext" : "<string>"
12255 }
12256 }
12257 },
12258 "permissions" : {
12259 "check" : [
12260 "admin",
12261 "audit"
12262 ]
12263 },
12264 "proxyto" : "node",
12265 "returns" : {
12266 "items" : {
12267 "properties" : {
12268 "channel" : {
12269 "type" : "string"
12270 },
12271 "last_updated" : {
12272 "optional" : 1,
12273 "type" : "integer"
12274 },
12275 "update_avail" : {
12276 "type" : "boolean"
12277 },
12278 "update_version" : {
12279 "optional" : 1,
12280 "type" : "string"
12281 },
12282 "version" : {
12283 "optional" : 1,
12284 "type" : "string"
12285 }
12286 },
12287 "type" : "object"
12288 },
12289 "type" : "array"
12290 }
12291 },
12292 "POST" : {
6bd70b95 12293 "allowtoken" : 1,
bb6e6e0d
DM
12294 "description" : "Update SpamAssassin rules.",
12295 "method" : "POST",
12296 "name" : "update_rules",
12297 "parameters" : {
12298 "additionalProperties" : 0,
12299 "properties" : {
12300 "node" : {
12301 "description" : "The cluster node name.",
12302 "format" : "pve-node",
12303 "type" : "string",
12304 "typetext" : "<string>"
12305 }
12306 }
12307 },
12308 "permissions" : {
12309 "check" : [
12310 "admin"
12311 ]
12312 },
12313 "protected" : 1,
12314 "proxyto" : "node",
12315 "returns" : {
12316 "type" : "string"
12317 }
12318 }
12319 },
12320 "leaf" : 1,
12321 "path" : "/nodes/{node}/spamassassin/rules",
12322 "text" : "rules"
12323 }
12324 ],
12325 "info" : {
12326 "GET" : {
6bd70b95 12327 "allowtoken" : 1,
bb6e6e0d
DM
12328 "description" : "Directory index.",
12329 "method" : "GET",
12330 "name" : "index",
12331 "parameters" : {
12332 "additionalProperties" : 0,
12333 "properties" : {
12334 "node" : {
12335 "description" : "The cluster node name.",
12336 "format" : "pve-node",
12337 "type" : "string",
12338 "typetext" : "<string>"
12339 }
12340 }
12341 },
12342 "permissions" : {
12343 "check" : [
12344 "admin",
12345 "audit"
12346 ]
12347 },
12348 "returns" : {
12349 "items" : {
12350 "properties" : {},
12351 "type" : "object"
12352 },
12353 "links" : [
12354 {
12355 "href" : "{subdir}",
12356 "rel" : "child"
12357 }
12358 ],
12359 "type" : "array"
12360 }
12361 }
12362 },
12363 "leaf" : 0,
12364 "path" : "/nodes/{node}/spamassassin",
12365 "text" : "spamassassin"
12366 },
410dc2c9
DM
12367 {
12368 "children" : [
12369 {
12370 "info" : {
12371 "DELETE" : {
6bd70b95 12372 "allowtoken" : 1,
410dc2c9
DM
12373 "description" : "Delete network device configuration",
12374 "method" : "DELETE",
12375 "name" : "delete_network",
12376 "parameters" : {
12377 "additionalProperties" : 0,
12378 "properties" : {
12379 "iface" : {
12380 "description" : "Network interface name.",
12381 "format" : "pve-iface",
12382 "maxLength" : 20,
12383 "minLength" : 2,
12384 "type" : "string",
12385 "typetext" : "<string>"
12386 },
12387 "node" : {
12388 "description" : "The cluster node name.",
12389 "format" : "pve-node",
12390 "type" : "string",
12391 "typetext" : "<string>"
12392 }
12393 }
12394 },
12395 "protected" : 1,
12396 "proxyto" : "node",
12397 "returns" : {
12398 "type" : "null"
12399 }
12400 },
12401 "GET" : {
6bd70b95 12402 "allowtoken" : 1,
410dc2c9
DM
12403 "description" : "Read network device configuration",
12404 "method" : "GET",
12405 "name" : "network_config",
12406 "parameters" : {
12407 "additionalProperties" : 0,
12408 "properties" : {
12409 "iface" : {
12410 "description" : "Network interface name.",
12411 "format" : "pve-iface",
12412 "maxLength" : 20,
12413 "minLength" : 2,
12414 "type" : "string",
12415 "typetext" : "<string>"
12416 },
12417 "node" : {
12418 "description" : "The cluster node name.",
12419 "format" : "pve-node",
12420 "type" : "string",
12421 "typetext" : "<string>"
12422 }
12423 }
12424 },
732d76e1
DM
12425 "permissions" : {
12426 "check" : [
12427 "admin",
12428 "audit"
12429 ]
12430 },
410dc2c9
DM
12431 "proxyto" : "node",
12432 "returns" : {
12433 "properties" : {
12434 "method" : {
12435 "type" : "string"
12436 },
12437 "type" : {
12438 "type" : "string"
12439 }
12440 },
12441 "type" : "object"
12442 }
12443 },
12444 "PUT" : {
6bd70b95 12445 "allowtoken" : 1,
410dc2c9
DM
12446 "description" : "Update network device configuration",
12447 "method" : "PUT",
12448 "name" : "update_network",
12449 "parameters" : {
12450 "additionalProperties" : 0,
12451 "properties" : {
12452 "address" : {
12453 "description" : "IP address.",
12454 "format" : "ipv4",
12455 "optional" : 1,
12456 "requires" : "netmask",
12457 "type" : "string",
12458 "typetext" : "<string>"
12459 },
12460 "address6" : {
12461 "description" : "IP address.",
12462 "format" : "ipv6",
12463 "optional" : 1,
12464 "requires" : "netmask6",
12465 "type" : "string",
12466 "typetext" : "<string>"
12467 },
12468 "autostart" : {
12469 "description" : "Automatically start interface on boot.",
12470 "optional" : 1,
12471 "type" : "boolean",
12472 "typetext" : "<boolean>"
12473 },
6bd70b95
TL
12474 "bond-primary" : {
12475 "description" : "Specify the primary interface for active-backup bond.",
12476 "format" : "pve-iface",
12477 "optional" : 1,
12478 "type" : "string",
12479 "typetext" : "<string>"
12480 },
410dc2c9
DM
12481 "bond_mode" : {
12482 "description" : "Bonding mode.",
12483 "enum" : [
12484 "balance-rr",
12485 "active-backup",
12486 "balance-xor",
12487 "broadcast",
12488 "802.3ad",
12489 "balance-tlb",
12490 "balance-alb",
12491 "balance-slb",
12492 "lacp-balance-slb",
12493 "lacp-balance-tcp"
12494 ],
12495 "optional" : 1,
12496 "type" : "string"
12497 },
12498 "bond_xmit_hash_policy" : {
12499 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
12500 "enum" : [
12501 "layer2",
12502 "layer2+3",
12503 "layer3+4"
12504 ],
12505 "optional" : 1,
12506 "type" : "string"
12507 },
12508 "bridge_ports" : {
d8212759 12509 "description" : "Specify the interfaces you want to add to your bridge.",
410dc2c9
DM
12510 "format" : "pve-iface-list",
12511 "optional" : 1,
12512 "type" : "string",
12513 "typetext" : "<string>"
12514 },
12515 "bridge_vlan_aware" : {
12516 "description" : "Enable bridge vlan support.",
12517 "optional" : 1,
12518 "type" : "boolean",
12519 "typetext" : "<boolean>"
12520 },
241ac83c
TL
12521 "cidr" : {
12522 "description" : "IPv4 CIDR.",
12523 "format" : "CIDRv4",
12524 "optional" : 1,
12525 "type" : "string",
12526 "typetext" : "<string>"
12527 },
12528 "cidr6" : {
12529 "description" : "IPv6 CIDR.",
12530 "format" : "CIDRv6",
12531 "optional" : 1,
12532 "type" : "string",
12533 "typetext" : "<string>"
12534 },
410dc2c9
DM
12535 "comments" : {
12536 "description" : "Comments",
12537 "optional" : 1,
12538 "type" : "string",
12539 "typetext" : "<string>"
12540 },
12541 "comments6" : {
12542 "description" : "Comments",
12543 "optional" : 1,
12544 "type" : "string",
12545 "typetext" : "<string>"
12546 },
12547 "delete" : {
12548 "description" : "A list of settings you want to delete.",
12549 "format" : "pve-configid-list",
12550 "optional" : 1,
12551 "type" : "string",
12552 "typetext" : "<string>"
12553 },
12554 "gateway" : {
12555 "description" : "Default gateway address.",
12556 "format" : "ipv4",
12557 "optional" : 1,
12558 "type" : "string",
12559 "typetext" : "<string>"
12560 },
12561 "gateway6" : {
12562 "description" : "Default ipv6 gateway address.",
12563 "format" : "ipv6",
12564 "optional" : 1,
12565 "type" : "string",
12566 "typetext" : "<string>"
12567 },
12568 "iface" : {
12569 "description" : "Network interface name.",
12570 "format" : "pve-iface",
12571 "maxLength" : 20,
12572 "minLength" : 2,
12573 "type" : "string",
12574 "typetext" : "<string>"
12575 },
6bd70b95
TL
12576 "mtu" : {
12577 "description" : "MTU.",
12578 "maximum" : 65520,
12579 "minimum" : 1280,
12580 "optional" : 1,
12581 "type" : "integer",
12582 "typetext" : "<integer> (1280 - 65520)"
12583 },
410dc2c9
DM
12584 "netmask" : {
12585 "description" : "Network mask.",
12586 "format" : "ipv4mask",
12587 "optional" : 1,
12588 "requires" : "address",
12589 "type" : "string",
12590 "typetext" : "<string>"
12591 },
12592 "netmask6" : {
12593 "description" : "Network mask.",
12594 "maximum" : 128,
12595 "minimum" : 0,
12596 "optional" : 1,
12597 "requires" : "address6",
12598 "type" : "integer",
12599 "typetext" : "<integer> (0 - 128)"
12600 },
12601 "node" : {
12602 "description" : "The cluster node name.",
12603 "format" : "pve-node",
12604 "type" : "string",
12605 "typetext" : "<string>"
12606 },
12607 "ovs_bonds" : {
12608 "description" : "Specify the interfaces used by the bonding device.",
12609 "format" : "pve-iface-list",
12610 "optional" : 1,
12611 "type" : "string",
12612 "typetext" : "<string>"
12613 },
12614 "ovs_bridge" : {
12615 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
12616 "format" : "pve-iface",
12617 "optional" : 1,
12618 "type" : "string",
12619 "typetext" : "<string>"
12620 },
12621 "ovs_options" : {
12622 "description" : "OVS interface options.",
12623 "maxLength" : 1024,
12624 "optional" : 1,
12625 "type" : "string",
12626 "typetext" : "<string>"
12627 },
12628 "ovs_ports" : {
d8212759 12629 "description" : "Specify the interfaces you want to add to your bridge.",
410dc2c9
DM
12630 "format" : "pve-iface-list",
12631 "optional" : 1,
12632 "type" : "string",
12633 "typetext" : "<string>"
12634 },
12635 "ovs_tag" : {
12636 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
12637 "maximum" : 4094,
12638 "minimum" : 1,
12639 "optional" : 1,
12640 "type" : "integer",
12641 "typetext" : "<integer> (1 - 4094)"
12642 },
12643 "slaves" : {
12644 "description" : "Specify the interfaces used by the bonding device.",
12645 "format" : "pve-iface-list",
12646 "optional" : 1,
12647 "type" : "string",
12648 "typetext" : "<string>"
12649 },
12650 "type" : {
12651 "description" : "Network interface type",
12652 "enum" : [
12653 "bridge",
12654 "bond",
12655 "eth",
12656 "alias",
12657 "vlan",
12658 "OVSBridge",
12659 "OVSBond",
12660 "OVSPort",
12661 "OVSIntPort",
12662 "unknown"
12663 ],
12664 "type" : "string"
6bd70b95
TL
12665 },
12666 "vlan-id" : {
12667 "description" : "vlan-id for a custom named vlan interface (ifupdown2 only).",
12668 "maximum" : 4094,
12669 "minimum" : 1,
12670 "optional" : 1,
12671 "type" : "integer",
12672 "typetext" : "<integer> (1 - 4094)"
12673 },
12674 "vlan-raw-device" : {
12675 "description" : "Specify the raw interface for the vlan interface.",
12676 "format" : "pve-iface",
12677 "optional" : 1,
12678 "type" : "string",
12679 "typetext" : "<string>"
410dc2c9
DM
12680 }
12681 }
12682 },
12683 "protected" : 1,
12684 "proxyto" : "node",
12685 "returns" : {
12686 "type" : "null"
12687 }
12688 }
12689 },
12690 "leaf" : 1,
12691 "path" : "/nodes/{node}/network/{iface}",
12692 "text" : "{iface}"
12693 }
12694 ],
12695 "info" : {
12696 "DELETE" : {
6bd70b95 12697 "allowtoken" : 1,
410dc2c9
DM
12698 "description" : "Revert network configuration changes.",
12699 "method" : "DELETE",
12700 "name" : "revert_network_changes",
12701 "parameters" : {
12702 "additionalProperties" : 0,
12703 "properties" : {
12704 "node" : {
12705 "description" : "The cluster node name.",
12706 "format" : "pve-node",
12707 "type" : "string",
12708 "typetext" : "<string>"
12709 }
12710 }
12711 },
12712 "protected" : 1,
12713 "proxyto" : "node",
12714 "returns" : {
12715 "type" : "null"
12716 }
12717 },
12718 "GET" : {
6bd70b95 12719 "allowtoken" : 1,
410dc2c9
DM
12720 "description" : "List available networks",
12721 "method" : "GET",
12722 "name" : "index",
12723 "parameters" : {
12724 "additionalProperties" : 0,
12725 "properties" : {
12726 "node" : {
12727 "description" : "The cluster node name.",
12728 "format" : "pve-node",
12729 "type" : "string",
12730 "typetext" : "<string>"
12731 },
12732 "type" : {
12733 "description" : "Only list specific interface types.",
12734 "enum" : [
12735 "bridge",
12736 "bond",
12737 "eth",
12738 "alias",
12739 "vlan",
12740 "OVSBridge",
12741 "OVSBond",
12742 "OVSPort",
12743 "OVSIntPort",
12744 "any_bridge"
12745 ],
12746 "optional" : 1,
12747 "type" : "string"
12748 }
12749 }
12750 },
732d76e1
DM
12751 "permissions" : {
12752 "check" : [
12753 "admin",
12754 "audit"
12755 ]
12756 },
410dc2c9
DM
12757 "proxyto" : "node",
12758 "returns" : {
12759 "items" : {
12760 "properties" : {},
12761 "type" : "object"
12762 },
12763 "links" : [
12764 {
12765 "href" : "{iface}",
12766 "rel" : "child"
12767 }
12768 ],
12769 "type" : "array"
12770 }
12771 },
12772 "POST" : {
6bd70b95 12773 "allowtoken" : 1,
410dc2c9
DM
12774 "description" : "Create network device configuration",
12775 "method" : "POST",
12776 "name" : "create_network",
12777 "parameters" : {
12778 "additionalProperties" : 0,
12779 "properties" : {
12780 "address" : {
12781 "description" : "IP address.",
12782 "format" : "ipv4",
12783 "optional" : 1,
12784 "requires" : "netmask",
12785 "type" : "string",
12786 "typetext" : "<string>"
12787 },
12788 "address6" : {
12789 "description" : "IP address.",
12790 "format" : "ipv6",
12791 "optional" : 1,
12792 "requires" : "netmask6",
12793 "type" : "string",
12794 "typetext" : "<string>"
12795 },
12796 "autostart" : {
12797 "description" : "Automatically start interface on boot.",
12798 "optional" : 1,
12799 "type" : "boolean",
12800 "typetext" : "<boolean>"
12801 },
6bd70b95
TL
12802 "bond-primary" : {
12803 "description" : "Specify the primary interface for active-backup bond.",
12804 "format" : "pve-iface",
12805 "optional" : 1,
12806 "type" : "string",
12807 "typetext" : "<string>"
12808 },
410dc2c9
DM
12809 "bond_mode" : {
12810 "description" : "Bonding mode.",
12811 "enum" : [
12812 "balance-rr",
12813 "active-backup",
12814 "balance-xor",
12815 "broadcast",
12816 "802.3ad",
12817 "balance-tlb",
12818 "balance-alb",
12819 "balance-slb",
12820 "lacp-balance-slb",
12821 "lacp-balance-tcp"
12822 ],
12823 "optional" : 1,
12824 "type" : "string"
12825 },
12826 "bond_xmit_hash_policy" : {
12827 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
12828 "enum" : [
12829 "layer2",
12830 "layer2+3",
12831 "layer3+4"
12832 ],
12833 "optional" : 1,
12834 "type" : "string"
12835 },
12836 "bridge_ports" : {
d8212759 12837 "description" : "Specify the interfaces you want to add to your bridge.",
410dc2c9
DM
12838 "format" : "pve-iface-list",
12839 "optional" : 1,
12840 "type" : "string",
12841 "typetext" : "<string>"
12842 },
12843 "bridge_vlan_aware" : {
12844 "description" : "Enable bridge vlan support.",
12845 "optional" : 1,
12846 "type" : "boolean",
12847 "typetext" : "<boolean>"
12848 },
241ac83c
TL
12849 "cidr" : {
12850 "description" : "IPv4 CIDR.",
12851 "format" : "CIDRv4",
12852 "optional" : 1,
12853 "type" : "string",
12854 "typetext" : "<string>"
12855 },
12856 "cidr6" : {
12857 "description" : "IPv6 CIDR.",
12858 "format" : "CIDRv6",
12859 "optional" : 1,
12860 "type" : "string",
12861 "typetext" : "<string>"
12862 },
410dc2c9
DM
12863 "comments" : {
12864 "description" : "Comments",
12865 "optional" : 1,
12866 "type" : "string",
12867 "typetext" : "<string>"
12868 },
12869 "comments6" : {
12870 "description" : "Comments",
12871 "optional" : 1,
12872 "type" : "string",
12873 "typetext" : "<string>"
12874 },
12875 "gateway" : {
12876 "description" : "Default gateway address.",
12877 "format" : "ipv4",
12878 "optional" : 1,
12879 "type" : "string",
12880 "typetext" : "<string>"
12881 },
12882 "gateway6" : {
12883 "description" : "Default ipv6 gateway address.",
12884 "format" : "ipv6",
12885 "optional" : 1,
12886 "type" : "string",
12887 "typetext" : "<string>"
12888 },
12889 "iface" : {
12890 "description" : "Network interface name.",
12891 "format" : "pve-iface",
12892 "maxLength" : 20,
12893 "minLength" : 2,
12894 "type" : "string",
12895 "typetext" : "<string>"
12896 },
6bd70b95
TL
12897 "mtu" : {
12898 "description" : "MTU.",
12899 "maximum" : 65520,
12900 "minimum" : 1280,
12901 "optional" : 1,
12902 "type" : "integer",
12903 "typetext" : "<integer> (1280 - 65520)"
12904 },
410dc2c9
DM
12905 "netmask" : {
12906 "description" : "Network mask.",
12907 "format" : "ipv4mask",
12908 "optional" : 1,
12909 "requires" : "address",
12910 "type" : "string",
12911 "typetext" : "<string>"
12912 },
12913 "netmask6" : {
12914 "description" : "Network mask.",
12915 "maximum" : 128,
12916 "minimum" : 0,
12917 "optional" : 1,
12918 "requires" : "address6",
12919 "type" : "integer",
12920 "typetext" : "<integer> (0 - 128)"
12921 },
12922 "node" : {
12923 "description" : "The cluster node name.",
12924 "format" : "pve-node",
12925 "type" : "string",
12926 "typetext" : "<string>"
12927 },
12928 "ovs_bonds" : {
12929 "description" : "Specify the interfaces used by the bonding device.",
12930 "format" : "pve-iface-list",
12931 "optional" : 1,
12932 "type" : "string",
12933 "typetext" : "<string>"
12934 },
12935 "ovs_bridge" : {
12936 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
12937 "format" : "pve-iface",
12938 "optional" : 1,
12939 "type" : "string",
12940 "typetext" : "<string>"
12941 },
12942 "ovs_options" : {
12943 "description" : "OVS interface options.",
12944 "maxLength" : 1024,
12945 "optional" : 1,
12946 "type" : "string",
12947 "typetext" : "<string>"
12948 },
12949 "ovs_ports" : {
d8212759 12950 "description" : "Specify the interfaces you want to add to your bridge.",
410dc2c9
DM
12951 "format" : "pve-iface-list",
12952 "optional" : 1,
12953 "type" : "string",
12954 "typetext" : "<string>"
12955 },
12956 "ovs_tag" : {
12957 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
12958 "maximum" : 4094,
12959 "minimum" : 1,
12960 "optional" : 1,
12961 "type" : "integer",
12962 "typetext" : "<integer> (1 - 4094)"
12963 },
12964 "slaves" : {
12965 "description" : "Specify the interfaces used by the bonding device.",
12966 "format" : "pve-iface-list",
12967 "optional" : 1,
12968 "type" : "string",
12969 "typetext" : "<string>"
12970 },
12971 "type" : {
12972 "description" : "Network interface type",
12973 "enum" : [
12974 "bridge",
12975 "bond",
12976 "eth",
12977 "alias",
12978 "vlan",
12979 "OVSBridge",
12980 "OVSBond",
12981 "OVSPort",
12982 "OVSIntPort",
12983 "unknown"
12984 ],
12985 "type" : "string"
6bd70b95
TL
12986 },
12987 "vlan-id" : {
12988 "description" : "vlan-id for a custom named vlan interface (ifupdown2 only).",
12989 "maximum" : 4094,
12990 "minimum" : 1,
12991 "optional" : 1,
12992 "type" : "integer",
12993 "typetext" : "<integer> (1 - 4094)"
12994 },
12995 "vlan-raw-device" : {
12996 "description" : "Specify the raw interface for the vlan interface.",
12997 "format" : "pve-iface",
12998 "optional" : 1,
12999 "type" : "string",
13000 "typetext" : "<string>"
410dc2c9
DM
13001 }
13002 }
13003 },
13004 "protected" : 1,
13005 "proxyto" : "node",
13006 "returns" : {
13007 "type" : "null"
13008 }
e0e71e6a
TL
13009 },
13010 "PUT" : {
13011 "allowtoken" : 1,
13012 "description" : "Reload network configuration",
13013 "method" : "PUT",
13014 "name" : "reload_network_config",
13015 "parameters" : {
13016 "additionalProperties" : 0,
13017 "properties" : {
13018 "node" : {
13019 "description" : "The cluster node name.",
13020 "format" : "pve-node",
13021 "type" : "string",
13022 "typetext" : "<string>"
13023 }
13024 }
13025 },
13026 "protected" : 1,
13027 "proxyto" : "node",
13028 "returns" : {
13029 "type" : "string"
13030 }
410dc2c9
DM
13031 }
13032 },
13033 "leaf" : 0,
13034 "path" : "/nodes/{node}/network",
13035 "text" : "network"
13036 },
13037 {
13038 "children" : [
13039 {
13040 "children" : [
13041 {
13042 "info" : {
13043 "GET" : {
6bd70b95 13044 "allowtoken" : 1,
410dc2c9
DM
13045 "description" : "Read task log.",
13046 "method" : "GET",
13047 "name" : "read_task_log",
13048 "parameters" : {
13049 "additionalProperties" : 0,
13050 "properties" : {
f4831d94
TL
13051 "download" : {
13052 "description" : "Whether the tasklog file should be downloaded. This parameter can't be used in conjunction with other parameters",
13053 "optional" : 1,
13054 "type" : "boolean",
13055 "typetext" : "<boolean>"
13056 },
410dc2c9 13057 "limit" : {
f4831d94 13058 "description" : "The amount of lines to read from the tasklog.",
410dc2c9
DM
13059 "minimum" : 0,
13060 "optional" : 1,
13061 "type" : "integer",
13062 "typetext" : "<integer> (0 - N)"
13063 },
13064 "node" : {
13065 "description" : "The cluster node name.",
13066 "format" : "pve-node",
13067 "type" : "string",
13068 "typetext" : "<string>"
13069 },
13070 "start" : {
f4831d94 13071 "description" : "Start at this line when reading the tasklog",
410dc2c9
DM
13072 "minimum" : 0,
13073 "optional" : 1,
13074 "type" : "integer",
13075 "typetext" : "<integer> (0 - N)"
13076 },
13077 "upid" : {
13078 "type" : "string",
13079 "typetext" : "<string>"
13080 }
13081 }
13082 },
732d76e1
DM
13083 "permissions" : {
13084 "check" : [
13085 "admin",
13086 "audit"
13087 ]
13088 },
410dc2c9
DM
13089 "protected" : 1,
13090 "proxyto" : "node",
13091 "returns" : {
13092 "items" : {
13093 "properties" : {
13094 "n" : {
13095 "description" : "Line number",
13096 "type" : "integer"
13097 },
13098 "t" : {
13099 "description" : "Line text",
13100 "type" : "string"
13101 }
13102 },
13103 "type" : "object"
13104 },
13105 "type" : "array"
13106 }
13107 }
13108 },
13109 "leaf" : 1,
13110 "path" : "/nodes/{node}/tasks/{upid}/log",
13111 "text" : "log"
13112 },
13113 {
13114 "info" : {
13115 "GET" : {
6bd70b95 13116 "allowtoken" : 1,
410dc2c9
DM
13117 "description" : "Read task status.",
13118 "method" : "GET",
13119 "name" : "read_task_status",
13120 "parameters" : {
13121 "additionalProperties" : 0,
13122 "properties" : {
13123 "node" : {
13124 "description" : "The cluster node name.",
13125 "format" : "pve-node",
13126 "type" : "string",
13127 "typetext" : "<string>"
13128 },
13129 "upid" : {
13130 "type" : "string",
13131 "typetext" : "<string>"
13132 }
13133 }
13134 },
732d76e1
DM
13135 "permissions" : {
13136 "check" : [
13137 "admin",
13138 "audit"
13139 ]
13140 },
410dc2c9
DM
13141 "protected" : 1,
13142 "proxyto" : "node",
13143 "returns" : {
13144 "properties" : {
13145 "pid" : {
13146 "type" : "integer"
13147 },
13148 "status" : {
13149 "enum" : [
13150 "running",
13151 "stopped"
13152 ],
13153 "type" : "string"
13154 }
13155 },
13156 "type" : "object"
13157 }
13158 }
13159 },
13160 "leaf" : 1,
13161 "path" : "/nodes/{node}/tasks/{upid}/status",
13162 "text" : "status"
13163 }
13164 ],
13165 "info" : {
13166 "DELETE" : {
6bd70b95 13167 "allowtoken" : 1,
410dc2c9
DM
13168 "description" : "Stop a task.",
13169 "method" : "DELETE",
13170 "name" : "stop_task",
13171 "parameters" : {
13172 "additionalProperties" : 0,
13173 "properties" : {
13174 "node" : {
13175 "description" : "The cluster node name.",
13176 "format" : "pve-node",
13177 "type" : "string",
13178 "typetext" : "<string>"
13179 },
13180 "upid" : {
13181 "type" : "string",
13182 "typetext" : "<string>"
13183 }
13184 }
13185 },
732d76e1
DM
13186 "permissions" : {
13187 "check" : [
13188 "admin"
13189 ]
13190 },
410dc2c9
DM
13191 "protected" : 1,
13192 "proxyto" : "node",
13193 "returns" : {
13194 "type" : "null"
13195 }
13196 },
13197 "GET" : {
6bd70b95 13198 "allowtoken" : 1,
410dc2c9
DM
13199 "description" : "",
13200 "method" : "GET",
13201 "name" : "upid_index",
13202 "parameters" : {
13203 "additionalProperties" : 0,
13204 "properties" : {
13205 "node" : {
13206 "description" : "The cluster node name.",
13207 "format" : "pve-node",
13208 "type" : "string",
13209 "typetext" : "<string>"
13210 },
13211 "upid" : {
13212 "type" : "string",
13213 "typetext" : "<string>"
13214 }
13215 }
13216 },
732d76e1
DM
13217 "permissions" : {
13218 "check" : [
13219 "admin",
13220 "audit"
13221 ]
13222 },
410dc2c9
DM
13223 "returns" : {
13224 "items" : {
13225 "properties" : {},
13226 "type" : "object"
13227 },
13228 "links" : [
13229 {
13230 "href" : "{name}",
13231 "rel" : "child"
13232 }
13233 ],
13234 "type" : "array"
13235 }
13236 }
13237 },
13238 "leaf" : 0,
13239 "path" : "/nodes/{node}/tasks/{upid}",
13240 "text" : "{upid}"
13241 }
13242 ],
13243 "info" : {
13244 "GET" : {
6bd70b95 13245 "allowtoken" : 1,
410dc2c9
DM
13246 "description" : "Read task list for one node (finished tasks).",
13247 "method" : "GET",
13248 "name" : "node_tasks",
13249 "parameters" : {
13250 "additionalProperties" : 0,
13251 "properties" : {
13252 "errors" : {
13253 "optional" : 1,
13254 "type" : "boolean",
13255 "typetext" : "<boolean>"
13256 },
13257 "limit" : {
13258 "minimum" : 0,
13259 "optional" : 1,
13260 "type" : "integer",
13261 "typetext" : "<integer> (0 - N)"
13262 },
13263 "node" : {
13264 "description" : "The cluster node name.",
13265 "format" : "pve-node",
13266 "type" : "string",
13267 "typetext" : "<string>"
13268 },
14ffe66b
TL
13269 "since" : {
13270 "description" : "Only list tasks since this UNIX epoch.",
13271 "optional" : 1,
13272 "type" : "integer",
13273 "typetext" : "<integer>"
13274 },
410dc2c9
DM
13275 "start" : {
13276 "minimum" : 0,
13277 "optional" : 1,
13278 "type" : "integer",
13279 "typetext" : "<integer> (0 - N)"
13280 },
14ffe66b
TL
13281 "statusfilter" : {
13282 "description" : "List of Task States that should be returned.",
13283 "format" : "pve-task-status-type-list",
13284 "optional" : 1,
13285 "type" : "string",
13286 "typetext" : "<string>"
13287 },
13288 "typefilter" : {
13289 "description" : "Only list tasks of this type (e.g., aptupdate, saupdate).",
13290 "optional" : 1,
13291 "type" : "string",
13292 "typetext" : "<string>"
13293 },
13294 "until" : {
13295 "description" : "Only list tasks until this UNIX epoch.",
13296 "optional" : 1,
13297 "type" : "integer",
13298 "typetext" : "<integer>"
13299 },
410dc2c9
DM
13300 "userfilter" : {
13301 "optional" : 1,
13302 "type" : "string",
13303 "typetext" : "<string>"
13304 }
13305 }
13306 },
732d76e1
DM
13307 "permissions" : {
13308 "check" : [
13309 "admin",
13310 "audit"
13311 ]
13312 },
410dc2c9
DM
13313 "proxyto" : "node",
13314 "returns" : {
13315 "items" : {
13316 "properties" : {
13317 "upid" : {
13318 "type" : "string"
13319 }
13320 },
13321 "type" : "object"
13322 },
13323 "links" : [
13324 {
13325 "href" : "{upid}",
13326 "rel" : "child"
13327 }
13328 ],
13329 "type" : "array"
13330 }
13331 }
13332 },
13333 "leaf" : 0,
13334 "path" : "/nodes/{node}/tasks",
13335 "text" : "tasks"
13336 },
13337 {
13338 "children" : [
13339 {
13340 "children" : [
13341 {
13342 "info" : {
13343 "GET" : {
6bd70b95 13344 "allowtoken" : 1,
410dc2c9
DM
13345 "description" : "Read service properties",
13346 "method" : "GET",
13347 "name" : "service_state",
13348 "parameters" : {
13349 "additionalProperties" : 0,
13350 "properties" : {
13351 "node" : {
13352 "description" : "The cluster node name.",
13353 "format" : "pve-node",
13354 "type" : "string",
13355 "typetext" : "<string>"
13356 },
13357 "service" : {
13358 "description" : "Service ID",
13359 "enum" : [
a55e94a6
DM
13360 "clamav-daemon",
13361 "clamav-freshclam",
732d76e1 13362 "fetchmail",
410dc2c9
DM
13363 "pmgproxy",
13364 "pmgdaemon",
a55e94a6 13365 "pmgpolicy",
410dc2c9 13366 "pmg-smtp-filter",
d7cd791b
DM
13367 "pmgtunnel",
13368 "pmgmirror",
13369 "ssh",
13370 "rsyslog",
410dc2c9 13371 "postfix",
d7cd791b 13372 "postgres",
a55e94a6
DM
13373 "systemd-timesyncd",
13374 "pmg-hourly",
d7cd791b 13375 "pmg-daily",
9fda36b0 13376 "pmgreport",
e0e71e6a
TL
13377 "pmgspamreport",
13378 "chrony"
410dc2c9
DM
13379 ],
13380 "type" : "string"
13381 }
13382 }
13383 },
732d76e1
DM
13384 "permissions" : {
13385 "check" : [
13386 "admin",
13387 "audit"
13388 ]
13389 },
410dc2c9
DM
13390 "protected" : 1,
13391 "proxyto" : "node",
13392 "returns" : {
410dc2c9
DM
13393 "type" : "object"
13394 }
13395 }
13396 },
13397 "leaf" : 1,
13398 "path" : "/nodes/{node}/services/{service}/state",
13399 "text" : "state"
13400 },
13401 {
13402 "info" : {
13403 "POST" : {
6bd70b95 13404 "allowtoken" : 1,
410dc2c9
DM
13405 "description" : "Start service.",
13406 "method" : "POST",
13407 "name" : "service_start",
13408 "parameters" : {
13409 "additionalProperties" : 0,
13410 "properties" : {
13411 "node" : {
13412 "description" : "The cluster node name.",
13413 "format" : "pve-node",
13414 "type" : "string",
13415 "typetext" : "<string>"
13416 },
13417 "service" : {
13418 "description" : "Service ID",
13419 "enum" : [
a55e94a6
DM
13420 "clamav-daemon",
13421 "clamav-freshclam",
732d76e1 13422 "fetchmail",
410dc2c9
DM
13423 "pmgproxy",
13424 "pmgdaemon",
a55e94a6 13425 "pmgpolicy",
410dc2c9 13426 "pmg-smtp-filter",
d7cd791b
DM
13427 "pmgtunnel",
13428 "pmgmirror",
13429 "ssh",
13430 "rsyslog",
410dc2c9 13431 "postfix",
d7cd791b 13432 "postgres",
a55e94a6
DM
13433 "systemd-timesyncd",
13434 "pmg-hourly",
d7cd791b 13435 "pmg-daily",
9fda36b0 13436 "pmgreport",
e0e71e6a
TL
13437 "pmgspamreport",
13438 "chrony"
410dc2c9
DM
13439 ],
13440 "type" : "string"
13441 }
13442 }
13443 },
732d76e1
DM
13444 "permissions" : {
13445 "check" : [
13446 "admin"
13447 ]
13448 },
410dc2c9
DM
13449 "protected" : 1,
13450 "proxyto" : "node",
13451 "returns" : {
13452 "type" : "string"
13453 }
13454 }
13455 },
13456 "leaf" : 1,
13457 "path" : "/nodes/{node}/services/{service}/start",
13458 "text" : "start"
13459 },
13460 {
13461 "info" : {
13462 "POST" : {
6bd70b95 13463 "allowtoken" : 1,
410dc2c9
DM
13464 "description" : "Stop service.",
13465 "method" : "POST",
13466 "name" : "service_stop",
13467 "parameters" : {
13468 "additionalProperties" : 0,
13469 "properties" : {
13470 "node" : {
13471 "description" : "The cluster node name.",
13472 "format" : "pve-node",
13473 "type" : "string",
13474 "typetext" : "<string>"
13475 },
13476 "service" : {
13477 "description" : "Service ID",
13478 "enum" : [
a55e94a6
DM
13479 "clamav-daemon",
13480 "clamav-freshclam",
732d76e1 13481 "fetchmail",
410dc2c9
DM
13482 "pmgproxy",
13483 "pmgdaemon",
a55e94a6 13484 "pmgpolicy",
410dc2c9 13485 "pmg-smtp-filter",
d7cd791b
DM
13486 "pmgtunnel",
13487 "pmgmirror",
13488 "ssh",
13489 "rsyslog",
410dc2c9 13490 "postfix",
d7cd791b 13491 "postgres",
a55e94a6
DM
13492 "systemd-timesyncd",
13493 "pmg-hourly",
d7cd791b 13494 "pmg-daily",
9fda36b0 13495 "pmgreport",
e0e71e6a
TL
13496 "pmgspamreport",
13497 "chrony"
410dc2c9
DM
13498 ],
13499 "type" : "string"
13500 }
13501 }
13502 },
732d76e1
DM
13503 "permissions" : {
13504 "check" : [
13505 "admin"
13506 ]
13507 },
410dc2c9
DM
13508 "protected" : 1,
13509 "proxyto" : "node",
13510 "returns" : {
13511 "type" : "string"
13512 }
13513 }
13514 },
13515 "leaf" : 1,
13516 "path" : "/nodes/{node}/services/{service}/stop",
13517 "text" : "stop"
13518 },
13519 {
13520 "info" : {
13521 "POST" : {
6bd70b95 13522 "allowtoken" : 1,
410dc2c9
DM
13523 "description" : "Restart service.",
13524 "method" : "POST",
13525 "name" : "service_restart",
13526 "parameters" : {
13527 "additionalProperties" : 0,
13528 "properties" : {
13529 "node" : {
13530 "description" : "The cluster node name.",
13531 "format" : "pve-node",
13532 "type" : "string",
13533 "typetext" : "<string>"
13534 },
13535 "service" : {
13536 "description" : "Service ID",
13537 "enum" : [
a55e94a6
DM
13538 "clamav-daemon",
13539 "clamav-freshclam",
732d76e1 13540 "fetchmail",
410dc2c9
DM
13541 "pmgproxy",
13542 "pmgdaemon",
a55e94a6 13543 "pmgpolicy",
410dc2c9 13544 "pmg-smtp-filter",
d7cd791b
DM
13545 "pmgtunnel",
13546 "pmgmirror",
13547 "ssh",
13548 "rsyslog",
410dc2c9 13549 "postfix",
d7cd791b 13550 "postgres",
a55e94a6
DM
13551 "systemd-timesyncd",
13552 "pmg-hourly",
d7cd791b 13553 "pmg-daily",
9fda36b0 13554 "pmgreport",
e0e71e6a
TL
13555 "pmgspamreport",
13556 "chrony"
410dc2c9
DM
13557 ],
13558 "type" : "string"
13559 }
13560 }
13561 },
732d76e1
DM
13562 "permissions" : {
13563 "check" : [
13564 "admin"
13565 ]
13566 },
410dc2c9
DM
13567 "protected" : 1,
13568 "proxyto" : "node",
13569 "returns" : {
13570 "type" : "string"
13571 }
13572 }
13573 },
13574 "leaf" : 1,
13575 "path" : "/nodes/{node}/services/{service}/restart",
13576 "text" : "restart"
13577 },
13578 {
13579 "info" : {
13580 "POST" : {
6bd70b95 13581 "allowtoken" : 1,
410dc2c9
DM
13582 "description" : "Reload service.",
13583 "method" : "POST",
13584 "name" : "service_reload",
13585 "parameters" : {
13586 "additionalProperties" : 0,
13587 "properties" : {
13588 "node" : {
13589 "description" : "The cluster node name.",
13590 "format" : "pve-node",
13591 "type" : "string",
13592 "typetext" : "<string>"
13593 },
13594 "service" : {
13595 "description" : "Service ID",
13596 "enum" : [
a55e94a6
DM
13597 "clamav-daemon",
13598 "clamav-freshclam",
732d76e1 13599 "fetchmail",
410dc2c9
DM
13600 "pmgproxy",
13601 "pmgdaemon",
a55e94a6 13602 "pmgpolicy",
410dc2c9 13603 "pmg-smtp-filter",
d7cd791b
DM
13604 "pmgtunnel",
13605 "pmgmirror",
13606 "ssh",
13607 "rsyslog",
410dc2c9 13608 "postfix",
d7cd791b 13609 "postgres",
a55e94a6
DM
13610 "systemd-timesyncd",
13611 "pmg-hourly",
d7cd791b 13612 "pmg-daily",
9fda36b0 13613 "pmgreport",
e0e71e6a
TL
13614 "pmgspamreport",
13615 "chrony"
410dc2c9
DM
13616 ],
13617 "type" : "string"
13618 }
13619 }
13620 },
732d76e1
DM
13621 "permissions" : {
13622 "check" : [
13623 "admin"
13624 ]
13625 },
410dc2c9
DM
13626 "protected" : 1,
13627 "proxyto" : "node",
13628 "returns" : {
13629 "type" : "string"
13630 }
13631 }
13632 },
13633 "leaf" : 1,
13634 "path" : "/nodes/{node}/services/{service}/reload",
13635 "text" : "reload"
13636 }
13637 ],
13638 "info" : {
13639 "GET" : {
6bd70b95 13640 "allowtoken" : 1,
410dc2c9
DM
13641 "description" : "Directory index",
13642 "method" : "GET",
13643 "name" : "srvcmdidx",
13644 "parameters" : {
13645 "additionalProperties" : 0,
13646 "properties" : {
13647 "node" : {
13648 "description" : "The cluster node name.",
13649 "format" : "pve-node",
13650 "type" : "string",
13651 "typetext" : "<string>"
13652 },
13653 "service" : {
13654 "description" : "Service ID",
13655 "enum" : [
a55e94a6
DM
13656 "clamav-daemon",
13657 "clamav-freshclam",
732d76e1 13658 "fetchmail",
410dc2c9
DM
13659 "pmgproxy",
13660 "pmgdaemon",
a55e94a6 13661 "pmgpolicy",
410dc2c9 13662 "pmg-smtp-filter",
d7cd791b
DM
13663 "pmgtunnel",
13664 "pmgmirror",
13665 "ssh",
13666 "rsyslog",
410dc2c9 13667 "postfix",
d7cd791b 13668 "postgres",
a55e94a6
DM
13669 "systemd-timesyncd",
13670 "pmg-hourly",
d7cd791b 13671 "pmg-daily",
9fda36b0 13672 "pmgreport",
e0e71e6a
TL
13673 "pmgspamreport",
13674 "chrony"
410dc2c9
DM
13675 ],
13676 "type" : "string"
13677 }
13678 }
13679 },
732d76e1
DM
13680 "permissions" : {
13681 "check" : [
13682 "admin",
13683 "audit"
13684 ]
13685 },
410dc2c9
DM
13686 "returns" : {
13687 "items" : {
13688 "properties" : {
13689 "subdir" : {
13690 "type" : "string"
13691 }
13692 },
13693 "type" : "object"
13694 },
13695 "links" : [
13696 {
13697 "href" : "{subdir}",
13698 "rel" : "child"
13699 }
13700 ],
13701 "type" : "array"
13702 }
13703 }
13704 },
9fda36b0
DM
13705 "leaf" : 0,
13706 "path" : "/nodes/{node}/services/{service}",
13707 "text" : "{service}"
13708 }
13709 ],
13710 "info" : {
13711 "GET" : {
6bd70b95 13712 "allowtoken" : 1,
9fda36b0
DM
13713 "description" : "Service list.",
13714 "method" : "GET",
13715 "name" : "index",
13716 "parameters" : {
13717 "additionalProperties" : 0,
13718 "properties" : {
13719 "node" : {
13720 "description" : "The cluster node name.",
13721 "format" : "pve-node",
13722 "type" : "string",
13723 "typetext" : "<string>"
13724 }
13725 }
13726 },
732d76e1
DM
13727 "permissions" : {
13728 "check" : [
13729 "admin",
13730 "audit"
13731 ]
13732 },
9fda36b0
DM
13733 "protected" : 1,
13734 "proxyto" : "node",
13735 "returns" : {
13736 "items" : {
13737 "properties" : {},
13738 "type" : "object"
13739 },
13740 "links" : [
13741 {
13742 "href" : "{service}",
13743 "rel" : "child"
13744 }
13745 ],
13746 "type" : "array"
13747 }
13748 }
13749 },
13750 "leaf" : 0,
13751 "path" : "/nodes/{node}/services",
13752 "text" : "services"
13753 },
13754 {
13755 "info" : {
ab2b846b
TL
13756 "DELETE" : {
13757 "allowtoken" : 1,
13758 "description" : "Delete subscription key.",
13759 "method" : "DELETE",
13760 "name" : "delete",
13761 "parameters" : {
13762 "additionalProperties" : 0,
13763 "properties" : {
13764 "node" : {
13765 "description" : "The cluster node name.",
13766 "format" : "pve-node",
13767 "type" : "string",
13768 "typetext" : "<string>"
13769 }
13770 }
13771 },
13772 "protected" : 1,
13773 "proxyto" : "node",
13774 "returns" : {
13775 "type" : "null"
13776 }
13777 },
9fda36b0 13778 "GET" : {
6bd70b95 13779 "allowtoken" : 1,
9fda36b0
DM
13780 "description" : "Read subscription info.",
13781 "method" : "GET",
13782 "name" : "get",
13783 "parameters" : {
13784 "additionalProperties" : 0,
13785 "properties" : {
13786 "node" : {
13787 "description" : "The cluster node name.",
13788 "format" : "pve-node",
13789 "type" : "string",
13790 "typetext" : "<string>"
13791 }
13792 }
13793 },
13794 "permissions" : {
13795 "check" : [
13796 "admin",
13797 "qmanager",
13798 "audit",
13799 "quser"
13800 ]
13801 },
13802 "proxyto" : "node",
13803 "returns" : {
13804 "type" : "object"
13805 }
732d76e1
DM
13806 },
13807 "POST" : {
6bd70b95 13808 "allowtoken" : 1,
732d76e1
DM
13809 "description" : "Update subscription info.",
13810 "method" : "POST",
13811 "name" : "update",
13812 "parameters" : {
13813 "additionalProperties" : 0,
13814 "properties" : {
13815 "force" : {
13816 "default" : 0,
13817 "description" : "Always connect to server, even if we have up to date info inside local cache.",
13818 "optional" : 1,
13819 "type" : "boolean",
13820 "typetext" : "<boolean>"
13821 },
13822 "node" : {
13823 "description" : "The cluster node name.",
13824 "format" : "pve-node",
13825 "type" : "string",
13826 "typetext" : "<string>"
13827 }
13828 }
13829 },
13830 "permissions" : {
13831 "check" : [
13832 "admin"
13833 ]
13834 },
13835 "protected" : 1,
13836 "proxyto" : "node",
13837 "returns" : {
13838 "type" : "null"
13839 }
13840 },
13841 "PUT" : {
6bd70b95 13842 "allowtoken" : 1,
732d76e1
DM
13843 "description" : "Set subscription key.",
13844 "method" : "PUT",
13845 "name" : "set",
13846 "parameters" : {
13847 "additionalProperties" : 0,
13848 "properties" : {
13849 "key" : {
13850 "description" : "Proxmox Mail Gateway subscription key",
13851 "maxLength" : 32,
13852 "pattern" : "pmg([cbsp])-[0-9a-f]{10}",
13853 "type" : "string"
13854 },
13855 "node" : {
13856 "description" : "The cluster node name.",
13857 "format" : "pve-node",
13858 "type" : "string",
13859 "typetext" : "<string>"
13860 }
13861 }
13862 },
13863 "protected" : 1,
13864 "proxyto" : "node",
13865 "returns" : {
13866 "type" : "null"
13867 }
9fda36b0
DM
13868 }
13869 },
13870 "leaf" : 1,
13871 "path" : "/nodes/{node}/subscription",
13872 "text" : "subscription"
13873 },
13874 {
13875 "children" : [
13876 {
13877 "info" : {
13878 "GET" : {
6bd70b95 13879 "allowtoken" : 1,
9fda36b0
DM
13880 "description" : "List available updates.",
13881 "method" : "GET",
13882 "name" : "list_updates",
13883 "parameters" : {
13884 "additionalProperties" : 0,
13885 "properties" : {
13886 "node" : {
13887 "description" : "The cluster node name.",
13888 "format" : "pve-node",
13889 "type" : "string",
13890 "typetext" : "<string>"
13891 }
13892 }
13893 },
732d76e1
DM
13894 "permissions" : {
13895 "check" : [
13896 "admin",
13897 "audit"
13898 ]
13899 },
9fda36b0
DM
13900 "protected" : 1,
13901 "proxyto" : "node",
13902 "returns" : {
13903 "items" : {
13904 "properties" : {},
13905 "type" : "object"
13906 },
13907 "type" : "array"
13908 }
13909 },
13910 "POST" : {
6bd70b95 13911 "allowtoken" : 1,
9fda36b0
DM
13912 "description" : "This is used to resynchronize the package index files from their sources (apt-get update).",
13913 "method" : "POST",
13914 "name" : "update_database",
13915 "parameters" : {
13916 "additionalProperties" : 0,
13917 "properties" : {
13918 "node" : {
13919 "description" : "The cluster node name.",
13920 "format" : "pve-node",
13921 "type" : "string",
13922 "typetext" : "<string>"
13923 },
13924 "notify" : {
13925 "default" : 0,
13926 "description" : "Send notification mail about new packages (to email address specified for user 'root@pam').",
13927 "optional" : 1,
13928 "type" : "boolean",
13929 "typetext" : "<boolean>"
13930 },
13931 "quiet" : {
13932 "default" : 0,
13933 "description" : "Only produces output suitable for logging, omitting progress indicators.",
13934 "optional" : 1,
13935 "type" : "boolean",
13936 "typetext" : "<boolean>"
13937 }
13938 }
13939 },
732d76e1
DM
13940 "permissions" : {
13941 "check" : [
13942 "admin"
13943 ]
13944 },
9fda36b0
DM
13945 "protected" : 1,
13946 "proxyto" : "node",
13947 "returns" : {
13948 "type" : "string"
13949 }
13950 }
13951 },
13952 "leaf" : 1,
13953 "path" : "/nodes/{node}/apt/update",
13954 "text" : "update"
13955 },
13956 {
13957 "info" : {
13958 "GET" : {
6bd70b95 13959 "allowtoken" : 1,
9fda36b0
DM
13960 "description" : "Get package changelogs.",
13961 "method" : "GET",
13962 "name" : "changelog",
13963 "parameters" : {
13964 "additionalProperties" : 0,
13965 "properties" : {
13966 "name" : {
13967 "description" : "Package name.",
13968 "type" : "string",
13969 "typetext" : "<string>"
13970 },
13971 "node" : {
13972 "description" : "The cluster node name.",
13973 "format" : "pve-node",
13974 "type" : "string",
13975 "typetext" : "<string>"
13976 },
13977 "version" : {
13978 "description" : "Package version.",
13979 "optional" : 1,
13980 "type" : "string",
13981 "typetext" : "<string>"
13982 }
13983 }
13984 },
732d76e1
DM
13985 "permissions" : {
13986 "check" : [
13987 "admin",
13988 "audit"
13989 ]
13990 },
9fda36b0
DM
13991 "proxyto" : "node",
13992 "returns" : {
13993 "type" : "string"
13994 }
13995 }
13996 },
13997 "leaf" : 1,
13998 "path" : "/nodes/{node}/apt/changelog",
13999 "text" : "changelog"
14000 },
14001 {
14002 "info" : {
14003 "GET" : {
6bd70b95 14004 "allowtoken" : 1,
e0e71e6a 14005 "description" : "Get APT repository information.",
9fda36b0 14006 "method" : "GET",
e0e71e6a 14007 "name" : "repositories",
9fda36b0
DM
14008 "parameters" : {
14009 "additionalProperties" : 0,
14010 "properties" : {
9fda36b0
DM
14011 "node" : {
14012 "description" : "The cluster node name.",
14013 "format" : "pve-node",
14014 "type" : "string",
14015 "typetext" : "<string>"
9fda36b0
DM
14016 }
14017 }
14018 },
732d76e1
DM
14019 "permissions" : {
14020 "check" : [
14021 "admin",
14022 "audit"
14023 ]
14024 },
9fda36b0
DM
14025 "proxyto" : "node",
14026 "returns" : {
e0e71e6a 14027 "description" : "Result from parsing the APT repository files in /etc/apt/.",
9fda36b0 14028 "properties" : {
e0e71e6a
TL
14029 "digest" : {
14030 "description" : "Common digest of all files.",
9fda36b0
DM
14031 "type" : "string"
14032 },
e0e71e6a
TL
14033 "errors" : {
14034 "description" : "List of problematic repository files.",
14035 "items" : {
14036 "properties" : {
14037 "error" : {
14038 "description" : "The error message",
14039 "type" : "string"
14040 },
14041 "path" : {
14042 "description" : "Path to the problematic file.",
14043 "type" : "string"
14044 }
14045 },
14046 "type" : "object"
14047 },
14048 "type" : "array"
9fda36b0 14049 },
e0e71e6a
TL
14050 "files" : {
14051 "description" : "List of parsed repository files.",
9fda36b0 14052 "items" : {
e0e71e6a
TL
14053 "properties" : {
14054 "digest" : {
14055 "description" : "Digest of the file as bytes.",
14056 "items" : {
14057 "type" : "integer"
14058 },
14059 "type" : "array"
14060 },
14061 "file-type" : {
14062 "description" : "Format of the file.",
14063 "enum" : [
14064 "list",
14065 "sources"
14066 ],
14067 "type" : "string"
14068 },
14069 "path" : {
14070 "description" : "Path to the problematic file.",
14071 "type" : "string"
14072 },
14073 "repositories" : {
14074 "description" : "The parsed repositories.",
14075 "items" : {
14076 "properties" : {
14077 "Comment" : {
14078 "description" : "Associated comment",
14079 "optional" : 1,
14080 "type" : "string"
14081 },
14082 "Components" : {
14083 "description" : "List of repository components",
14084 "items" : {
14085 "type" : "string"
14086 },
14087 "optional" : 1,
14088 "type" : "array"
14089 },
14090 "Enabled" : {
14091 "description" : "Whether the repository is enabled or not",
14092 "type" : "boolean"
14093 },
14094 "FileType" : {
14095 "description" : "Format of the defining file.",
14096 "enum" : [
14097 "list",
14098 "sources"
14099 ],
14100 "type" : "string"
14101 },
14102 "Options" : {
14103 "description" : "Additional options",
14104 "items" : {
14105 "properties" : {
14106 "Key" : {
14107 "type" : "string"
14108 },
14109 "Values" : {
14110 "items" : {
14111 "type" : "string"
14112 },
14113 "type" : "array"
14114 }
14115 },
14116 "type" : "object"
14117 },
14118 "optional" : 1,
14119 "type" : "array"
14120 },
14121 "Suites" : {
14122 "description" : "List of package distribuitions",
14123 "items" : {
14124 "type" : "string"
14125 },
14126 "type" : "array"
14127 },
14128 "Types" : {
14129 "description" : "List of package types.",
14130 "items" : {
14131 "enum" : [
14132 "deb",
14133 "deb-src"
14134 ],
14135 "type" : "string"
14136 },
14137 "type" : "array"
14138 },
14139 "URIs" : {
14140 "description" : "List of repository URIs.",
14141 "items" : {
14142 "type" : "string"
14143 },
14144 "type" : "array"
14145 }
14146 },
14147 "type" : "object"
14148 },
14149 "type" : "array"
14150 }
14151 },
14152 "type" : "object"
9fda36b0
DM
14153 },
14154 "type" : "array"
14155 },
e0e71e6a
TL
14156 "infos" : {
14157 "description" : "Additional information/warnings for APT repositories.",
14158 "items" : {
14159 "properties" : {
14160 "index" : {
14161 "description" : "Index of the associated repository within the file.",
14162 "type" : "string"
14163 },
14164 "kind" : {
14165 "description" : "Kind of the information (e.g. warning).",
14166 "type" : "string"
14167 },
14168 "message" : {
14169 "description" : "Information message.",
14170 "type" : "string"
14171 },
14172 "path" : {
14173 "description" : "Path to the associated file.",
14174 "type" : "string"
14175 },
14176 "property" : {
14177 "description" : "Property from which the info originates.",
14178 "optional" : 1,
14179 "type" : "string"
14180 }
14181 },
14182 "type" : "object"
14183 },
14184 "type" : "array"
9fda36b0 14185 },
e0e71e6a
TL
14186 "standard-repos" : {
14187 "description" : "List of standard repositories and their configuration status",
14188 "items" : {
14189 "properties" : {
14190 "description" : {
14191 "description" : "Description of the repository.",
14192 "type" : "string"
14193 },
14194 "handle" : {
14195 "description" : "Handle to identify the repository.",
14196 "type" : "string"
14197 },
14198 "name" : {
14199 "description" : "Display name of the repository.",
14200 "type" : "string"
14201 },
14202 "status" : {
14203 "description" : "Indicating enabled/disabled status, if the repository is configured.",
14204 "optional" : 1,
14205 "type" : "boolean"
14206 }
14207 },
14208 "type" : "object"
14209 },
14210 "type" : "array"
14211 }
14212 },
14213 "type" : "object"
14214 }
14215 },
14216 "POST" : {
14217 "allowtoken" : 1,
14218 "description" : "Change the properties of a repository. Currently only allows enabling/disabling.",
14219 "method" : "POST",
14220 "name" : "change_repository",
14221 "parameters" : {
14222 "additionalProperties" : 0,
14223 "properties" : {
14224 "digest" : {
14225 "description" : "Digest to detect modifications.",
14226 "maxLength" : 80,
9fda36b0 14227 "optional" : 1,
e0e71e6a
TL
14228 "type" : "string",
14229 "typetext" : "<string>"
9fda36b0 14230 },
e0e71e6a
TL
14231 "enabled" : {
14232 "description" : "Whether the repository should be enabled or not.",
9fda36b0 14233 "optional" : 1,
e0e71e6a
TL
14234 "type" : "boolean",
14235 "typetext" : "<boolean>"
9fda36b0 14236 },
e0e71e6a
TL
14237 "index" : {
14238 "description" : "Index within the file (starting from 0).",
14239 "type" : "integer",
14240 "typetext" : "<integer>"
9fda36b0 14241 },
e0e71e6a
TL
14242 "node" : {
14243 "description" : "The cluster node name.",
14244 "format" : "pve-node",
14245 "type" : "string",
14246 "typetext" : "<string>"
14247 },
14248 "path" : {
14249 "description" : "Path to the containing file.",
14250 "type" : "string",
14251 "typetext" : "<string>"
14252 }
14253 }
14254 },
14255 "permissions" : {
14256 "check" : [
14257 "admin"
14258 ]
14259 },
14260 "protected" : 1,
14261 "proxyto" : "node",
14262 "returns" : {
14263 "type" : "null"
14264 }
14265 },
14266 "PUT" : {
14267 "allowtoken" : 1,
14268 "description" : "Add a standard repository to the configuration",
14269 "method" : "PUT",
14270 "name" : "add_repository",
14271 "parameters" : {
14272 "additionalProperties" : 0,
14273 "properties" : {
14274 "digest" : {
14275 "description" : "Digest to detect modifications.",
14276 "maxLength" : 80,
9fda36b0 14277 "optional" : 1,
e0e71e6a
TL
14278 "type" : "string",
14279 "typetext" : "<string>"
9fda36b0 14280 },
e0e71e6a
TL
14281 "handle" : {
14282 "description" : "Handle that identifies a repository.",
14283 "type" : "string",
14284 "typetext" : "<string>"
9fda36b0 14285 },
e0e71e6a
TL
14286 "node" : {
14287 "description" : "The cluster node name.",
14288 "format" : "pve-node",
14289 "type" : "string",
14290 "typetext" : "<string>"
14291 }
14292 }
14293 },
14294 "permissions" : {
14295 "check" : [
14296 "admin"
14297 ]
14298 },
14299 "protected" : 1,
14300 "proxyto" : "node",
14301 "returns" : {
14302 "type" : "null"
14303 }
14304 }
14305 },
14306 "leaf" : 1,
14307 "path" : "/nodes/{node}/apt/repositories",
14308 "text" : "repositories"
14309 },
14310 {
14311 "info" : {
14312 "GET" : {
14313 "allowtoken" : 1,
14314 "description" : "Get package information for important Proxmox packages.",
14315 "method" : "GET",
14316 "name" : "versions",
14317 "parameters" : {
14318 "additionalProperties" : 0,
14319 "properties" : {
14320 "node" : {
14321 "description" : "The cluster node name.",
14322 "format" : "pve-node",
14323 "type" : "string",
14324 "typetext" : "<string>"
9fda36b0 14325 }
e0e71e6a
TL
14326 }
14327 },
14328 "permissions" : {
14329 "check" : [
14330 "admin",
14331 "audit"
14332 ]
14333 },
14334 "proxyto" : "node",
14335 "returns" : {
14336 "items" : {
14337 "properties" : {},
14338 "type" : "object"
9fda36b0 14339 },
e0e71e6a 14340 "type" : "array"
9fda36b0
DM
14341 }
14342 }
14343 },
14344 "leaf" : 1,
e0e71e6a
TL
14345 "path" : "/nodes/{node}/apt/versions",
14346 "text" : "versions"
9fda36b0
DM
14347 }
14348 ],
14349 "info" : {
14350 "GET" : {
6bd70b95 14351 "allowtoken" : 1,
e0e71e6a 14352 "description" : "Directory index for apt (Advanced Package Tool).",
9fda36b0 14353 "method" : "GET",
e0e71e6a 14354 "name" : "index",
9fda36b0
DM
14355 "parameters" : {
14356 "additionalProperties" : 0,
14357 "properties" : {
9fda36b0
DM
14358 "node" : {
14359 "description" : "The cluster node name.",
14360 "format" : "pve-node",
14361 "type" : "string",
14362 "typetext" : "<string>"
9fda36b0
DM
14363 }
14364 }
14365 },
732d76e1 14366 "permissions" : {
e0e71e6a
TL
14367 "user" : "all"
14368 },
14369 "returns" : {
14370 "items" : {
14371 "properties" : {
14372 "id" : {
14373 "type" : "string"
14374 }
14375 },
14376 "type" : "object"
14377 },
14378 "links" : [
14379 {
14380 "href" : "{id}",
14381 "rel" : "child"
14382 }
14383 ],
14384 "type" : "array"
14385 }
14386 }
14387 },
14388 "leaf" : 0,
14389 "path" : "/nodes/{node}/apt",
14390 "text" : "apt"
14391 },
14392 {
14393 "children" : [
14394 {
14395 "info" : {
14396 "GET" : {
14397 "allowtoken" : 1,
14398 "description" : "Get the detailed syslog entries for a specific mail ID.",
14399 "method" : "GET",
14400 "name" : "maillog",
14401 "parameters" : {
14402 "additionalProperties" : 0,
14403 "properties" : {
14404 "endtime" : {
14405 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
14406 "minimum" : 1,
14407 "optional" : 1,
14408 "type" : "integer",
14409 "typetext" : "<integer> (1 - N)"
14410 },
14411 "id" : {
14412 "description" : "Mail ID (as returned by the list API).",
14413 "maxLength" : 64,
14414 "minLength" : 3,
14415 "type" : "string",
14416 "typetext" : "<string>"
14417 },
14418 "node" : {
14419 "description" : "The cluster node name.",
14420 "format" : "pve-node",
14421 "type" : "string",
14422 "typetext" : "<string>"
14423 },
14424 "starttime" : {
14425 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
14426 "minimum" : 0,
14427 "optional" : 1,
14428 "type" : "integer",
14429 "typetext" : "<integer> (0 - N)"
14430 }
14431 }
14432 },
14433 "permissions" : {
14434 "check" : [
14435 "admin",
14436 "audit"
14437 ]
14438 },
14439 "protected" : 1,
14440 "proxyto" : "node",
14441 "returns" : {
14442 "properties" : {
14443 "client" : {
14444 "description" : "Client address",
14445 "optional" : 1,
14446 "type" : "string"
14447 },
14448 "dstatus" : {
14449 "description" : "Delivery status.",
14450 "maxLength" : 1,
14451 "minLength" : 1,
14452 "type" : "string"
14453 },
14454 "from" : {
14455 "description" : "Sender email address.",
14456 "type" : "string"
14457 },
14458 "id" : {
14459 "description" : "Unique ID.",
14460 "type" : "string"
14461 },
14462 "logs" : {
14463 "items" : {
14464 "type" : "string"
14465 },
14466 "type" : "array"
14467 },
14468 "msgid" : {
14469 "description" : "SMTP message ID.",
14470 "optional" : 1,
14471 "type" : "string"
14472 },
14473 "qid" : {
14474 "description" : "Postfix qmgr ID.",
14475 "optional" : 1,
14476 "type" : "string"
14477 },
14478 "relay" : {
14479 "description" : "ID of relayed mail.",
14480 "optional" : 1,
14481 "type" : "string"
14482 },
14483 "rstatus" : {
14484 "description" : "Delivery status of relayed mail.",
14485 "maxLength" : 1,
14486 "minLength" : 1,
14487 "optional" : 1,
14488 "type" : "string"
14489 },
14490 "size" : {
14491 "description" : "The size of the raw email.",
14492 "optional" : 1,
14493 "type" : "number"
14494 },
14495 "time" : {
14496 "description" : "Delivery timestamp.",
14497 "type" : "integer"
14498 },
14499 "to" : {
14500 "description" : "Receiver email address.",
14501 "type" : "string"
14502 }
14503 },
14504 "type" : "object"
14505 }
14506 }
14507 },
14508 "leaf" : 1,
14509 "path" : "/nodes/{node}/tracker/{id}",
14510 "text" : "{id}"
14511 }
14512 ],
14513 "info" : {
14514 "GET" : {
14515 "allowtoken" : 1,
14516 "description" : "Read mail list.",
14517 "method" : "GET",
14518 "name" : "list_mails",
14519 "parameters" : {
14520 "additionalProperties" : 0,
14521 "properties" : {
14522 "endtime" : {
14523 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
14524 "minimum" : 1,
14525 "optional" : 1,
14526 "type" : "integer",
14527 "typetext" : "<integer> (1 - N)"
14528 },
14529 "from" : {
14530 "description" : "Sender email address filter.",
14531 "maxLength" : 256,
14532 "minLength" : 1,
14533 "optional" : 1,
14534 "type" : "string",
14535 "typetext" : "<string>"
14536 },
14537 "greylist" : {
14538 "default" : 0,
14539 "description" : "Include Greylisted entries.",
14540 "optional" : 1,
14541 "type" : "boolean",
14542 "typetext" : "<boolean>"
14543 },
14544 "ndr" : {
14545 "default" : 0,
14546 "description" : "Include NDRs (non delivery reports).",
14547 "optional" : 1,
14548 "type" : "boolean",
14549 "typetext" : "<boolean>"
14550 },
14551 "node" : {
14552 "description" : "The cluster node name.",
14553 "format" : "pve-node",
14554 "type" : "string",
14555 "typetext" : "<string>"
14556 },
14557 "starttime" : {
14558 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
14559 "minimum" : 0,
14560 "optional" : 1,
14561 "type" : "integer",
14562 "typetext" : "<integer> (0 - N)"
14563 },
14564 "target" : {
14565 "description" : "Receiver email address filter.",
14566 "maxLength" : 256,
14567 "minLength" : 1,
14568 "optional" : 1,
14569 "type" : "string",
14570 "typetext" : "<string>"
14571 },
14572 "xfilter" : {
14573 "description" : "Only include mails containing this filter string.",
14574 "maxLength" : 256,
14575 "minLength" : 1,
14576 "optional" : 1,
14577 "type" : "string",
14578 "typetext" : "<string>"
14579 }
14580 }
14581 },
14582 "permissions" : {
14583 "check" : [
732d76e1
DM
14584 "admin",
14585 "audit"
14586 ]
14587 },
9fda36b0
DM
14588 "protected" : 1,
14589 "proxyto" : "node",
14590 "returns" : {
14591 "items" : {
14592 "properties" : {
14593 "client" : {
14594 "description" : "Client address",
14595 "optional" : 1,
14596 "type" : "string"
14597 },
14598 "dstatus" : {
14599 "description" : "Delivery status.",
14600 "maxLength" : 1,
14601 "minLength" : 1,
14602 "type" : "string"
14603 },
14604 "from" : {
14605 "description" : "Sender email address.",
14606 "type" : "string"
14607 },
14608 "id" : {
14609 "description" : "Unique ID.",
14610 "type" : "string"
14611 },
14612 "msgid" : {
14613 "description" : "SMTP message ID.",
14614 "optional" : 1,
14615 "type" : "string"
14616 },
14617 "qid" : {
14618 "description" : "Postfix qmgr ID.",
14619 "optional" : 1,
14620 "type" : "string"
14621 },
14622 "relay" : {
14623 "description" : "ID of relayed mail.",
14624 "optional" : 1,
14625 "type" : "string"
14626 },
14627 "rstatus" : {
14628 "description" : "Delivery status of relayed mail.",
14629 "maxLength" : 1,
14630 "minLength" : 1,
14631 "optional" : 1,
14632 "type" : "string"
14633 },
14634 "size" : {
14635 "description" : "The size of the raw email.",
14636 "optional" : 1,
14637 "type" : "number"
14638 },
14639 "time" : {
14640 "description" : "Delivery timestamp.",
14641 "type" : "integer"
14642 },
14643 "to" : {
14644 "description" : "Receiver email address.",
14645 "type" : "string"
14646 }
14647 },
14648 "type" : "object"
14649 },
14650 "links" : [
14651 {
14652 "href" : "{id}",
14653 "rel" : "child"
14654 }
14655 ],
14656 "type" : "array"
14657 }
14658 }
14659 },
14660 "leaf" : 0,
14661 "path" : "/nodes/{node}/tracker",
14662 "text" : "tracker"
14663 },
bb6e6e0d
DM
14664 {
14665 "children" : [
14666 {
14667 "info" : {
14668 "DELETE" : {
6bd70b95 14669 "allowtoken" : 1,
bb6e6e0d
DM
14670 "description" : "Delete a backup file.",
14671 "method" : "DELETE",
14672 "name" : "delete",
14673 "parameters" : {
14674 "additionalProperties" : 0,
14675 "properties" : {
14676 "filename" : {
14677 "description" : "The backup file name.",
14678 "maxLength" : 256,
14679 "minLength" : 4,
14680 "pattern" : "pmg-backup_[0-9A-Za-z_-]+\\.tgz",
14681 "type" : "string"
14682 },
c5ccf1ab
TL
14683 "node" : {
14684 "description" : "The cluster node name.",
14685 "format" : "pve-node",
14686 "type" : "string",
14687 "typetext" : "<string>"
14688 }
14689 }
14690 },
14691 "permissions" : {
14692 "check" : [
14693 "admin"
14694 ]
14695 },
14696 "protected" : 1,
14697 "proxyto" : "node",
14698 "returns" : {
14699 "type" : "null"
14700 }
14701 },
14702 "GET" : {
14703 "allowtoken" : 1,
14704 "description" : "Download a backup file.",
14705 "download" : 1,
14706 "method" : "GET",
14707 "name" : "download",
14708 "parameters" : {
14709 "additionalProperties" : 0,
14710 "properties" : {
14711 "filename" : {
14712 "description" : "The backup file name.",
14713 "maxLength" : 256,
14714 "minLength" : 4,
14715 "pattern" : "pmg-backup_[0-9A-Za-z_-]+\\.tgz",
14716 "type" : "string"
14717 },
14718 "node" : {
14719 "description" : "The cluster node name.",
14720 "format" : "pve-node",
14721 "type" : "string",
14722 "typetext" : "<string>"
14723 }
14724 }
14725 },
14726 "permissions" : {
14727 "check" : [
14728 "admin"
14729 ]
14730 },
14731 "protected" : 1,
14732 "proxyto" : "node",
14733 "returns" : {
14734 "type" : "string"
14735 }
14736 },
14737 "POST" : {
14738 "allowtoken" : 1,
14739 "description" : "Restore the system configuration.",
14740 "method" : "POST",
14741 "name" : "restore",
14742 "parameters" : {
14743 "additionalProperties" : 0,
14744 "properties" : {
14745 "config" : {
14746 "default" : 0,
14747 "description" : "Restore system configuration.",
14748 "optional" : 1,
14749 "type" : "boolean",
14750 "typetext" : "<boolean>"
14751 },
14752 "database" : {
14753 "default" : 1,
14754 "description" : "Restore the rule database. This is the default.",
14755 "optional" : 1,
14756 "type" : "boolean",
14757 "typetext" : "<boolean>"
14758 },
14759 "filename" : {
14760 "description" : "The backup file name.",
14761 "maxLength" : 256,
14762 "minLength" : 4,
14763 "pattern" : "pmg-backup_[0-9A-Za-z_-]+\\.tgz",
14764 "type" : "string"
14765 },
14766 "node" : {
14767 "description" : "The cluster node name.",
14768 "format" : "pve-node",
14769 "type" : "string",
14770 "typetext" : "<string>"
14771 },
14772 "statistic" : {
14773 "default" : 0,
14774 "description" : "Restore statistic databases. Only considered when you restore the 'database'.",
14775 "optional" : 1,
14776 "type" : "boolean",
14777 "typetext" : "<boolean>"
14778 }
14779 }
14780 },
14781 "permissions" : {
14782 "check" : [
14783 "admin"
14784 ]
14785 },
14786 "protected" : 1,
14787 "proxyto" : "node",
14788 "returns" : {
14789 "type" : "string"
14790 }
14791 }
14792 },
14793 "leaf" : 1,
14794 "path" : "/nodes/{node}/backup/{filename}",
14795 "text" : "{filename}"
14796 }
14797 ],
14798 "info" : {
14799 "GET" : {
14800 "allowtoken" : 1,
14801 "description" : "List all stored backups (files named proxmox-backup_{DATE}.tgz).",
14802 "method" : "GET",
14803 "name" : "list",
14804 "parameters" : {
14805 "additionalProperties" : 0,
14806 "properties" : {
14807 "node" : {
14808 "description" : "The cluster node name.",
14809 "format" : "pve-node",
14810 "type" : "string",
14811 "typetext" : "<string>"
14812 }
14813 }
14814 },
14815 "permissions" : {
14816 "check" : [
14817 "admin",
14818 "audit"
14819 ]
14820 },
14821 "protected" : 1,
14822 "proxyto" : "node",
14823 "returns" : {
14824 "items" : {
14825 "properties" : {
14826 "filename" : {
14827 "description" : "The backup file name.",
14828 "maxLength" : 256,
14829 "minLength" : 4,
14830 "pattern" : "pmg-backup_[0-9A-Za-z_-]+\\.tgz",
14831 "type" : "string"
14832 },
14833 "size" : {
14834 "description" : "Size of backup file in bytes.",
14835 "type" : "integer"
14836 },
14837 "timestamp" : {
14838 "description" : "Backup timestamp (Unix epoch).",
14839 "type" : "integer"
14840 }
14841 },
14842 "type" : "object"
14843 },
14844 "links" : [
14845 {
14846 "href" : "{filename}",
14847 "rel" : "child"
14848 }
14849 ],
14850 "type" : "array"
14851 }
14852 },
14853 "POST" : {
14854 "allowtoken" : 1,
14855 "description" : "Backup the system configuration.",
14856 "method" : "POST",
14857 "name" : "backup",
14858 "parameters" : {
14859 "additionalProperties" : 0,
14860 "properties" : {
14861 "node" : {
14862 "description" : "The cluster node name.",
14863 "format" : "pve-node",
14864 "type" : "string",
14865 "typetext" : "<string>"
14866 },
14867 "notify" : {
14868 "default" : "never",
14869 "description" : "Specify when to notify via e-mail",
14870 "enum" : [
14871 "always",
14872 "error",
14873 "never"
14874 ],
14875 "optional" : 1,
14876 "type" : "string"
14877 },
14878 "statistic" : {
14879 "default" : 1,
14880 "description" : "Backup statistic databases.",
14881 "optional" : 1,
14882 "type" : "boolean",
14883 "typetext" : "<boolean>"
14884 }
14885 }
14886 },
14887 "permissions" : {
14888 "check" : [
14889 "admin"
14890 ]
14891 },
14892 "protected" : 1,
14893 "proxyto" : "node",
14894 "returns" : {
14895 "type" : "string"
14896 }
14897 }
14898 },
14899 "leaf" : 0,
14900 "path" : "/nodes/{node}/backup",
14901 "text" : "backup"
14902 },
14903 {
14904 "children" : [
14905 {
14906 "children" : [
14907 {
14908 "children" : [
14909 {
14910 "children" : [
14911 {
14912 "info" : {
14913 "DELETE" : {
14914 "allowtoken" : 1,
14915 "description" : "Forget a snapshot",
14916 "method" : "DELETE",
14917 "name" : "forget_snapshot",
14918 "parameters" : {
14919 "additionalProperties" : 0,
14920 "properties" : {
14921 "backup-id" : {
14922 "description" : "ID (hostname) of backup snapshot",
14923 "type" : "string",
14924 "typetext" : "<string>"
14925 },
14926 "backup-time" : {
14927 "description" : "Backup time in RFC 3339 format",
14928 "type" : "string",
14929 "typetext" : "<string>"
14930 },
14931 "node" : {
14932 "description" : "The cluster node name.",
14933 "format" : "pve-node",
14934 "type" : "string",
14935 "typetext" : "<string>"
14936 },
14937 "remote" : {
14938 "description" : "Proxmox Backup Server ID.",
14939 "format" : "pve-configid",
14940 "type" : "string",
14941 "typetext" : "<string>"
14942 }
14943 }
14944 },
14945 "permissions" : {
14946 "check" : [
14947 "admin",
14948 "audit"
14949 ]
14950 },
14951 "protected" : 1,
14952 "proxyto" : "node",
14953 "returns" : {
14954 "type" : "null"
14955 }
14956 },
14957 "POST" : {
14958 "allowtoken" : 1,
14959 "description" : "Restore the system configuration.",
14960 "method" : "POST",
14961 "name" : "restore",
14962 "parameters" : {
14963 "additionalProperties" : 0,
14964 "properties" : {
14965 "backup-id" : {
14966 "description" : "backup-id (hostname) of backup snapshot",
14967 "type" : "string",
14968 "typetext" : "<string>"
14969 },
14970 "backup-time" : {
14971 "description" : "backup-time to restore",
14972 "type" : "string",
14973 "typetext" : "<string>"
14974 },
14975 "config" : {
14976 "default" : 0,
14977 "description" : "Restore system configuration.",
14978 "optional" : 1,
14979 "type" : "boolean",
14980 "typetext" : "<boolean>"
14981 },
14982 "database" : {
14983 "default" : 1,
14984 "description" : "Restore the rule database. This is the default.",
14985 "optional" : 1,
14986 "type" : "boolean",
14987 "typetext" : "<boolean>"
14988 },
14989 "node" : {
14990 "description" : "The cluster node name.",
14991 "format" : "pve-node",
14992 "type" : "string",
14993 "typetext" : "<string>"
14994 },
14995 "remote" : {
14996 "description" : "Proxmox Backup Server ID.",
14997 "format" : "pve-configid",
14998 "type" : "string",
14999 "typetext" : "<string>"
15000 },
15001 "statistic" : {
15002 "default" : 0,
15003 "description" : "Restore statistic databases. Only considered when you restore the 'database'.",
15004 "optional" : 1,
15005 "type" : "boolean",
15006 "typetext" : "<boolean>"
15007 }
15008 }
15009 },
15010 "permissions" : {
15011 "check" : [
15012 "admin"
15013 ]
15014 },
15015 "protected" : 1,
15016 "proxyto" : "node",
15017 "returns" : {
15018 "type" : "string"
15019 }
15020 }
15021 },
15022 "leaf" : 1,
15023 "path" : "/nodes/{node}/pbs/{remote}/snapshot/{backup-id}/{backup-time}",
15024 "text" : "{backup-time}"
15025 }
15026 ],
15027 "info" : {
15028 "GET" : {
15029 "allowtoken" : 1,
15030 "description" : "Get snapshots from a specific ID stored on remote.",
15031 "method" : "GET",
15032 "name" : "get_group_snapshots",
15033 "parameters" : {
15034 "additionalProperties" : 0,
15035 "properties" : {
15036 "backup-id" : {
15037 "description" : "ID (hostname) of backup snapshot",
15038 "type" : "string",
15039 "typetext" : "<string>"
15040 },
15041 "node" : {
15042 "description" : "The cluster node name.",
15043 "format" : "pve-node",
15044 "type" : "string",
15045 "typetext" : "<string>"
15046 },
15047 "remote" : {
15048 "description" : "Proxmox Backup Server ID.",
15049 "format" : "pve-configid",
15050 "type" : "string",
15051 "typetext" : "<string>"
15052 }
15053 }
15054 },
15055 "permissions" : {
15056 "check" : [
15057 "admin",
15058 "audit"
15059 ]
15060 },
15061 "protected" : 1,
15062 "proxyto" : "node",
15063 "returns" : {
15064 "items" : {
15065 "properties" : {
15066 "backup-id" : {
15067 "type" : "string"
15068 },
15069 "backup-time" : {
15070 "type" : "string"
15071 },
15072 "ctime" : {
15073 "type" : "string"
15074 },
15075 "size" : {
15076 "type" : "integer"
15077 }
15078 },
15079 "type" : "object"
15080 },
15081 "links" : [
15082 {
15083 "href" : "{backup-time}",
15084 "rel" : "child"
15085 }
15086 ],
15087 "type" : "array"
15088 }
15089 }
15090 },
15091 "leaf" : 0,
15092 "path" : "/nodes/{node}/pbs/{remote}/snapshot/{backup-id}",
15093 "text" : "{backup-id}"
15094 }
15095 ],
15096 "info" : {
15097 "GET" : {
15098 "allowtoken" : 1,
15099 "description" : "Get snapshots stored on remote.",
15100 "method" : "GET",
15101 "name" : "get_snapshots",
15102 "parameters" : {
15103 "additionalProperties" : 0,
15104 "properties" : {
15105 "node" : {
15106 "description" : "The cluster node name.",
15107 "format" : "pve-node",
15108 "type" : "string",
15109 "typetext" : "<string>"
15110 },
15111 "remote" : {
15112 "description" : "Proxmox Backup Server ID.",
15113 "format" : "pve-configid",
15114 "type" : "string",
15115 "typetext" : "<string>"
15116 }
15117 }
15118 },
15119 "permissions" : {
15120 "check" : [
15121 "admin",
15122 "audit"
15123 ]
15124 },
15125 "protected" : 1,
15126 "proxyto" : "node",
15127 "returns" : {
15128 "items" : {
15129 "properties" : {
15130 "backup-id" : {
15131 "type" : "string"
15132 },
15133 "backup-time" : {
15134 "type" : "string"
15135 },
15136 "ctime" : {
15137 "type" : "string"
15138 },
15139 "size" : {
15140 "type" : "integer"
15141 }
15142 },
15143 "type" : "object"
15144 },
15145 "links" : [
15146 {
15147 "href" : "{backup-id}",
15148 "rel" : "child"
15149 }
15150 ],
15151 "type" : "array"
15152 }
15153 },
15154 "POST" : {
15155 "allowtoken" : 1,
15156 "description" : "Create a new backup and prune the backup group afterwards, if configured.",
15157 "method" : "POST",
15158 "name" : "run_backup",
15159 "parameters" : {
15160 "additionalProperties" : 0,
15161 "properties" : {
15162 "node" : {
15163 "description" : "The cluster node name.",
15164 "format" : "pve-node",
15165 "type" : "string",
15166 "typetext" : "<string>"
15167 },
15168 "notify" : {
15169 "default" : "never",
15170 "description" : "Specify when to notify via e-mail",
15171 "enum" : [
15172 "always",
15173 "error",
15174 "never"
15175 ],
15176 "optional" : 1,
15177 "type" : "string"
15178 },
15179 "remote" : {
15180 "description" : "Proxmox Backup Server ID.",
15181 "format" : "pve-configid",
15182 "type" : "string",
15183 "typetext" : "<string>"
15184 },
15185 "statistic" : {
15186 "default" : 1,
15187 "description" : "Backup statistic databases.",
15188 "optional" : 1,
15189 "type" : "boolean",
15190 "typetext" : "<boolean>"
15191 }
15192 }
15193 },
15194 "permissions" : {
15195 "check" : [
15196 "admin",
15197 "audit"
15198 ]
15199 },
15200 "protected" : 1,
15201 "proxyto" : "node",
15202 "returns" : {
15203 "type" : "string"
15204 }
15205 }
15206 },
15207 "leaf" : 0,
15208 "path" : "/nodes/{node}/pbs/{remote}/snapshot",
15209 "text" : "snapshot"
15210 },
15211 {
15212 "info" : {
15213 "DELETE" : {
15214 "allowtoken" : 1,
15215 "description" : "Delete backup schedule",
15216 "method" : "DELETE",
15217 "name" : "delete_timer",
15218 "parameters" : {
15219 "additionalProperties" : 0,
15220 "properties" : {
15221 "node" : {
15222 "description" : "The cluster node name.",
15223 "format" : "pve-node",
15224 "type" : "string",
15225 "typetext" : "<string>"
15226 },
15227 "remote" : {
15228 "description" : "Proxmox Backup Server ID.",
15229 "format" : "pve-configid",
15230 "type" : "string",
15231 "typetext" : "<string>"
15232 }
15233 }
15234 },
15235 "permissions" : {
15236 "check" : [
15237 "admin",
15238 "audit"
15239 ]
15240 },
15241 "protected" : 1,
15242 "proxyto" : "node",
15243 "returns" : {
15244 "type" : "null"
15245 }
15246 },
15247 "GET" : {
15248 "allowtoken" : 1,
15249 "description" : "Get timer specification",
15250 "method" : "GET",
15251 "name" : "list_timer",
15252 "parameters" : {
15253 "additionalProperties" : 0,
15254 "properties" : {
15255 "node" : {
15256 "description" : "The cluster node name.",
15257 "format" : "pve-node",
15258 "type" : "string",
15259 "typetext" : "<string>"
15260 },
15261 "remote" : {
15262 "description" : "Proxmox Backup Server ID.",
15263 "format" : "pve-configid",
15264 "type" : "string",
15265 "typetext" : "<string>"
15266 }
15267 }
15268 },
15269 "permissions" : {
15270 "check" : [
15271 "admin",
15272 "audit"
15273 ]
15274 },
15275 "protected" : 1,
15276 "proxyto" : "node",
15277 "returns" : {
15278 "properties" : {
15279 "delay" : {
15280 "default" : "5min",
15281 "description" : "Randomized delay to add to the starttime (RandomizedDelaySec setting of the systemd.timer)",
15282 "optional" : 1,
15283 "pattern" : "[0-9a-zA-Z. ]+",
15284 "type" : "string"
15285 },
15286 "next-run" : {
15287 "description" : "The date time of the next run, in server locale.",
15288 "optional" : 1,
15289 "type" : "string"
15290 },
15291 "remote" : {
15292 "description" : "Proxmox Backup Server remote ID.",
15293 "format" : "pve-configid",
15294 "optional" : 1,
15295 "type" : "string"
15296 },
15297 "schedule" : {
15298 "default" : "daily",
15299 "description" : "Schedule for the backup (OnCalendar setting of the systemd.timer)",
15300 "optional" : 1,
15301 "pattern" : "[0-9a-zA-Z*.:,\\-/ ]+",
15302 "type" : "string"
15303 },
15304 "unitfile" : {
15305 "description" : "unit file for the systemd.timer unit",
15306 "optional" : 1,
15307 "type" : "string"
15308 }
15309 },
15310 "type" : "object"
15311 }
15312 },
15313 "POST" : {
15314 "allowtoken" : 1,
15315 "description" : "Create backup schedule",
15316 "method" : "POST",
15317 "name" : "create_timer",
15318 "parameters" : {
15319 "additionalProperties" : 0,
15320 "properties" : {
15321 "delay" : {
15322 "default" : "5min",
15323 "description" : "Randomized delay to add to the starttime (RandomizedDelaySec setting of the systemd.timer)",
15324 "optional" : 1,
15325 "pattern" : "[0-9a-zA-Z. ]+",
15326 "type" : "string"
15327 },
15328 "node" : {
15329 "description" : "The cluster node name.",
15330 "format" : "pve-node",
15331 "type" : "string",
15332 "typetext" : "<string>"
15333 },
15334 "remote" : {
15335 "description" : "Proxmox Backup Server ID.",
15336 "format" : "pve-configid",
15337 "type" : "string",
15338 "typetext" : "<string>"
15339 },
15340 "schedule" : {
15341 "default" : "daily",
15342 "description" : "Schedule for the backup (OnCalendar setting of the systemd.timer)",
15343 "optional" : 1,
15344 "pattern" : "[0-9a-zA-Z*.:,\\-/ ]+",
15345 "type" : "string"
15346 }
15347 }
15348 },
15349 "permissions" : {
15350 "check" : [
15351 "admin",
15352 "audit"
15353 ]
15354 },
15355 "protected" : 1,
15356 "proxyto" : "node",
15357 "returns" : {
15358 "type" : "null"
ab2b846b
TL
15359 }
15360 }
15361 },
c5ccf1ab
TL
15362 "leaf" : 1,
15363 "path" : "/nodes/{node}/pbs/{remote}/timer",
15364 "text" : "timer"
15365 }
15366 ],
15367 "info" : {
ab2b846b
TL
15368 "GET" : {
15369 "allowtoken" : 1,
c5ccf1ab 15370 "description" : "Backup Job index.",
ab2b846b 15371 "method" : "GET",
c5ccf1ab 15372 "name" : "remote_index",
ab2b846b
TL
15373 "parameters" : {
15374 "additionalProperties" : 0,
15375 "properties" : {
ab2b846b
TL
15376 "node" : {
15377 "description" : "The cluster node name.",
15378 "format" : "pve-node",
15379 "type" : "string",
15380 "typetext" : "<string>"
ab2b846b 15381 },
c5ccf1ab
TL
15382 "remote" : {
15383 "description" : "Proxmox Backup Server ID.",
15384 "format" : "pve-configid",
ab2b846b
TL
15385 "type" : "string",
15386 "typetext" : "<string>"
ab2b846b
TL
15387 }
15388 }
15389 },
ab2b846b 15390 "returns" : {
c5ccf1ab
TL
15391 "items" : {
15392 "properties" : {
15393 "section" : {
15394 "type" : "string"
15395 }
15396 },
15397 "type" : "object"
15398 },
15399 "links" : [
15400 {
15401 "href" : "{section}",
15402 "rel" : "child"
15403 }
15404 ],
15405 "type" : "array"
ab2b846b
TL
15406 }
15407 }
15408 },
c5ccf1ab
TL
15409 "leaf" : 0,
15410 "path" : "/nodes/{node}/pbs/{remote}",
15411 "text" : "{remote}"
ab2b846b
TL
15412 }
15413 ],
15414 "info" : {
15415 "GET" : {
15416 "allowtoken" : 1,
c5ccf1ab 15417 "description" : "List all configured Proxmox Backup Server jobs.",
ab2b846b
TL
15418 "method" : "GET",
15419 "name" : "list",
15420 "parameters" : {
15421 "additionalProperties" : 0,
15422 "properties" : {
c5ccf1ab
TL
15423 "node" : {
15424 "description" : "The cluster node name.",
15425 "format" : "pve-node",
15426 "type" : "string",
15427 "typetext" : "<string>"
ab2b846b
TL
15428 }
15429 }
15430 },
15431 "permissions" : {
15432 "check" : [
c5ccf1ab
TL
15433 "admin",
15434 "audit"
ab2b846b
TL
15435 ]
15436 },
15437 "protected" : 1,
15438 "proxyto" : "node",
15439 "returns" : {
c5ccf1ab
TL
15440 "items" : {
15441 "additionalProperties" : 0,
15442 "properties" : {
15443 "datastore" : {
15444 "description" : "Proxmox Backup Server datastore name.",
15445 "optional" : 0,
0b9926d3 15446 "pattern" : "(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)",
c5ccf1ab
TL
15447 "type" : "string"
15448 },
15449 "disable" : {
15450 "description" : "Flag to disable (deactivate) the entry.",
15451 "optional" : 1,
15452 "type" : "boolean"
15453 },
15454 "fingerprint" : {
15455 "description" : "Certificate SHA 256 fingerprint.",
15456 "optional" : 1,
15457 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
15458 "type" : "string"
15459 },
15460 "include-statistics" : {
15461 "description" : "Include statistics in scheduled backups",
15462 "optional" : 1,
15463 "type" : "boolean"
15464 },
15465 "keep-daily" : {
15466 "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.",
15467 "format_description" : "N",
15468 "minimum" : "0",
15469 "optional" : 1,
15470 "type" : "integer"
15471 },
15472 "keep-hourly" : {
15473 "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.",
15474 "format_description" : "N",
15475 "minimum" : "0",
15476 "optional" : 1,
15477 "type" : "integer"
15478 },
15479 "keep-last" : {
15480 "description" : "Keep the last <N> backups.",
15481 "format_description" : "N",
15482 "minimum" : "0",
15483 "optional" : 1,
15484 "type" : "integer"
15485 },
15486 "keep-monthly" : {
15487 "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.",
15488 "format_description" : "N",
15489 "minimum" : "0",
15490 "optional" : 1,
15491 "type" : "integer"
15492 },
15493 "keep-weekly" : {
15494 "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.",
15495 "format_description" : "N",
15496 "minimum" : "0",
15497 "optional" : 1,
15498 "type" : "integer"
15499 },
15500 "keep-yearly" : {
15501 "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.",
15502 "format_description" : "N",
15503 "minimum" : "0",
15504 "optional" : 1,
15505 "type" : "integer"
15506 },
0b9926d3
TL
15507 "namespace" : {
15508 "description" : "Proxmox Backup Server namespace in the datastore, defaults to the root NS.",
15509 "maxLength" : 256,
15510 "optional" : 1,
15511 "pattern" : "(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)/){0,7}(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*))?",
15512 "type" : "string"
15513 },
c5ccf1ab
TL
15514 "notify" : {
15515 "description" : "Specify when to notify via e-mail",
15516 "enum" : [
15517 "always",
15518 "error",
15519 "never"
ab2b846b 15520 ],
c5ccf1ab
TL
15521 "optional" : 1,
15522 "type" : "string"
15523 },
15524 "password" : {
15525 "description" : "Password or API token secret for the user on the Proxmox Backup Server.",
15526 "optional" : 1,
15527 "type" : "string"
15528 },
cbd73e8f
TL
15529 "port" : {
15530 "default" : 8007,
15531 "description" : "Non-default port for Proxmox Backup Server.",
15532 "maximum" : 65535,
15533 "minimum" : 1,
15534 "optional" : 1,
15535 "type" : "integer"
15536 },
c5ccf1ab
TL
15537 "remote" : {
15538 "description" : "Proxmox Backup Server ID.",
15539 "format" : "pve-configid",
15540 "type" : "string"
15541 },
15542 "server" : {
15543 "description" : "Proxmox Backup Server address.",
15544 "format" : "address",
15545 "maxLength" : 256,
15546 "optional" : 0,
15547 "type" : "string"
15548 },
15549 "username" : {
15550 "description" : "Username or API token ID on the Proxmox Backup Server",
15551 "maxLength" : 512,
15552 "minLength" : 3,
15553 "optional" : 1,
15554 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
15555 "type" : "string"
15556 }
15557 },
15558 "type" : "object"
15559 },
15560 "links" : [
15561 {
15562 "href" : "{remote}",
15563 "rel" : "child"
15564 }
15565 ],
15566 "type" : "array"
15567 }
15568 }
15569 },
15570 "leaf" : 0,
15571 "path" : "/nodes/{node}/pbs",
15572 "text" : "pbs"
15573 },
15574 {
15575 "children" : [
15576 {
15577 "info" : {
15578 "GET" : {
15579 "allowtoken" : 1,
15580 "description" : "Get information about the node's certificates.",
15581 "method" : "GET",
15582 "name" : "info",
15583 "parameters" : {
15584 "additionalProperties" : 0,
15585 "properties" : {
15586 "node" : {
15587 "description" : "The cluster node name.",
15588 "format" : "pve-node",
15589 "type" : "string",
15590 "typetext" : "<string>"
15591 }
15592 }
15593 },
15594 "permissions" : {
15595 "user" : "all"
15596 },
15597 "protected" : 1,
15598 "proxyto" : "node",
15599 "returns" : {
15600 "items" : {
15601 "properties" : {
15602 "filename" : {
15603 "optional" : 1,
15604 "type" : "string"
15605 },
15606 "fingerprint" : {
15607 "description" : "Certificate SHA 256 fingerprint.",
15608 "optional" : 1,
15609 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
15610 "type" : "string"
15611 },
15612 "issuer" : {
15613 "description" : "Certificate issuer name.",
15614 "optional" : 1,
15615 "type" : "string"
15616 },
15617 "notafter" : {
15618 "description" : "Certificate's notAfter timestamp (UNIX epoch).",
15619 "optional" : 1,
15620 "renderer" : "timestamp",
15621 "type" : "integer"
15622 },
15623 "notbefore" : {
15624 "description" : "Certificate's notBefore timestamp (UNIX epoch).",
15625 "optional" : 1,
15626 "renderer" : "timestamp",
15627 "type" : "integer"
15628 },
15629 "pem" : {
15630 "description" : "Certificate in PEM format",
15631 "format" : "pem-certificate",
15632 "optional" : 1,
15633 "type" : "string"
15634 },
15635 "public-key-bits" : {
15636 "description" : "Certificate's public key size",
15637 "optional" : 1,
15638 "type" : "integer"
15639 },
15640 "public-key-type" : {
15641 "description" : "Certificate's public key algorithm",
15642 "optional" : 1,
15643 "type" : "string"
15644 },
15645 "san" : {
15646 "description" : "List of Certificate's SubjectAlternativeName entries.",
15647 "items" : {
15648 "type" : "string"
ab2b846b 15649 },
c5ccf1ab
TL
15650 "optional" : 1,
15651 "renderer" : "yaml",
15652 "type" : "array"
15653 },
15654 "subject" : {
15655 "description" : "Certificate subject name.",
15656 "optional" : 1,
15657 "type" : "string"
ab2b846b
TL
15658 }
15659 },
c5ccf1ab
TL
15660 "type" : "object"
15661 },
15662 "type" : "array"
15663 }
15664 }
15665 },
15666 "leaf" : 1,
15667 "path" : "/nodes/{node}/certificates/info",
15668 "text" : "info"
15669 },
15670 {
15671 "children" : [
15672 {
ab2b846b 15673 "info" : {
c5ccf1ab 15674 "DELETE" : {
ab2b846b 15675 "allowtoken" : 1,
c5ccf1ab
TL
15676 "description" : "DELETE custom certificate chain and key.",
15677 "method" : "DELETE",
15678 "name" : "remove_custom_cert",
ab2b846b
TL
15679 "parameters" : {
15680 "additionalProperties" : 0,
15681 "properties" : {
15682 "node" : {
15683 "description" : "The cluster node name.",
15684 "format" : "pve-node",
15685 "type" : "string",
15686 "typetext" : "<string>"
15687 },
c5ccf1ab
TL
15688 "restart" : {
15689 "default" : 0,
15690 "description" : "Restart pmgproxy.",
15691 "optional" : 1,
15692 "type" : "boolean",
15693 "typetext" : "<boolean>"
15694 },
15695 "type" : {
15696 "description" : "The TLS certificate type (API or SMTP certificate).",
15697 "enum" : [
15698 "api",
15699 "smtp"
15700 ],
15701 "type" : "string"
ab2b846b
TL
15702 }
15703 }
15704 },
15705 "permissions" : {
15706 "check" : [
c5ccf1ab 15707 "admin"
ab2b846b
TL
15708 ]
15709 },
15710 "protected" : 1,
15711 "proxyto" : "node",
15712 "returns" : {
c5ccf1ab 15713 "type" : "null"
ab2b846b
TL
15714 }
15715 },
15716 "POST" : {
15717 "allowtoken" : 1,
c5ccf1ab 15718 "description" : "Upload or update custom certificate chain and key.",
ab2b846b 15719 "method" : "POST",
c5ccf1ab 15720 "name" : "upload_custom_cert",
ab2b846b
TL
15721 "parameters" : {
15722 "additionalProperties" : 0,
15723 "properties" : {
c5ccf1ab
TL
15724 "certificates" : {
15725 "description" : "PEM encoded certificate (chain).",
15726 "format" : "pem-certificate-chain",
15727 "type" : "string",
15728 "typetext" : "<string>"
15729 },
15730 "force" : {
15731 "default" : 0,
15732 "description" : "Overwrite existing custom or ACME certificate files.",
15733 "optional" : 1,
15734 "type" : "boolean",
15735 "typetext" : "<boolean>"
15736 },
15737 "key" : {
15738 "description" : "PEM encoded private key.",
15739 "format" : "pem-string",
15740 "optional" : 0,
15741 "type" : "string",
15742 "typetext" : "<string>"
15743 },
ab2b846b
TL
15744 "node" : {
15745 "description" : "The cluster node name.",
15746 "format" : "pve-node",
15747 "type" : "string",
15748 "typetext" : "<string>"
15749 },
c5ccf1ab
TL
15750 "restart" : {
15751 "default" : 0,
15752 "description" : "Restart services.",
15753 "optional" : 1,
15754 "type" : "boolean",
15755 "typetext" : "<boolean>"
15756 },
15757 "type" : {
15758 "description" : "The TLS certificate type (API or SMTP certificate).",
15759 "enum" : [
15760 "api",
15761 "smtp"
15762 ],
15763 "type" : "string"
ab2b846b
TL
15764 }
15765 }
15766 },
15767 "permissions" : {
15768 "check" : [
c5ccf1ab 15769 "admin"
ab2b846b
TL
15770 ]
15771 },
15772 "protected" : 1,
15773 "proxyto" : "node",
15774 "returns" : {
c5ccf1ab
TL
15775 "properties" : {
15776 "filename" : {
15777 "optional" : 1,
15778 "type" : "string"
15779 },
15780 "fingerprint" : {
15781 "description" : "Certificate SHA 256 fingerprint.",
15782 "optional" : 1,
15783 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
15784 "type" : "string"
15785 },
15786 "issuer" : {
15787 "description" : "Certificate issuer name.",
15788 "optional" : 1,
15789 "type" : "string"
15790 },
15791 "notafter" : {
15792 "description" : "Certificate's notAfter timestamp (UNIX epoch).",
15793 "optional" : 1,
15794 "renderer" : "timestamp",
15795 "type" : "integer"
15796 },
15797 "notbefore" : {
15798 "description" : "Certificate's notBefore timestamp (UNIX epoch).",
15799 "optional" : 1,
15800 "renderer" : "timestamp",
15801 "type" : "integer"
15802 },
15803 "pem" : {
15804 "description" : "Certificate in PEM format",
15805 "format" : "pem-certificate",
15806 "optional" : 1,
15807 "type" : "string"
15808 },
15809 "public-key-bits" : {
15810 "description" : "Certificate's public key size",
15811 "optional" : 1,
15812 "type" : "integer"
15813 },
15814 "public-key-type" : {
15815 "description" : "Certificate's public key algorithm",
15816 "optional" : 1,
15817 "type" : "string"
15818 },
15819 "san" : {
15820 "description" : "List of Certificate's SubjectAlternativeName entries.",
15821 "items" : {
15822 "type" : "string"
15823 },
15824 "optional" : 1,
15825 "renderer" : "yaml",
15826 "type" : "array"
15827 },
15828 "subject" : {
15829 "description" : "Certificate subject name.",
15830 "optional" : 1,
15831 "type" : "string"
15832 }
15833 },
15834 "type" : "object"
15835 }
15836 }
15837 },
15838 "leaf" : 1,
15839 "path" : "/nodes/{node}/certificates/custom/{type}",
15840 "text" : "{type}"
15841 }
15842 ],
15843 "info" : {
15844 "GET" : {
15845 "allowtoken" : 1,
15846 "description" : "Certificate index.",
15847 "method" : "GET",
15848 "name" : "custom_cert_index",
15849 "parameters" : {
15850 "additionalProperties" : 0,
15851 "properties" : {
15852 "node" : {
15853 "description" : "The cluster node name.",
15854 "format" : "pve-node",
15855 "type" : "string",
15856 "typetext" : "<string>"
ab2b846b
TL
15857 }
15858 }
15859 },
c5ccf1ab
TL
15860 "permissions" : {
15861 "user" : "all"
15862 },
15863 "returns" : {
15864 "items" : {
15865 "properties" : {},
15866 "type" : "object"
15867 },
15868 "links" : [
15869 {
15870 "href" : "{type}",
15871 "rel" : "child"
15872 }
15873 ],
15874 "type" : "array"
15875 }
15876 }
15877 },
15878 "leaf" : 0,
15879 "path" : "/nodes/{node}/certificates/custom",
15880 "text" : "custom"
15881 },
15882 {
15883 "children" : [
ab2b846b
TL
15884 {
15885 "info" : {
15886 "DELETE" : {
15887 "allowtoken" : 1,
c5ccf1ab 15888 "description" : "Revoke existing certificate from CA.",
ab2b846b 15889 "method" : "DELETE",
c5ccf1ab 15890 "name" : "revoke_acme_cert",
ab2b846b
TL
15891 "parameters" : {
15892 "additionalProperties" : 0,
15893 "properties" : {
15894 "node" : {
15895 "description" : "The cluster node name.",
15896 "format" : "pve-node",
15897 "type" : "string",
15898 "typetext" : "<string>"
15899 },
c5ccf1ab
TL
15900 "type" : {
15901 "description" : "The TLS certificate type (API or SMTP certificate).",
15902 "enum" : [
15903 "api",
15904 "smtp"
15905 ],
15906 "type" : "string"
ab2b846b
TL
15907 }
15908 }
15909 },
15910 "permissions" : {
15911 "check" : [
c5ccf1ab 15912 "admin"
ab2b846b
TL
15913 ]
15914 },
15915 "protected" : 1,
15916 "proxyto" : "node",
15917 "returns" : {
c5ccf1ab 15918 "type" : "string"
ab2b846b
TL
15919 }
15920 },
c5ccf1ab 15921 "POST" : {
ab2b846b 15922 "allowtoken" : 1,
c5ccf1ab
TL
15923 "description" : "Order a new certificate from ACME-compatible CA.",
15924 "method" : "POST",
15925 "name" : "new_acme_cert",
ab2b846b
TL
15926 "parameters" : {
15927 "additionalProperties" : 0,
15928 "properties" : {
c5ccf1ab
TL
15929 "force" : {
15930 "default" : 0,
15931 "description" : "Overwrite existing custom certificate.",
15932 "optional" : 1,
15933 "type" : "boolean",
15934 "typetext" : "<boolean>"
15935 },
ab2b846b
TL
15936 "node" : {
15937 "description" : "The cluster node name.",
15938 "format" : "pve-node",
15939 "type" : "string",
15940 "typetext" : "<string>"
15941 },
c5ccf1ab
TL
15942 "type" : {
15943 "description" : "The TLS certificate type (API or SMTP certificate).",
15944 "enum" : [
15945 "api",
15946 "smtp"
15947 ],
15948 "type" : "string"
ab2b846b
TL
15949 }
15950 }
15951 },
15952 "permissions" : {
15953 "check" : [
c5ccf1ab 15954 "admin"
ab2b846b
TL
15955 ]
15956 },
15957 "protected" : 1,
15958 "proxyto" : "node",
15959 "returns" : {
c5ccf1ab 15960 "type" : "string"
ab2b846b
TL
15961 }
15962 },
c5ccf1ab 15963 "PUT" : {
ab2b846b 15964 "allowtoken" : 1,
c5ccf1ab
TL
15965 "description" : "Renew existing certificate from CA.",
15966 "method" : "PUT",
15967 "name" : "renew_acme_cert",
ab2b846b
TL
15968 "parameters" : {
15969 "additionalProperties" : 0,
15970 "properties" : {
c5ccf1ab
TL
15971 "force" : {
15972 "default" : 0,
15973 "description" : "Force renewal even if expiry is more than 30 days away.",
ab2b846b 15974 "optional" : 1,
c5ccf1ab
TL
15975 "type" : "boolean",
15976 "typetext" : "<boolean>"
ab2b846b
TL
15977 },
15978 "node" : {
15979 "description" : "The cluster node name.",
15980 "format" : "pve-node",
15981 "type" : "string",
15982 "typetext" : "<string>"
15983 },
c5ccf1ab
TL
15984 "type" : {
15985 "description" : "The TLS certificate type (API or SMTP certificate).",
15986 "enum" : [
15987 "api",
15988 "smtp"
15989 ],
ab2b846b
TL
15990 "type" : "string"
15991 }
15992 }
15993 },
15994 "permissions" : {
15995 "check" : [
c5ccf1ab 15996 "admin"
ab2b846b
TL
15997 ]
15998 },
15999 "protected" : 1,
16000 "proxyto" : "node",
16001 "returns" : {
c5ccf1ab 16002 "type" : "string"
bb6e6e0d
DM
16003 }
16004 }
16005 },
ab2b846b 16006 "leaf" : 1,
c5ccf1ab
TL
16007 "path" : "/nodes/{node}/certificates/acme/{type}",
16008 "text" : "{type}"
ab2b846b
TL
16009 }
16010 ],
16011 "info" : {
bb6e6e0d 16012 "GET" : {
6bd70b95 16013 "allowtoken" : 1,
c5ccf1ab 16014 "description" : "ACME Certificate index.",
bb6e6e0d 16015 "method" : "GET",
c5ccf1ab 16016 "name" : "acme_cert_index",
bb6e6e0d
DM
16017 "parameters" : {
16018 "additionalProperties" : 0,
16019 "properties" : {
bb6e6e0d
DM
16020 "node" : {
16021 "description" : "The cluster node name.",
16022 "format" : "pve-node",
16023 "type" : "string",
16024 "typetext" : "<string>"
bb6e6e0d
DM
16025 }
16026 }
16027 },
c5ccf1ab
TL
16028 "permissions" : {
16029 "user" : "all"
16030 },
bb6e6e0d 16031 "returns" : {
ab2b846b 16032 "items" : {
c5ccf1ab 16033 "properties" : {},
ab2b846b
TL
16034 "type" : "object"
16035 },
16036 "links" : [
16037 {
c5ccf1ab 16038 "href" : "{type}",
ab2b846b
TL
16039 "rel" : "child"
16040 }
16041 ],
16042 "type" : "array"
bb6e6e0d
DM
16043 }
16044 }
16045 },
ab2b846b 16046 "leaf" : 0,
c5ccf1ab
TL
16047 "path" : "/nodes/{node}/certificates/acme",
16048 "text" : "acme"
bb6e6e0d
DM
16049 }
16050 ],
16051 "info" : {
16052 "GET" : {
6bd70b95 16053 "allowtoken" : 1,
c5ccf1ab 16054 "description" : "Node index.",
bb6e6e0d 16055 "method" : "GET",
c5ccf1ab
TL
16056 "name" : "index",
16057 "parameters" : {
16058 "additionalProperties" : 0,
16059 "properties" : {
16060 "node" : {
16061 "description" : "The cluster node name.",
16062 "format" : "pve-node",
16063 "type" : "string",
16064 "typetext" : "<string>"
16065 }
16066 }
16067 },
16068 "permissions" : {
16069 "user" : "all"
16070 },
16071 "returns" : {
16072 "items" : {
16073 "properties" : {},
16074 "type" : "object"
16075 },
16076 "links" : [
16077 {
16078 "href" : "{name}",
16079 "rel" : "child"
16080 }
16081 ],
16082 "type" : "array"
16083 }
16084 }
16085 },
16086 "leaf" : 0,
16087 "path" : "/nodes/{node}/certificates",
16088 "text" : "certificates"
16089 },
16090 {
16091 "info" : {
16092 "GET" : {
16093 "allowtoken" : 1,
16094 "description" : "Get node configuration options.",
16095 "method" : "GET",
16096 "name" : "get_config",
16097 "parameters" : {
16098 "additionalProperties" : 0,
16099 "properties" : {
16100 "node" : {
16101 "description" : "The cluster node name.",
16102 "format" : "pve-node",
16103 "type" : "string",
16104 "typetext" : "<string>"
16105 }
16106 }
16107 },
16108 "permissions" : {
16109 "check" : [
16110 "admin",
16111 "audit"
16112 ]
16113 },
16114 "protected" : 1,
16115 "proxyto" : "node",
16116 "returns" : {
16117 "additionalProperties" : 0,
16118 "properties" : {
16119 "acme" : {
16120 "description" : "Node specific ACME settings.",
16121 "format" : {
16122 "account" : {
16123 "default" : "default",
16124 "description" : "ACME account config file name.",
16125 "format" : "pve-configid",
16126 "format_description" : "name",
16127 "optional" : 1,
16128 "type" : "string"
16129 }
16130 },
16131 "optional" : 1,
16132 "type" : "string"
16133 },
16134 "acmedomain[n]" : {
16135 "description" : "ACME domain and validation plugin",
16136 "format" : {
16137 "alias" : {
16138 "description" : "Alias for the Domain to verify ACME Challenge over DNS",
16139 "format" : "pmg-acme-alias",
16140 "format_description" : "domain",
16141 "optional" : 1,
16142 "type" : "string"
16143 },
16144 "domain" : {
16145 "default_key" : 1,
16146 "description" : "domain for this node's ACME certificate",
16147 "format" : "pmg-acme-domain",
16148 "format_description" : "domain",
16149 "type" : "string"
16150 },
16151 "plugin" : {
16152 "default" : "standalone",
16153 "description" : "The ACME plugin ID",
16154 "format" : "pve-configid",
16155 "format_description" : "name of the plugin configuration",
16156 "optional" : 1,
16157 "type" : "string"
16158 },
16159 "usage" : {
16160 "description" : "Whether this domain is used for the API, SMTP or both",
16161 "format" : "pmg-certificate-type-list",
16162 "format_description" : "usage list",
16163 "type" : "string"
16164 }
16165 },
16166 "optional" : 1,
16167 "type" : "string"
16168 },
16169 "digest" : {
16170 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
16171 "maxLength" : 40,
16172 "optional" : 1,
16173 "type" : "string"
16174 }
16175 },
16176 "type" : "object"
16177 }
16178 },
16179 "PUT" : {
16180 "allowtoken" : 1,
16181 "description" : "Set node configuration options.",
16182 "method" : "PUT",
16183 "name" : "set_config",
bb6e6e0d
DM
16184 "parameters" : {
16185 "additionalProperties" : 0,
16186 "properties" : {
c5ccf1ab
TL
16187 "acme" : {
16188 "description" : "Node specific ACME settings.",
16189 "format" : {
16190 "account" : {
16191 "default" : "default",
16192 "description" : "ACME account config file name.",
16193 "format" : "pve-configid",
16194 "format_description" : "name",
16195 "optional" : 1,
16196 "type" : "string"
16197 }
16198 },
16199 "optional" : 1,
16200 "type" : "string",
16201 "typetext" : "[account=<name>]"
16202 },
16203 "acmedomain[n]" : {
16204 "description" : "ACME domain and validation plugin",
16205 "format" : {
16206 "alias" : {
16207 "description" : "Alias for the Domain to verify ACME Challenge over DNS",
16208 "format" : "pmg-acme-alias",
16209 "format_description" : "domain",
16210 "optional" : 1,
16211 "type" : "string"
16212 },
16213 "domain" : {
16214 "default_key" : 1,
16215 "description" : "domain for this node's ACME certificate",
16216 "format" : "pmg-acme-domain",
16217 "format_description" : "domain",
16218 "type" : "string"
16219 },
16220 "plugin" : {
16221 "default" : "standalone",
16222 "description" : "The ACME plugin ID",
16223 "format" : "pve-configid",
16224 "format_description" : "name of the plugin configuration",
16225 "optional" : 1,
16226 "type" : "string"
16227 },
16228 "usage" : {
16229 "description" : "Whether this domain is used for the API, SMTP or both",
16230 "format" : "pmg-certificate-type-list",
16231 "format_description" : "usage list",
16232 "type" : "string"
16233 }
16234 },
16235 "optional" : 1,
16236 "type" : "string",
16237 "typetext" : "[domain=]<domain> ,usage=<usage list> [,alias=<domain>] [,plugin=<name of the plugin configuration>]"
16238 },
16239 "delete" : {
16240 "description" : "A list of settings you want to delete.",
16241 "format" : "pve-configid-list",
16242 "optional" : 1,
16243 "type" : "string",
16244 "typetext" : "<string>"
16245 },
16246 "digest" : {
16247 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
16248 "maxLength" : 40,
16249 "optional" : 1,
16250 "type" : "string",
16251 "typetext" : "<string>"
16252 },
bb6e6e0d
DM
16253 "node" : {
16254 "description" : "The cluster node name.",
16255 "format" : "pve-node",
16256 "type" : "string",
16257 "typetext" : "<string>"
16258 }
c5ccf1ab
TL
16259 },
16260 "type" : "object"
bb6e6e0d
DM
16261 },
16262 "permissions" : {
16263 "check" : [
16264 "admin",
16265 "audit"
16266 ]
16267 },
16268 "protected" : 1,
16269 "proxyto" : "node",
16270 "returns" : {
c5ccf1ab 16271 "type" : "null"
bb6e6e0d 16272 }
bb6e6e0d
DM
16273 }
16274 },
c5ccf1ab
TL
16275 "leaf" : 1,
16276 "path" : "/nodes/{node}/config",
16277 "text" : "config"
bb6e6e0d 16278 },
241ac83c
TL
16279 {
16280 "info" : {
16281 "GET" : {
6bd70b95 16282 "allowtoken" : 1,
241ac83c
TL
16283 "description" : "Gather various system information about a node",
16284 "method" : "GET",
16285 "name" : "report",
16286 "parameters" : {
16287 "additionalProperties" : 0,
16288 "properties" : {
16289 "node" : {
16290 "description" : "The cluster node name.",
16291 "format" : "pve-node",
16292 "type" : "string",
16293 "typetext" : "<string>"
16294 }
16295 }
16296 },
16297 "permissions" : {
16298 "check" : [
16299 "admin",
16300 "audit"
16301 ]
16302 },
16303 "protected" : 1,
16304 "proxyto" : "node",
16305 "returns" : {
16306 "type" : "string"
16307 }
16308 }
16309 },
16310 "leaf" : 1,
16311 "path" : "/nodes/{node}/report",
16312 "text" : "report"
16313 },
9fda36b0
DM
16314 {
16315 "info" : {
16316 "GET" : {
6bd70b95 16317 "allowtoken" : 1,
9fda36b0
DM
16318 "description" : "Read node RRD statistics",
16319 "method" : "GET",
16320 "name" : "rrddata",
16321 "parameters" : {
16322 "additionalProperties" : 0,
16323 "properties" : {
16324 "cf" : {
16325 "description" : "The RRD consolidation function",
16326 "enum" : [
16327 "AVERAGE",
16328 "MAX"
16329 ],
16330 "optional" : 1,
16331 "type" : "string"
16332 },
16333 "node" : {
16334 "description" : "The cluster node name.",
16335 "format" : "pve-node",
16336 "type" : "string",
16337 "typetext" : "<string>"
16338 },
16339 "timeframe" : {
16340 "description" : "Specify the time frame you are interested in.",
16341 "enum" : [
16342 "hour",
16343 "day",
16344 "week",
16345 "month",
16346 "year"
16347 ],
16348 "type" : "string"
16349 }
16350 }
16351 },
732d76e1
DM
16352 "permissions" : {
16353 "check" : [
16354 "admin",
16355 "audit"
16356 ]
16357 },
9fda36b0
DM
16358 "protected" : 1,
16359 "proxyto" : "node",
16360 "returns" : {
16361 "items" : {
16362 "properties" : {},
16363 "type" : "object"
16364 },
16365 "type" : "array"
16366 }
16367 }
16368 },
16369 "leaf" : 1,
16370 "path" : "/nodes/{node}/rrddata",
16371 "text" : "rrddata"
16372 },
16373 {
16374 "info" : {
16375 "GET" : {
6bd70b95 16376 "allowtoken" : 1,
9fda36b0
DM
16377 "description" : "Read system log",
16378 "method" : "GET",
16379 "name" : "syslog",
16380 "parameters" : {
16381 "additionalProperties" : 0,
16382 "properties" : {
16383 "limit" : {
16384 "minimum" : 0,
16385 "optional" : 1,
16386 "type" : "integer",
16387 "typetext" : "<integer> (0 - N)"
16388 },
16389 "node" : {
16390 "description" : "The cluster node name.",
16391 "format" : "pve-node",
16392 "type" : "string",
16393 "typetext" : "<string>"
16394 },
16395 "service" : {
16396 "description" : "Service ID",
16397 "maxLength" : 128,
16398 "optional" : 1,
16399 "type" : "string",
16400 "typetext" : "<string>"
16401 },
16402 "since" : {
16403 "description" : "Display all log since this date-time string.",
16404 "optional" : 1,
16405 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
16406 "type" : "string"
16407 },
16408 "start" : {
16409 "minimum" : 0,
16410 "optional" : 1,
16411 "type" : "integer",
16412 "typetext" : "<integer> (0 - N)"
16413 },
16414 "until" : {
16415 "description" : "Display all log until this date-time string.",
16416 "optional" : 1,
16417 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
16418 "type" : "string"
16419 }
16420 }
16421 },
732d76e1
DM
16422 "permissions" : {
16423 "check" : [
16424 "admin",
16425 "audit"
16426 ]
16427 },
9fda36b0
DM
16428 "protected" : 1,
16429 "proxyto" : "node",
16430 "returns" : {
16431 "items" : {
16432 "properties" : {
16433 "n" : {
16434 "description" : "Line number",
16435 "type" : "integer"
16436 },
16437 "t" : {
16438 "description" : "Line text",
16439 "type" : "string"
16440 }
16441 },
16442 "type" : "object"
16443 },
16444 "type" : "array"
16445 }
16446 }
16447 },
16448 "leaf" : 1,
16449 "path" : "/nodes/{node}/syslog",
16450 "text" : "syslog"
16451 },
241ac83c
TL
16452 {
16453 "info" : {
16454 "GET" : {
6bd70b95 16455 "allowtoken" : 1,
241ac83c
TL
16456 "description" : "Read Journal",
16457 "method" : "GET",
16458 "name" : "journal",
16459 "parameters" : {
16460 "additionalProperties" : 0,
16461 "properties" : {
16462 "endcursor" : {
16463 "description" : "End before the given Cursor. Conflicts with 'until'.",
16464 "optional" : 1,
16465 "type" : "string",
16466 "typetext" : "<string>"
16467 },
16468 "lastentries" : {
16469 "description" : "Limit to the last X lines. Conflicts with a range.",
16470 "minimum" : 0,
16471 "optional" : 1,
16472 "type" : "integer",
16473 "typetext" : "<integer> (0 - N)"
16474 },
16475 "node" : {
16476 "description" : "The cluster node name.",
16477 "format" : "pve-node",
16478 "type" : "string",
16479 "typetext" : "<string>"
16480 },
16481 "since" : {
16482 "description" : "Display all log since this UNIX epoch. Conflicts with 'startcursor'.",
16483 "minimum" : 0,
16484 "optional" : 1,
16485 "type" : "integer",
16486 "typetext" : "<integer> (0 - N)"
16487 },
16488 "startcursor" : {
16489 "description" : "Start after the given Cursor. Conflicts with 'since'.",
16490 "optional" : 1,
16491 "type" : "string",
16492 "typetext" : "<string>"
16493 },
16494 "until" : {
16495 "description" : "Display all log until this UNIX epoch. Conflicts with 'endcursor'.",
16496 "minimum" : 0,
16497 "optional" : 1,
16498 "type" : "integer",
16499 "typetext" : "<integer> (0 - N)"
16500 }
16501 }
16502 },
16503 "permissions" : {
16504 "check" : [
16505 "admin",
16506 "audit"
16507 ]
16508 },
16509 "protected" : 1,
16510 "proxyto" : "node",
16511 "returns" : {
16512 "items" : {
16513 "type" : "string"
16514 },
16515 "type" : "array"
16516 }
16517 }
16518 },
16519 "leaf" : 1,
16520 "path" : "/nodes/{node}/journal",
16521 "text" : "journal"
16522 },
9fda36b0
DM
16523 {
16524 "info" : {
16525 "POST" : {
6bd70b95 16526 "allowtoken" : 1,
274b47fc 16527 "description" : "Creates a Terminal proxy.",
9fda36b0 16528 "method" : "POST",
274b47fc 16529 "name" : "termproxy",
9fda36b0
DM
16530 "parameters" : {
16531 "additionalProperties" : 0,
16532 "properties" : {
c5ccf1ab
TL
16533 "cmd" : {
16534 "default" : "login",
16535 "description" : "Run specific command or default to login.",
16536 "enum" : [
14ffe66b
TL
16537 "login",
16538 "upgrade"
c5ccf1ab
TL
16539 ],
16540 "optional" : 1,
16541 "type" : "string"
16542 },
16543 "cmd-opts" : {
16544 "default" : "",
16545 "description" : "Add parameters to a command. Encoded as null terminated strings.",
16546 "optional" : 1,
16547 "requires" : "cmd",
16548 "type" : "string",
16549 "typetext" : "<string>"
16550 },
9fda36b0
DM
16551 "node" : {
16552 "description" : "The cluster node name.",
16553 "format" : "pve-node",
16554 "type" : "string",
16555 "typetext" : "<string>"
9fda36b0
DM
16556 }
16557 }
16558 },
274b47fc
DM
16559 "permissions" : {
16560 "check" : [
16561 "admin"
16562 ]
16563 },
9fda36b0
DM
16564 "protected" : 1,
16565 "returns" : {
16566 "additionalProperties" : 0,
16567 "properties" : {
16568 "port" : {
16569 "type" : "integer"
16570 },
16571 "ticket" : {
16572 "type" : "string"
16573 },
16574 "upid" : {
16575 "type" : "string"
16576 },
16577 "user" : {
16578 "type" : "string"
16579 }
16580 }
16581 }
16582 }
16583 },
16584 "leaf" : 1,
274b47fc
DM
16585 "path" : "/nodes/{node}/termproxy",
16586 "text" : "termproxy"
9fda36b0
DM
16587 },
16588 {
16589 "info" : {
16590 "GET" : {
6bd70b95 16591 "allowtoken" : 1,
9fda36b0
DM
16592 "description" : "Opens a weksocket for VNC traffic.",
16593 "method" : "GET",
16594 "name" : "vncwebsocket",
16595 "parameters" : {
16596 "additionalProperties" : 0,
16597 "properties" : {
16598 "node" : {
16599 "description" : "The cluster node name.",
16600 "format" : "pve-node",
16601 "type" : "string",
16602 "typetext" : "<string>"
16603 },
16604 "port" : {
16605 "description" : "Port number returned by previous vncproxy call.",
16606 "maximum" : 5999,
16607 "minimum" : 5900,
16608 "type" : "integer",
16609 "typetext" : "<integer> (5900 - 5999)"
16610 },
16611 "vncticket" : {
16612 "description" : "Ticket from previous call to vncproxy.",
16613 "maxLength" : 512,
16614 "type" : "string",
16615 "typetext" : "<string>"
16616 }
16617 }
16618 },
274b47fc
DM
16619 "permissions" : {
16620 "check" : [
16621 "admin"
16622 ]
16623 },
9fda36b0
DM
16624 "returns" : {
16625 "properties" : {
16626 "port" : {
16627 "type" : "string"
16628 }
16629 },
16630 "type" : "object"
16631 }
16632 }
16633 },
16634 "leaf" : 1,
16635 "path" : "/nodes/{node}/vncwebsocket",
16636 "text" : "vncwebsocket"
16637 },
16638 {
16639 "info" : {
16640 "GET" : {
6bd70b95 16641 "allowtoken" : 1,
9fda36b0
DM
16642 "description" : "Read DNS settings.",
16643 "method" : "GET",
16644 "name" : "dns",
16645 "parameters" : {
16646 "additionalProperties" : 0,
16647 "properties" : {
16648 "node" : {
16649 "description" : "The cluster node name.",
16650 "format" : "pve-node",
16651 "type" : "string",
16652 "typetext" : "<string>"
16653 }
16654 }
16655 },
732d76e1
DM
16656 "permissions" : {
16657 "check" : [
16658 "admin",
16659 "audit"
16660 ]
16661 },
9fda36b0
DM
16662 "proxyto" : "node",
16663 "returns" : {
16664 "additionalProperties" : 0,
16665 "properties" : {
16666 "dns1" : {
16667 "description" : "First name server IP address.",
16668 "optional" : 1,
16669 "type" : "string"
16670 },
16671 "dns2" : {
16672 "description" : "Second name server IP address.",
16673 "optional" : 1,
16674 "type" : "string"
16675 },
16676 "dns3" : {
16677 "description" : "Third name server IP address.",
16678 "optional" : 1,
16679 "type" : "string"
16680 },
16681 "search" : {
16682 "description" : "Search domain for host-name lookup.",
16683 "optional" : 1,
16684 "type" : "string"
16685 }
16686 },
16687 "type" : "object"
16688 }
16689 },
16690 "PUT" : {
6bd70b95 16691 "allowtoken" : 1,
9fda36b0
DM
16692 "description" : "Write DNS settings.",
16693 "method" : "PUT",
16694 "name" : "update_dns",
16695 "parameters" : {
16696 "additionalProperties" : 0,
16697 "properties" : {
16698 "dns1" : {
16699 "description" : "First name server IP address.",
16700 "format" : "ip",
16701 "optional" : 1,
16702 "type" : "string",
16703 "typetext" : "<string>"
16704 },
16705 "dns2" : {
16706 "description" : "Second name server IP address.",
16707 "format" : "ip",
16708 "optional" : 1,
16709 "type" : "string",
16710 "typetext" : "<string>"
16711 },
16712 "dns3" : {
16713 "description" : "Third name server IP address.",
16714 "format" : "ip",
16715 "optional" : 1,
16716 "type" : "string",
16717 "typetext" : "<string>"
16718 },
16719 "node" : {
16720 "description" : "The cluster node name.",
16721 "format" : "pve-node",
16722 "type" : "string",
16723 "typetext" : "<string>"
16724 },
16725 "search" : {
16726 "description" : "Search domain for host-name lookup.",
16727 "type" : "string",
16728 "typetext" : "<string>"
16729 }
16730 }
16731 },
16732 "protected" : 1,
16733 "proxyto" : "node",
16734 "returns" : {
16735 "type" : "null"
16736 }
16737 }
16738 },
16739 "leaf" : 1,
16740 "path" : "/nodes/{node}/dns",
16741 "text" : "dns"
16742 },
16743 {
16744 "info" : {
16745 "GET" : {
6bd70b95 16746 "allowtoken" : 1,
9fda36b0
DM
16747 "description" : "Read server time and time zone settings.",
16748 "method" : "GET",
16749 "name" : "time",
16750 "parameters" : {
16751 "additionalProperties" : 0,
16752 "properties" : {
16753 "node" : {
16754 "description" : "The cluster node name.",
16755 "format" : "pve-node",
16756 "type" : "string",
16757 "typetext" : "<string>"
16758 }
16759 }
16760 },
732d76e1
DM
16761 "permissions" : {
16762 "check" : [
16763 "admin",
16764 "audit"
16765 ]
16766 },
9fda36b0
DM
16767 "proxyto" : "node",
16768 "returns" : {
16769 "additionalProperties" : 0,
16770 "properties" : {
16771 "localtime" : {
16772 "description" : "Seconds since 1970-01-01 00:00:00 (local time)",
16773 "minimum" : 1297163644,
16774 "type" : "integer"
16775 },
16776 "time" : {
16777 "description" : "Seconds since 1970-01-01 00:00:00 UTC.",
16778 "minimum" : 1297163644,
16779 "type" : "integer"
16780 },
16781 "timezone" : {
16782 "description" : "Time zone",
16783 "type" : "string"
16784 }
16785 },
16786 "type" : "object"
16787 }
16788 },
16789 "PUT" : {
6bd70b95 16790 "allowtoken" : 1,
9fda36b0
DM
16791 "description" : "Set time zone.",
16792 "method" : "PUT",
16793 "name" : "set_timezone",
16794 "parameters" : {
16795 "additionalProperties" : 0,
16796 "properties" : {
16797 "node" : {
16798 "description" : "The cluster node name.",
16799 "format" : "pve-node",
16800 "type" : "string",
16801 "typetext" : "<string>"
16802 },
16803 "timezone" : {
16804 "description" : "Time zone. The file '/usr/share/zoneinfo/zone.tab' contains the list of valid names.",
16805 "type" : "string",
16806 "typetext" : "<string>"
16807 }
16808 }
16809 },
16810 "protected" : 1,
16811 "proxyto" : "node",
16812 "returns" : {
16813 "type" : "null"
16814 }
16815 }
16816 },
16817 "leaf" : 1,
16818 "path" : "/nodes/{node}/time",
16819 "text" : "time"
16820 },
16821 {
16822 "info" : {
16823 "GET" : {
6bd70b95 16824 "allowtoken" : 1,
9fda36b0
DM
16825 "description" : "Read server status. This is used by the cluster manager to test the node health.",
16826 "method" : "GET",
16827 "name" : "status",
16828 "parameters" : {
16829 "additionalProperties" : 0,
16830 "properties" : {
16831 "node" : {
16832 "description" : "The cluster node name.",
16833 "format" : "pve-node",
16834 "type" : "string",
16835 "typetext" : "<string>"
16836 }
16837 }
16838 },
241ac83c
TL
16839 "permissions" : {
16840 "check" : [
16841 "admin",
16842 "qmanager",
16843 "audit"
16844 ]
16845 },
9fda36b0
DM
16846 "protected" : 1,
16847 "proxyto" : "node",
16848 "returns" : {
16849 "additionalProperties" : 1,
16850 "properties" : {
29f6d740
TL
16851 "boot-info" : {
16852 "description" : "Meta-information about the boot mode.",
16853 "properties" : {
16854 "mode" : {
16855 "description" : "Through which firmware the system got booted.",
16856 "enum" : [
16857 "efi",
16858 "legacy-bios"
16859 ],
16860 "type" : "string"
16861 },
16862 "secureboot" : {
16863 "description" : "System is booted in secure mode, only applicable for the \"efi\" mode.",
16864 "optional" : 1,
16865 "type" : "boolean"
16866 }
16867 },
16868 "type" : "object"
16869 },
16870 "current-kernel" : {
16871 "description" : "Meta-information about the currently booted kernel.",
16872 "properties" : {
16873 "machine" : {
16874 "description" : "Hardware (architecture) type",
16875 "type" : "string"
16876 },
16877 "release" : {
16878 "description" : "OS kernel release (e.g., \"6.8.0\")",
16879 "type" : "string"
16880 },
16881 "sysname" : {
16882 "description" : "OS kernel name (e.g., \"Linux\")",
16883 "type" : "string"
16884 },
16885 "version" : {
16886 "description" : "OS kernel version with build info",
16887 "type" : "string"
16888 }
16889 },
16890 "type" : "object"
16891 },
9fda36b0
DM
16892 "insync" : {
16893 "description" : "Database is synced with other nodes.",
16894 "type" : "boolean"
16895 },
16896 "time" : {
16897 "description" : "Seconds since 1970-01-01 00:00:00 UTC.",
16898 "minimum" : 1297163644,
16899 "type" : "integer"
16900 },
16901 "uptime" : {
16902 "description" : "The uptime of the system in seconds.",
16903 "minimum" : 0,
16904 "type" : "integer"
16905 }
16906 },
16907 "type" : "object"
16908 }
274b47fc
DM
16909 },
16910 "POST" : {
6bd70b95 16911 "allowtoken" : 1,
274b47fc
DM
16912 "description" : "Reboot or shutdown a node.",
16913 "method" : "POST",
16914 "name" : "node_cmd",
16915 "parameters" : {
16916 "additionalProperties" : 0,
16917 "properties" : {
16918 "command" : {
16919 "description" : "Specify the command.",
16920 "enum" : [
16921 "reboot",
16922 "shutdown"
16923 ],
16924 "type" : "string"
16925 },
16926 "node" : {
16927 "description" : "The cluster node name.",
16928 "format" : "pve-node",
16929 "type" : "string",
16930 "typetext" : "<string>"
16931 }
16932 }
16933 },
16934 "permissions" : {
16935 "check" : [
16936 "admin"
16937 ]
16938 },
16939 "protected" : 1,
16940 "proxyto" : "node",
16941 "returns" : {
16942 "type" : "null"
16943 }
9fda36b0
DM
16944 }
16945 },
16946 "leaf" : 1,
16947 "path" : "/nodes/{node}/status",
16948 "text" : "status"
16949 }
16950 ],
16951 "info" : {
16952 "GET" : {
6bd70b95 16953 "allowtoken" : 1,
9fda36b0
DM
16954 "description" : "Node index.",
16955 "method" : "GET",
16956 "name" : "index",
16957 "parameters" : {
16958 "additionalProperties" : 0,
16959 "properties" : {
16960 "node" : {
16961 "description" : "The cluster node name.",
16962 "format" : "pve-node",
16963 "type" : "string",
16964 "typetext" : "<string>"
16965 }
16966 }
16967 },
16968 "permissions" : {
16969 "user" : "all"
16970 },
16971 "returns" : {
16972 "items" : {
16973 "properties" : {},
16974 "type" : "object"
16975 },
16976 "links" : [
16977 {
16978 "href" : "{name}",
16979 "rel" : "child"
16980 }
16981 ],
16982 "type" : "array"
16983 }
16984 }
16985 },
16986 "leaf" : 0,
16987 "path" : "/nodes/{node}",
16988 "text" : "{node}"
16989 }
16990 ],
16991 "info" : {
16992 "GET" : {
6bd70b95 16993 "allowtoken" : 1,
9fda36b0
DM
16994 "description" : "Cluster node index.",
16995 "method" : "GET",
16996 "name" : "index",
16997 "parameters" : {
16998 "additionalProperties" : 0
16999 },
17000 "permissions" : {
17001 "user" : "all"
17002 },
17003 "returns" : {
17004 "items" : {
17005 "properties" : {},
17006 "type" : "object"
17007 },
17008 "links" : [
17009 {
17010 "href" : "{node}",
17011 "rel" : "child"
17012 }
17013 ],
17014 "type" : "array"
17015 }
17016 }
17017 },
17018 "leaf" : 0,
17019 "path" : "/nodes",
17020 "text" : "nodes"
17021 },
17022 {
17023 "children" : [
17024 {
17025 "children" : [
17026 {
cbd73e8f
TL
17027 "children" : [
17028 {
17029 "info" : {
17030 "PUT" : {
17031 "allowtoken" : 1,
17032 "description" : "Unlock a user's TFA authentication.",
17033 "method" : "PUT",
17034 "name" : "unlock_tfa",
17035 "parameters" : {
17036 "additionalProperties" : 0,
17037 "properties" : {
17038 "userid" : {
17039 "description" : "User ID",
17040 "format" : "pmg-userid",
17041 "maxLength" : 64,
17042 "minLength" : 4,
17043 "type" : "string",
17044 "typetext" : "<string>"
17045 }
17046 }
17047 },
17048 "permissions" : {
17049 "check" : [
17050 "admin"
17051 ]
17052 },
17053 "protected" : 1,
17054 "returns" : {
17055 "type" : "boolean"
17056 }
17057 }
17058 },
17059 "leaf" : 1,
17060 "path" : "/access/users/{userid}/unlock-tfa",
17061 "text" : "unlock-tfa"
17062 }
17063 ],
9fda36b0
DM
17064 "info" : {
17065 "DELETE" : {
6bd70b95 17066 "allowtoken" : 1,
9fda36b0
DM
17067 "description" : "Delete a user.",
17068 "method" : "DELETE",
17069 "name" : "delete",
17070 "parameters" : {
17071 "additionalProperties" : 0,
17072 "properties" : {
17073 "userid" : {
17074 "description" : "User ID",
17075 "format" : "pmg-userid",
17076 "maxLength" : 64,
17077 "minLength" : 4,
17078 "type" : "string",
17079 "typetext" : "<string>"
17080 }
17081 }
17082 },
17083 "protected" : 1,
17084 "proxyto" : "master",
17085 "returns" : {
17086 "type" : "null"
17087 }
17088 },
17089 "GET" : {
6bd70b95 17090 "allowtoken" : 1,
9fda36b0
DM
17091 "description" : "Read User data.",
17092 "method" : "GET",
17093 "name" : "read",
17094 "parameters" : {
17095 "additionalProperties" : 0,
17096 "properties" : {
17097 "userid" : {
17098 "description" : "User ID",
17099 "format" : "pmg-userid",
17100 "maxLength" : 64,
17101 "minLength" : 4,
17102 "type" : "string",
17103 "typetext" : "<string>"
17104 }
17105 }
17106 },
4a46ced6
DM
17107 "permissions" : {
17108 "check" : [
17109 "admin",
17110 "qmanager",
17111 "audit"
17112 ]
17113 },
9fda36b0
DM
17114 "protected" : 1,
17115 "proxyto" : "master",
17116 "returns" : {
9fda36b0
DM
17117 "type" : "object"
17118 }
17119 },
e0e71e6a
TL
17120 "PUT" : {
17121 "allowtoken" : 1,
17122 "description" : "Update user data.",
17123 "method" : "PUT",
17124 "name" : "write",
17125 "parameters" : {
17126 "additionalProperties" : 0,
17127 "properties" : {
17128 "comment" : {
17129 "description" : "Comment.",
17130 "optional" : 1,
17131 "type" : "string",
17132 "typetext" : "<string>"
17133 },
17134 "crypt_pass" : {
17135 "description" : "Encrypted password (see `man crypt`)",
17136 "optional" : 1,
17137 "pattern" : "\\$\\d\\$[a-zA-Z0-9\\.\\/]+\\$[a-zA-Z0-9\\.\\/]+",
17138 "type" : "string"
17139 },
17140 "delete" : {
17141 "description" : "A list of settings you want to delete.",
17142 "format" : "pve-configid-list",
17143 "maxLength" : 4096,
17144 "optional" : 1,
17145 "type" : "string",
17146 "typetext" : "<string>"
17147 },
17148 "email" : {
17149 "description" : "Users E-Mail address.",
17150 "format" : "email",
17151 "optional" : 1,
17152 "type" : "string",
17153 "typetext" : "<string>"
17154 },
17155 "enable" : {
17156 "default" : 0,
17157 "description" : "Flag to enable or disable the account.",
17158 "optional" : 1,
17159 "type" : "boolean",
17160 "typetext" : "<boolean>"
17161 },
17162 "expire" : {
17163 "default" : 0,
17164 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
17165 "minimum" : 0,
17166 "optional" : 1,
17167 "type" : "integer",
17168 "typetext" : "<integer> (0 - N)"
17169 },
17170 "firstname" : {
17171 "description" : "First name.",
17172 "maxLength" : 64,
17173 "optional" : 1,
17174 "type" : "string",
17175 "typetext" : "<string>"
17176 },
17177 "keys" : {
17178 "description" : "Keys for two factor auth (yubico).",
17179 "maxLength" : 128,
17180 "optional" : 1,
17181 "type" : "string",
17182 "typetext" : "<string>"
17183 },
17184 "lastname" : {
17185 "description" : "Last name.",
17186 "maxLength" : 64,
17187 "optional" : 1,
17188 "type" : "string",
17189 "typetext" : "<string>"
17190 },
17191 "password" : {
17192 "description" : "Password",
17193 "maxLength" : 32,
17194 "minLength" : 5,
17195 "optional" : 1,
17196 "type" : "string",
17197 "typetext" : "<string>"
17198 },
17199 "role" : {
17200 "description" : "User role. Role 'root' is reserved for the Unix Superuser.",
17201 "enum" : [
17202 "root",
17203 "admin",
17204 "helpdesk",
17205 "qmanager",
17206 "audit"
17207 ],
17208 "optional" : 1,
17209 "type" : "string"
17210 },
17211 "userid" : {
17212 "description" : "User ID",
17213 "format" : "pmg-userid",
17214 "maxLength" : 64,
17215 "minLength" : 4,
17216 "type" : "string",
17217 "typetext" : "<string>"
17218 }
17219 }
17220 },
17221 "protected" : 1,
17222 "proxyto" : "master",
17223 "returns" : {
17224 "type" : "null"
17225 }
17226 }
17227 },
cbd73e8f 17228 "leaf" : 0,
e0e71e6a
TL
17229 "path" : "/access/users/{userid}",
17230 "text" : "{userid}"
17231 }
17232 ],
17233 "info" : {
17234 "GET" : {
17235 "allowtoken" : 1,
17236 "description" : "List users.",
17237 "method" : "GET",
17238 "name" : "index",
17239 "parameters" : {
17240 "additionalProperties" : 0
17241 },
17242 "permissions" : {
17243 "check" : [
17244 "admin",
17245 "qmanager",
17246 "audit"
17247 ]
17248 },
17249 "protected" : 1,
17250 "proxyto" : "master",
17251 "returns" : {
17252 "items" : {
17253 "properties" : {
17254 "comment" : {
17255 "optional" : 1,
17256 "type" : "string"
17257 },
17258 "enable" : {
17259 "type" : "boolean"
17260 },
17261 "role" : {
17262 "type" : "string"
17263 },
cbd73e8f
TL
17264 "tfa-locked-until" : {
17265 "description" : "Contains a timestamp until when a user is locked out of 2nd factors.",
17266 "optional" : 1,
17267 "type" : "integer"
17268 },
17269 "totp-locked" : {
17270 "description" : "True if the user is currently locked out of TOTP factors.",
17271 "optional" : 1,
17272 "type" : "boolean"
17273 },
e0e71e6a
TL
17274 "userid" : {
17275 "type" : "string"
17276 }
17277 },
17278 "type" : "object"
17279 },
17280 "links" : [
17281 {
17282 "href" : "{userid}",
17283 "rel" : "child"
17284 }
17285 ],
17286 "type" : "array"
17287 }
17288 },
17289 "POST" : {
17290 "allowtoken" : 1,
17291 "description" : "Create new user",
17292 "method" : "POST",
17293 "name" : "create",
17294 "parameters" : {
17295 "additionalProperties" : 0,
17296 "properties" : {
17297 "comment" : {
17298 "description" : "Comment.",
17299 "optional" : 1,
17300 "type" : "string",
17301 "typetext" : "<string>"
17302 },
17303 "crypt_pass" : {
17304 "description" : "Encrypted password (see `man crypt`)",
17305 "optional" : 1,
17306 "pattern" : "\\$\\d\\$[a-zA-Z0-9\\.\\/]+\\$[a-zA-Z0-9\\.\\/]+",
17307 "type" : "string"
17308 },
17309 "email" : {
17310 "description" : "Users E-Mail address.",
17311 "format" : "email",
17312 "optional" : 1,
17313 "type" : "string",
17314 "typetext" : "<string>"
17315 },
17316 "enable" : {
17317 "default" : 0,
17318 "description" : "Flag to enable or disable the account.",
17319 "optional" : 1,
17320 "type" : "boolean",
17321 "typetext" : "<boolean>"
17322 },
17323 "expire" : {
17324 "default" : 0,
17325 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
17326 "minimum" : 0,
17327 "optional" : 1,
17328 "type" : "integer",
17329 "typetext" : "<integer> (0 - N)"
17330 },
17331 "firstname" : {
17332 "description" : "First name.",
17333 "maxLength" : 64,
17334 "optional" : 1,
17335 "type" : "string",
17336 "typetext" : "<string>"
17337 },
17338 "keys" : {
17339 "description" : "Keys for two factor auth (yubico).",
17340 "maxLength" : 128,
17341 "optional" : 1,
17342 "type" : "string",
17343 "typetext" : "<string>"
17344 },
17345 "lastname" : {
17346 "description" : "Last name.",
17347 "maxLength" : 64,
17348 "optional" : 1,
17349 "type" : "string",
17350 "typetext" : "<string>"
17351 },
17352 "password" : {
17353 "description" : "Password",
17354 "maxLength" : 32,
17355 "minLength" : 5,
17356 "optional" : 1,
17357 "type" : "string",
17358 "typetext" : "<string>"
17359 },
17360 "role" : {
17361 "description" : "User role. Role 'root' is reserved for the Unix Superuser.",
17362 "enum" : [
17363 "root",
17364 "admin",
17365 "helpdesk",
17366 "qmanager",
17367 "audit"
17368 ],
17369 "type" : "string"
17370 },
17371 "userid" : {
17372 "description" : "User ID",
17373 "format" : "pmg-userid",
17374 "maxLength" : 64,
17375 "minLength" : 4,
17376 "type" : "string",
17377 "typetext" : "<string>"
17378 }
17379 }
17380 },
17381 "protected" : 1,
17382 "proxyto" : "master",
17383 "returns" : {
17384 "type" : "null"
17385 }
17386 }
17387 },
17388 "leaf" : 0,
17389 "path" : "/access/users",
17390 "text" : "users"
17391 },
17392 {
17393 "children" : [
17394 {
17395 "children" : [
17396 {
17397 "info" : {
17398 "DELETE" : {
17399 "allowtoken" : 0,
17400 "description" : "Delete a TFA entry by ID.",
17401 "method" : "DELETE",
17402 "name" : "delete_tfa",
17403 "parameters" : {
17404 "additionalProperties" : 0,
17405 "properties" : {
17406 "id" : {
17407 "description" : "A TFA entry id.",
17408 "type" : "string",
17409 "typetext" : "<string>"
17410 },
17411 "password" : {
17412 "description" : "The current password.",
17413 "maxLength" : 64,
17414 "minLength" : 5,
17415 "optional" : 1,
17416 "type" : "string",
17417 "typetext" : "<string>"
17418 },
17419 "userid" : {
17420 "description" : "User ID",
17421 "format" : "pmg-userid",
17422 "maxLength" : 64,
17423 "minLength" : 4,
17424 "type" : "string",
17425 "typetext" : "<string>"
17426 }
17427 }
17428 },
17429 "permissions" : {
17430 "check" : [
17431 "admin",
17432 "qmanager",
17433 "audit"
17434 ],
17435 "description" : "Each user is allowed to modify their own TFA entries. Only root can modify entries of another user."
17436 },
17437 "protected" : 1,
17438 "proxyto" : "master",
17439 "returns" : {
17440 "type" : "null"
17441 }
17442 },
17443 "GET" : {
17444 "allowtoken" : 0,
17445 "description" : "Fetch a requested TFA entry if present.",
17446 "method" : "GET",
17447 "name" : "get_tfa_entry",
17448 "parameters" : {
17449 "additionalProperties" : 0,
17450 "properties" : {
17451 "id" : {
17452 "description" : "A TFA entry id.",
17453 "type" : "string",
17454 "typetext" : "<string>"
17455 },
17456 "userid" : {
17457 "description" : "User ID",
17458 "format" : "pmg-userid",
17459 "maxLength" : 64,
17460 "minLength" : 4,
17461 "type" : "string",
17462 "typetext" : "<string>"
17463 }
17464 }
17465 },
17466 "permissions" : {
17467 "description" : "Each user is allowed to view their own TFA entries. Only root can view entries of another user.",
17468 "user" : "all"
17469 },
17470 "protected" : 1,
17471 "proxyto" : "master",
17472 "returns" : {
17473 "description" : "TFA Entry.",
17474 "properties" : {
17475 "created" : {
17476 "description" : "Creation time of this entry as unix epoch.",
17477 "type" : "integer"
17478 },
17479 "description" : {
17480 "description" : "User chosen description for this entry.",
17481 "type" : "string"
17482 },
17483 "enable" : {
17484 "default" : 1,
17485 "description" : "Whether this TFA entry is currently enabled.",
17486 "optional" : 1,
17487 "type" : "boolean"
17488 },
17489 "id" : {
17490 "description" : "The id used to reference this entry.",
17491 "type" : "string"
17492 },
17493 "type" : {
17494 "description" : "TFA Entry Type.",
17495 "enum" : [
17496 "totp",
17497 "u2f",
17498 "webauthn",
17499 "recovery"
17500 ],
17501 "type" : "string"
17502 }
17503 },
17504 "type" : "object"
17505 }
17506 },
17507 "PUT" : {
17508 "allowtoken" : 0,
17509 "description" : "Add a TFA entry for a user.",
17510 "method" : "PUT",
17511 "name" : "update_tfa_entry",
17512 "parameters" : {
17513 "additionalProperties" : 0,
17514 "properties" : {
17515 "description" : {
17516 "description" : "A description to distinguish multiple entries from one another",
17517 "maxLength" : 255,
17518 "optional" : 1,
17519 "type" : "string",
17520 "typetext" : "<string>"
17521 },
17522 "enable" : {
17523 "description" : "Whether the entry should be enabled for login.",
17524 "optional" : 1,
17525 "type" : "boolean",
17526 "typetext" : "<boolean>"
17527 },
17528 "id" : {
17529 "description" : "A TFA entry id.",
17530 "type" : "string",
17531 "typetext" : "<string>"
17532 },
17533 "password" : {
17534 "description" : "The current password.",
17535 "maxLength" : 64,
17536 "minLength" : 5,
17537 "optional" : 1,
17538 "type" : "string",
17539 "typetext" : "<string>"
17540 },
17541 "userid" : {
17542 "description" : "User ID",
17543 "format" : "pmg-userid",
17544 "maxLength" : 64,
17545 "minLength" : 4,
17546 "type" : "string",
17547 "typetext" : "<string>"
17548 }
17549 }
17550 },
17551 "permissions" : {
17552 "check" : [
17553 "admin",
17554 "qmanager",
17555 "audit"
17556 ],
17557 "description" : "Each user is allowed to modify their own TFA entries. Only root can modify entries of another user."
17558 },
17559 "protected" : 1,
17560 "proxyto" : "master",
17561 "returns" : {
17562 "type" : "null"
17563 }
17564 }
17565 },
17566 "leaf" : 1,
17567 "path" : "/access/tfa/{userid}/{id}",
17568 "text" : "{id}"
17569 }
17570 ],
17571 "info" : {
17572 "GET" : {
17573 "allowtoken" : 0,
17574 "description" : "List TFA configurations of users.",
17575 "method" : "GET",
17576 "name" : "list_user_tfa",
17577 "parameters" : {
17578 "additionalProperties" : 0,
17579 "properties" : {
17580 "userid" : {
17581 "description" : "User ID",
17582 "format" : "pmg-userid",
17583 "maxLength" : 64,
17584 "minLength" : 4,
17585 "type" : "string",
17586 "typetext" : "<string>"
17587 }
17588 }
17589 },
17590 "permissions" : {
17591 "description" : "Each user is allowed to view their own TFA entries. Only root can view entries of another user.",
17592 "user" : "all"
17593 },
17594 "protected" : 1,
17595 "proxyto" : "master",
17596 "returns" : {
17597 "description" : "A list of the user's TFA entries.",
17598 "items" : {
17599 "description" : "TFA Entry.",
17600 "properties" : {
17601 "created" : {
17602 "description" : "Creation time of this entry as unix epoch.",
17603 "type" : "integer"
17604 },
17605 "description" : {
17606 "description" : "User chosen description for this entry.",
17607 "type" : "string"
17608 },
17609 "enable" : {
17610 "default" : 1,
17611 "description" : "Whether this TFA entry is currently enabled.",
17612 "optional" : 1,
17613 "type" : "boolean"
17614 },
17615 "id" : {
17616 "description" : "The id used to reference this entry.",
17617 "type" : "string"
17618 },
17619 "type" : {
17620 "description" : "TFA Entry Type.",
17621 "enum" : [
17622 "totp",
17623 "u2f",
17624 "webauthn",
17625 "recovery"
17626 ],
17627 "type" : "string"
17628 }
17629 },
17630 "type" : "object"
17631 },
17632 "type" : "array"
17633 }
17634 },
17635 "POST" : {
17636 "allowtoken" : 0,
17637 "description" : "Add a TFA entry for a user.",
17638 "method" : "POST",
17639 "name" : "add_tfa_entry",
9fda36b0
DM
17640 "parameters" : {
17641 "additionalProperties" : 0,
17642 "properties" : {
e0e71e6a
TL
17643 "challenge" : {
17644 "description" : "When responding to a u2f challenge: the original challenge string",
9fda36b0
DM
17645 "optional" : 1,
17646 "type" : "string",
17647 "typetext" : "<string>"
17648 },
e0e71e6a
TL
17649 "description" : {
17650 "description" : "A description to distinguish multiple entries from one another",
17651 "maxLength" : 255,
9fda36b0
DM
17652 "optional" : 1,
17653 "type" : "string",
17654 "typetext" : "<string>"
17655 },
e0e71e6a
TL
17656 "password" : {
17657 "description" : "The current password.",
9fda36b0 17658 "maxLength" : 64,
e0e71e6a 17659 "minLength" : 5,
9fda36b0
DM
17660 "optional" : 1,
17661 "type" : "string",
17662 "typetext" : "<string>"
17663 },
e0e71e6a
TL
17664 "totp" : {
17665 "description" : "A totp URI.",
9fda36b0
DM
17666 "optional" : 1,
17667 "type" : "string",
17668 "typetext" : "<string>"
17669 },
e0e71e6a
TL
17670 "type" : {
17671 "description" : "TFA Entry Type.",
9fda36b0 17672 "enum" : [
e0e71e6a
TL
17673 "totp",
17674 "u2f",
17675 "webauthn",
17676 "recovery"
9fda36b0 17677 ],
9fda36b0
DM
17678 "type" : "string"
17679 },
17680 "userid" : {
17681 "description" : "User ID",
17682 "format" : "pmg-userid",
17683 "maxLength" : 64,
17684 "minLength" : 4,
17685 "type" : "string",
17686 "typetext" : "<string>"
e0e71e6a
TL
17687 },
17688 "value" : {
17689 "description" : "The current value for the provided totp URI, or a Webauthn/U2F challenge response",
17690 "optional" : 1,
17691 "type" : "string",
17692 "typetext" : "<string>"
9fda36b0
DM
17693 }
17694 }
17695 },
e0e71e6a
TL
17696 "permissions" : {
17697 "check" : [
17698 "admin",
17699 "qmanager",
17700 "audit"
17701 ],
17702 "description" : "Each user is allowed to modify their own TFA entries. Only root can modify entries of another user."
17703 },
9fda36b0
DM
17704 "protected" : 1,
17705 "proxyto" : "master",
17706 "returns" : {
e0e71e6a
TL
17707 "properties" : {
17708 "challenge" : {
17709 "description" : "When adding u2f entries, this contains a challenge the user must respond to in order to finish the registration.",
17710 "optional" : 1,
17711 "type" : "string"
17712 },
17713 "id" : {
17714 "description" : "The id of a newly added TFA entry.",
17715 "type" : "string"
17716 },
17717 "recovery" : {
17718 "description" : "When adding recovery codes, this contains the list of codes to be displayed to the user",
17719 "items" : {
17720 "description" : "A recovery entry.",
17721 "type" : "string"
17722 },
17723 "optional" : 1,
17724 "type" : "array"
17725 }
17726 },
17727 "type" : "object"
9fda36b0
DM
17728 }
17729 }
17730 },
e0e71e6a
TL
17731 "leaf" : 0,
17732 "path" : "/access/tfa/{userid}",
9fda36b0
DM
17733 "text" : "{userid}"
17734 }
17735 ],
17736 "info" : {
17737 "GET" : {
e0e71e6a
TL
17738 "allowtoken" : 0,
17739 "description" : "List TFA configurations of users.",
9fda36b0 17740 "method" : "GET",
e0e71e6a 17741 "name" : "list_tfa",
9fda36b0
DM
17742 "parameters" : {
17743 "additionalProperties" : 0
17744 },
17745 "permissions" : {
e0e71e6a
TL
17746 "description" : "Returns all or just the logged-in user, depending on privileges.",
17747 "user" : "all"
9fda36b0
DM
17748 },
17749 "protected" : 1,
17750 "proxyto" : "master",
17751 "returns" : {
e0e71e6a 17752 "description" : "The list tuples of user and TFA entries.",
9fda36b0
DM
17753 "items" : {
17754 "properties" : {
e0e71e6a
TL
17755 "entries" : {
17756 "items" : {
17757 "description" : "TFA Entry.",
17758 "properties" : {
17759 "created" : {
17760 "description" : "Creation time of this entry as unix epoch.",
17761 "type" : "integer"
17762 },
17763 "description" : {
17764 "description" : "User chosen description for this entry.",
17765 "type" : "string"
17766 },
17767 "enable" : {
17768 "default" : 1,
17769 "description" : "Whether this TFA entry is currently enabled.",
17770 "optional" : 1,
17771 "type" : "boolean"
17772 },
17773 "id" : {
17774 "description" : "The id used to reference this entry.",
17775 "type" : "string"
17776 },
17777 "type" : {
17778 "description" : "TFA Entry Type.",
17779 "enum" : [
17780 "totp",
17781 "u2f",
17782 "webauthn",
17783 "recovery"
17784 ],
17785 "type" : "string"
17786 }
17787 },
17788 "type" : "object"
17789 },
17790 "type" : "array"
9fda36b0 17791 },
cbd73e8f
TL
17792 "tfa-locked-until" : {
17793 "description" : "Contains a timestamp until when a user is locked out of 2nd factors.",
17794 "optional" : 1,
17795 "type" : "integer"
17796 },
17797 "totp-locked" : {
17798 "description" : "True if the user is currently locked out of TOTP factors.",
17799 "optional" : 1,
17800 "type" : "boolean"
17801 },
9fda36b0 17802 "userid" : {
e0e71e6a 17803 "description" : "User this entry belongs to.",
9fda36b0
DM
17804 "type" : "string"
17805 }
17806 },
17807 "type" : "object"
17808 },
9fda36b0
DM
17809 "type" : "array"
17810 }
9fda36b0
DM
17811 }
17812 },
17813 "leaf" : 0,
e0e71e6a
TL
17814 "path" : "/access/tfa",
17815 "text" : "tfa"
9fda36b0
DM
17816 },
17817 {
17818 "info" : {
17819 "GET" : {
6bd70b95 17820 "allowtoken" : 1,
cbd73e8f 17821 "description" : "Dummy. Useful for formatters which want to priovde a login page.",
9fda36b0
DM
17822 "method" : "GET",
17823 "name" : "get_ticket",
17824 "parameters" : {
17825 "additionalProperties" : 0
17826 },
17827 "permissions" : {
17828 "user" : "world"
17829 },
17830 "returns" : {
17831 "type" : "null"
17832 }
a55e94a6 17833 },
9fda36b0 17834 "POST" : {
6bd70b95 17835 "allowtoken" : 1,
9fda36b0
DM
17836 "description" : "Create or verify authentication ticket.",
17837 "method" : "POST",
17838 "name" : "create_ticket",
17839 "parameters" : {
17840 "additionalProperties" : 0,
17841 "properties" : {
17842 "otp" : {
17843 "description" : "One-time password for Two-factor authentication.",
17844 "optional" : 1,
17845 "type" : "string",
17846 "typetext" : "<string>"
410dc2c9 17847 },
9fda36b0
DM
17848 "password" : {
17849 "description" : "The secret password. This can also be a valid ticket.",
17850 "type" : "string",
17851 "typetext" : "<string>"
17852 },
274b47fc
DM
17853 "path" : {
17854 "description" : "Verify ticket, and check if user have access on 'path'",
17855 "maxLength" : 64,
17856 "optional" : 1,
17857 "type" : "string",
17858 "typetext" : "<string>"
17859 },
9fda36b0
DM
17860 "realm" : {
17861 "description" : "You can optionally pass the realm using this parameter. Normally the realm is simply added to the username <username>@<relam>.",
732d76e1
DM
17862 "enum" : [
17863 "pam",
17864 "pmg",
17865 "quarantine"
17866 ],
9fda36b0
DM
17867 "maxLength" : 32,
17868 "optional" : 1,
732d76e1 17869 "type" : "string"
9fda36b0 17870 },
e0e71e6a
TL
17871 "tfa-challenge" : {
17872 "description" : "The signed TFA challenge string the user wants to respond to.",
17873 "optional" : 1,
17874 "type" : "string",
17875 "typetext" : "<string>"
17876 },
9fda36b0
DM
17877 "username" : {
17878 "description" : "User name",
17879 "maxLength" : 64,
17880 "type" : "string",
17881 "typetext" : "<string>"
17882 }
17883 }
17884 },
17885 "permissions" : {
17886 "description" : "You need to pass valid credientials.",
17887 "user" : "world"
17888 },
17889 "protected" : 1,
17890 "returns" : {
17891 "properties" : {
17892 "CSRFPreventionToken" : {
17893 "optional" : 1,
17894 "type" : "string"
17895 },
17896 "role" : {
17897 "optional" : 1,
17898 "type" : "string"
17899 },
17900 "ticket" : {
17901 "optional" : 1,
17902 "type" : "string"
17903 },
17904 "username" : {
17905 "type" : "string"
17906 }
17907 },
17908 "type" : "object"
17909 }
17910 }
17911 },
17912 "leaf" : 1,
17913 "path" : "/access/ticket",
17914 "text" : "ticket"
17915 },
17916 {
17917 "info" : {
17918 "PUT" : {
6bd70b95 17919 "allowtoken" : 1,
9fda36b0
DM
17920 "description" : "Change user password.",
17921 "method" : "PUT",
17922 "name" : "change_passsword",
17923 "parameters" : {
17924 "additionalProperties" : 0,
17925 "properties" : {
17926 "password" : {
17927 "description" : "The new password.",
17928 "maxLength" : 64,
17929 "minLength" : 5,
17930 "type" : "string",
17931 "typetext" : "<string>"
17932 },
17933 "userid" : {
17934 "description" : "User ID",
17935 "format" : "pmg-userid",
17936 "maxLength" : 64,
17937 "minLength" : 4,
17938 "type" : "string",
17939 "typetext" : "<string>"
410dc2c9
DM
17940 }
17941 }
17942 },
9fda36b0
DM
17943 "permissions" : {
17944 "description" : "Each user is allowed to change his own password. Only root can change the password of another user.",
17945 "user" : "all"
17946 },
17947 "protected" : 1,
17948 "returns" : {
17949 "type" : "null"
17950 }
17951 }
17952 },
17953 "leaf" : 1,
17954 "path" : "/access/password",
17955 "text" : "password"
17956 }
17957 ],
17958 "info" : {
17959 "GET" : {
6bd70b95 17960 "allowtoken" : 1,
9fda36b0
DM
17961 "description" : "Directory index.",
17962 "method" : "GET",
17963 "name" : "index",
17964 "parameters" : {
17965 "additionalProperties" : 0
17966 },
17967 "permissions" : {
17968 "user" : "all"
17969 },
17970 "returns" : {
17971 "items" : {
17972 "properties" : {
17973 "subdir" : {
17974 "type" : "string"
17975 }
17976 },
17977 "type" : "object"
410dc2c9 17978 },
9fda36b0
DM
17979 "links" : [
17980 {
17981 "href" : "{subdir}",
17982 "rel" : "child"
17983 }
17984 ],
17985 "type" : "array"
17986 }
17987 }
17988 },
17989 "leaf" : 0,
17990 "path" : "/access",
17991 "text" : "access"
17992 },
17993 {
17994 "children" : [
17995 {
9fda36b0 17996 "info" : {
549cfb68
TL
17997 "DELETE" : {
17998 "allowtoken" : 1,
17999 "description" : "Delete user whitelist entries.",
18000 "method" : "DELETE",
18001 "name" : "whitelist_delete_base",
18002 "parameters" : {
18003 "additionalProperties" : 0,
18004 "properties" : {
18005 "address" : {
18006 "description" : "The address, or comma-separated list of addresses, you want to remove.",
18007 "minLength" : 3,
18008 "pattern" : "",
18009 "type" : "string"
18010 },
18011 "pmail" : {
d8212759 18012 "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
18013 "maxLength" : 512,
18014 "minLength" : 3,
18015 "optional" : 1,
c5ccf1ab 18016 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
549cfb68
TL
18017 "type" : "string"
18018 }
18019 }
18020 },
18021 "permissions" : {
18022 "check" : [
18023 "admin",
18024 "qmanager",
18025 "audit",
18026 "quser"
18027 ]
18028 },
18029 "protected" : 1,
18030 "returns" : {
18031 "type" : "null"
18032 }
18033 },
9fda36b0 18034 "GET" : {
6bd70b95 18035 "allowtoken" : 1,
9fda36b0
DM
18036 "description" : "Show user whitelist.",
18037 "method" : "GET",
18038 "name" : "whitelist",
18039 "parameters" : {
18040 "additionalProperties" : 0,
18041 "properties" : {
18042 "pmail" : {
d8212759 18043 "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
18044 "maxLength" : 512,
18045 "minLength" : 3,
9fda36b0 18046 "optional" : 1,
c5ccf1ab 18047 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
241ac83c 18048 "type" : "string"
9fda36b0
DM
18049 }
18050 }
18051 },
18052 "permissions" : {
18053 "check" : [
18054 "admin",
18055 "qmanager",
18056 "audit",
18057 "quser"
18058 ]
18059 },
18060 "returns" : {
18061 "items" : {
18062 "properties" : {
18063 "address" : {
18064 "type" : "string"
410dc2c9
DM
18065 }
18066 },
9fda36b0
DM
18067 "type" : "object"
18068 },
18069 "type" : "array"
18070 }
18071 },
18072 "POST" : {
6bd70b95 18073 "allowtoken" : 1,
9fda36b0
DM
18074 "description" : "Add user whitelist entries.",
18075 "method" : "POST",
18076 "name" : "whitelist_add",
18077 "parameters" : {
18078 "additionalProperties" : 0,
18079 "properties" : {
18080 "address" : {
18081 "description" : "The address you want to add.",
9fda36b0 18082 "minLength" : 3,
241ac83c 18083 "pattern" : "(?:[^\\s\\/\\\\;\\,]+)(?:\\,[^\\s\\/\\\\;\\,]+)*",
9fda36b0
DM
18084 "type" : "string"
18085 },
18086 "pmail" : {
d8212759 18087 "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
18088 "maxLength" : 512,
18089 "minLength" : 3,
9fda36b0 18090 "optional" : 1,
c5ccf1ab 18091 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
241ac83c 18092 "type" : "string"
410dc2c9
DM
18093 }
18094 }
18095 },
9fda36b0
DM
18096 "permissions" : {
18097 "check" : [
18098 "admin",
18099 "qmanager",
18100 "audit",
18101 "quser"
18102 ]
18103 },
18104 "protected" : 1,
18105 "returns" : {
18106 "type" : "null"
18107 }
18108 }
18109 },
14ffe66b 18110 "leaf" : 1,
9fda36b0
DM
18111 "path" : "/quarantine/whitelist",
18112 "text" : "whitelist"
18113 },
18114 {
9fda36b0 18115 "info" : {
549cfb68
TL
18116 "DELETE" : {
18117 "allowtoken" : 1,
18118 "description" : "Delete user blacklist entries.",
18119 "method" : "DELETE",
18120 "name" : "blacklist_delete_base",
18121 "parameters" : {
18122 "additionalProperties" : 0,
18123 "properties" : {
18124 "address" : {
18125 "description" : "The address, or comma-separated list of addresses, you want to remove.",
18126 "minLength" : 3,
18127 "pattern" : "",
18128 "type" : "string"
18129 },
18130 "pmail" : {
d8212759 18131 "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
18132 "maxLength" : 512,
18133 "minLength" : 3,
18134 "optional" : 1,
c5ccf1ab 18135 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
549cfb68
TL
18136 "type" : "string"
18137 }
18138 }
18139 },
18140 "permissions" : {
18141 "check" : [
18142 "admin",
18143 "qmanager",
18144 "audit",
18145 "quser"
18146 ]
18147 },
18148 "protected" : 1,
18149 "returns" : {
18150 "type" : "null"
18151 }
18152 },
9fda36b0 18153 "GET" : {
6bd70b95 18154 "allowtoken" : 1,
9fda36b0
DM
18155 "description" : "Show user blacklist.",
18156 "method" : "GET",
18157 "name" : "blacklist",
18158 "parameters" : {
18159 "additionalProperties" : 0,
18160 "properties" : {
18161 "pmail" : {
d8212759 18162 "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
18163 "maxLength" : 512,
18164 "minLength" : 3,
9fda36b0 18165 "optional" : 1,
c5ccf1ab 18166 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
241ac83c 18167 "type" : "string"
9fda36b0
DM
18168 }
18169 }
18170 },
18171 "permissions" : {
18172 "check" : [
18173 "admin",
18174 "qmanager",
18175 "audit",
18176 "quser"
18177 ]
18178 },
18179 "returns" : {
18180 "items" : {
18181 "properties" : {
18182 "address" : {
18183 "type" : "string"
410dc2c9
DM
18184 }
18185 },
9fda36b0
DM
18186 "type" : "object"
18187 },
18188 "type" : "array"
18189 }
18190 },
18191 "POST" : {
6bd70b95 18192 "allowtoken" : 1,
9fda36b0
DM
18193 "description" : "Add user blacklist entries.",
18194 "method" : "POST",
18195 "name" : "blacklist_add",
18196 "parameters" : {
18197 "additionalProperties" : 0,
18198 "properties" : {
18199 "address" : {
18200 "description" : "The address you want to add.",
9fda36b0 18201 "minLength" : 3,
241ac83c 18202 "pattern" : "(?:[^\\s\\/\\\\;\\,]+)(?:\\,[^\\s\\/\\\\;\\,]+)*",
9fda36b0
DM
18203 "type" : "string"
18204 },
18205 "pmail" : {
d8212759 18206 "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
18207 "maxLength" : 512,
18208 "minLength" : 3,
9fda36b0 18209 "optional" : 1,
c5ccf1ab 18210 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
241ac83c 18211 "type" : "string"
9fda36b0
DM
18212 }
18213 }
18214 },
18215 "permissions" : {
18216 "check" : [
18217 "admin",
18218 "qmanager",
18219 "audit",
18220 "quser"
18221 ]
18222 },
18223 "protected" : 1,
18224 "returns" : {
18225 "type" : "null"
18226 }
18227 }
18228 },
14ffe66b 18229 "leaf" : 1,
9fda36b0
DM
18230 "path" : "/quarantine/blacklist",
18231 "text" : "blacklist"
18232 },
18233 {
18234 "info" : {
18235 "GET" : {
6bd70b95 18236 "allowtoken" : 1,
9fda36b0
DM
18237 "description" : "Get a list of receivers of spam in the given timespan (Default the last 24 hours).",
18238 "method" : "GET",
18239 "name" : "spamusers",
18240 "parameters" : {
18241 "additionalProperties" : 0,
18242 "properties" : {
18243 "endtime" : {
18244 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
18245 "minimum" : 1,
18246 "optional" : 1,
18247 "type" : "integer",
18248 "typetext" : "<integer> (1 - N)"
18249 },
f4831d94
TL
18250 "quarantine-type" : {
18251 "default" : "spam",
18252 "description" : "Query this type of quarantine for users.",
18253 "enum" : [
f4a381a1 18254 "spam",
29f6d740
TL
18255 "virus",
18256 "attachment"
f4831d94
TL
18257 ],
18258 "optional" : 1,
18259 "type" : "string"
18260 },
9fda36b0
DM
18261 "starttime" : {
18262 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
18263 "minimum" : 0,
18264 "optional" : 1,
18265 "type" : "integer",
18266 "typetext" : "<integer> (0 - N)"
410dc2c9 18267 }
9fda36b0
DM
18268 }
18269 },
18270 "permissions" : {
18271 "check" : [
18272 "admin",
18273 "qmanager",
18274 "audit"
18275 ]
18276 },
18277 "returns" : {
18278 "items" : {
18279 "properties" : {
18280 "mail" : {
18281 "description" : "the receiving email",
18282 "type" : "string"
18283 }
18284 },
18285 "type" : "object"
410dc2c9 18286 },
9fda36b0
DM
18287 "type" : "array"
18288 }
18289 }
18290 },
18291 "leaf" : 1,
18292 "path" : "/quarantine/spamusers",
18293 "text" : "spamusers"
18294 },
18295 {
18296 "info" : {
18297 "GET" : {
6bd70b95 18298 "allowtoken" : 1,
9fda36b0
DM
18299 "description" : "Get Spam Quarantine Status",
18300 "method" : "GET",
18301 "name" : "spamstatus",
18302 "parameters" : {
18303 "additionalProperties" : 0
18304 },
18305 "permissions" : {
18306 "check" : [
18307 "admin",
18308 "qmanager",
18309 "audit"
18310 ]
18311 },
18312 "returns" : {
18313 "properties" : {
18314 "avgbytes" : {
18315 "description" : "Average size of stored mails in bytes.",
18316 "type" : "number"
18317 },
18318 "avgspam" : {
18319 "description" : "Average spam level.",
18320 "type" : "number"
18321 },
18322 "count" : {
18323 "description" : "Number of stored mails.",
18324 "type" : "integer"
18325 },
18326 "mbytes" : {
18327 "description" : "Estimated disk space usage in MByte.",
18328 "type" : "number"
18329 }
18330 },
18331 "type" : "object"
18332 }
18333 }
18334 },
18335 "leaf" : 1,
18336 "path" : "/quarantine/spamstatus",
18337 "text" : "spamstatus"
18338 },
18339 {
18340 "info" : {
18341 "GET" : {
6bd70b95 18342 "allowtoken" : 1,
d8212759 18343 "description" : "Get a list of users with whitelist/blacklist settings.",
9fda36b0
DM
18344 "method" : "GET",
18345 "name" : "quarusers",
18346 "parameters" : {
241ac83c
TL
18347 "additionalProperties" : 0,
18348 "properties" : {
18349 "list" : {
18350 "description" : "If set, limits the result to the given list.",
18351 "enum" : [
18352 "BL",
18353 "WL"
18354 ],
18355 "optional" : 1,
18356 "type" : "string"
18357 }
18358 }
9fda36b0
DM
18359 },
18360 "permissions" : {
18361 "check" : [
18362 "admin",
18363 "qmanager",
18364 "audit"
18365 ]
18366 },
18367 "returns" : {
18368 "items" : {
18369 "properties" : {
18370 "mail" : {
18371 "description" : "the receiving email",
18372 "type" : "string"
410dc2c9
DM
18373 }
18374 },
9fda36b0
DM
18375 "type" : "object"
18376 },
18377 "type" : "array"
18378 }
18379 }
18380 },
18381 "leaf" : 1,
18382 "path" : "/quarantine/quarusers",
18383 "text" : "quarusers"
18384 },
18385 {
18386 "info" : {
18387 "GET" : {
6bd70b95 18388 "allowtoken" : 1,
9fda36b0
DM
18389 "description" : "Get a list of quarantined spam mails in the given timeframe (default the last 24 hours) for the given user.",
18390 "method" : "GET",
18391 "name" : "spam",
18392 "parameters" : {
18393 "additionalProperties" : 0,
18394 "properties" : {
18395 "endtime" : {
18396 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
18397 "minimum" : 1,
18398 "optional" : 1,
18399 "type" : "integer",
18400 "typetext" : "<integer> (1 - N)"
18401 },
18402 "pmail" : {
d8212759 18403 "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
18404 "maxLength" : 512,
18405 "minLength" : 3,
9fda36b0 18406 "optional" : 1,
c5ccf1ab 18407 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
241ac83c 18408 "type" : "string"
9fda36b0
DM
18409 },
18410 "starttime" : {
18411 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
18412 "minimum" : 0,
18413 "optional" : 1,
18414 "type" : "integer",
18415 "typetext" : "<integer> (0 - N)"
410dc2c9
DM
18416 }
18417 }
18418 },
9fda36b0
DM
18419 "permissions" : {
18420 "check" : [
18421 "admin",
18422 "qmanager",
18423 "audit",
18424 "quser"
18425 ]
18426 },
18427 "returns" : {
18428 "items" : {
18429 "properties" : {
18430 "bytes" : {
18431 "description" : "Size of raw email.",
18432 "type" : "integer"
18433 },
18434 "envelope_sender" : {
18435 "description" : "SMTP envelope sender.",
18436 "type" : "string"
18437 },
18438 "from" : {
18439 "description" : "Header 'From' field.",
18440 "type" : "string"
18441 },
18442 "id" : {
18443 "description" : "Unique ID",
18444 "type" : "string"
18445 },
18446 "receiver" : {
18447 "description" : "Receiver email address",
18448 "type" : "string"
18449 },
18450 "sender" : {
18451 "description" : "Header 'Sender' field.",
18452 "optional" : 1,
18453 "type" : "string"
18454 },
18455 "spamlevel" : {
18456 "description" : "Spam score.",
18457 "type" : "number"
18458 },
18459 "subject" : {
18460 "description" : "Header 'Subject' field.",
18461 "type" : "string"
18462 },
18463 "time" : {
18464 "description" : "Receive time stamp",
18465 "type" : "integer"
410dc2c9
DM
18466 }
18467 },
9fda36b0 18468 "type" : "object"
410dc2c9 18469 },
9fda36b0
DM
18470 "type" : "array"
18471 }
18472 }
18473 },
18474 "leaf" : 1,
18475 "path" : "/quarantine/spam",
18476 "text" : "spam"
18477 },
18478 {
18479 "info" : {
18480 "GET" : {
6bd70b95 18481 "allowtoken" : 1,
9fda36b0
DM
18482 "description" : "Get a list of quarantined virus mails in the given timeframe (default the last 24 hours).",
18483 "method" : "GET",
18484 "name" : "virus",
18485 "parameters" : {
18486 "additionalProperties" : 0,
18487 "properties" : {
18488 "endtime" : {
18489 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
18490 "minimum" : 1,
18491 "optional" : 1,
18492 "type" : "integer",
18493 "typetext" : "<integer> (1 - N)"
410dc2c9 18494 },
f4831d94
TL
18495 "pmail" : {
18496 "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.",
18497 "maxLength" : 512,
18498 "minLength" : 3,
18499 "optional" : 1,
18500 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
18501 "type" : "string"
18502 },
9fda36b0
DM
18503 "starttime" : {
18504 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
18505 "minimum" : 0,
18506 "optional" : 1,
18507 "type" : "integer",
18508 "typetext" : "<integer> (0 - N)"
410dc2c9
DM
18509 }
18510 }
18511 },
9fda36b0
DM
18512 "permissions" : {
18513 "check" : [
18514 "admin",
18515 "qmanager",
18516 "audit"
18517 ]
18518 },
18519 "returns" : {
18520 "items" : {
18521 "properties" : {
18522 "bytes" : {
18523 "description" : "Size of raw email.",
18524 "type" : "integer"
18525 },
18526 "envelope_sender" : {
18527 "description" : "SMTP envelope sender.",
18528 "type" : "string"
18529 },
18530 "from" : {
18531 "description" : "Header 'From' field.",
18532 "type" : "string"
18533 },
18534 "id" : {
18535 "description" : "Unique ID",
18536 "type" : "string"
18537 },
18538 "receiver" : {
18539 "description" : "Receiver email address",
18540 "type" : "string"
18541 },
18542 "sender" : {
18543 "description" : "Header 'Sender' field.",
18544 "optional" : 1,
18545 "type" : "string"
18546 },
18547 "subject" : {
18548 "description" : "Header 'Subject' field.",
18549 "type" : "string"
18550 },
18551 "time" : {
18552 "description" : "Receive time stamp",
18553 "type" : "integer"
18554 },
18555 "virusname" : {
18556 "description" : "Virus name.",
18557 "type" : "string"
d7cd791b
DM
18558 }
18559 },
9fda36b0
DM
18560 "type" : "object"
18561 },
18562 "type" : "array"
18563 }
18564 }
18565 },
18566 "leaf" : 1,
18567 "path" : "/quarantine/virus",
18568 "text" : "virus"
18569 },
d210277a
TL
18570 {
18571 "info" : {
18572 "GET" : {
6bd70b95 18573 "allowtoken" : 1,
d210277a
TL
18574 "description" : "Get a list of quarantined attachment mails in the given timeframe (default the last 24 hours).",
18575 "method" : "GET",
18576 "name" : "attachment",
18577 "parameters" : {
18578 "additionalProperties" : 0,
18579 "properties" : {
18580 "endtime" : {
18581 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
18582 "minimum" : 1,
18583 "optional" : 1,
18584 "type" : "integer",
18585 "typetext" : "<integer> (1 - N)"
18586 },
f4831d94
TL
18587 "pmail" : {
18588 "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.",
18589 "maxLength" : 512,
18590 "minLength" : 3,
18591 "optional" : 1,
18592 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
18593 "type" : "string"
18594 },
d210277a
TL
18595 "starttime" : {
18596 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
18597 "minimum" : 0,
18598 "optional" : 1,
18599 "type" : "integer",
18600 "typetext" : "<integer> (0 - N)"
18601 }
18602 }
18603 },
18604 "permissions" : {
18605 "check" : [
18606 "admin",
18607 "qmanager",
18608 "audit"
18609 ]
18610 },
18611 "returns" : {
18612 "items" : {
18613 "properties" : {
18614 "bytes" : {
18615 "description" : "Size of raw email.",
18616 "type" : "integer"
18617 },
18618 "envelope_sender" : {
18619 "description" : "SMTP envelope sender.",
18620 "type" : "string"
18621 },
18622 "from" : {
18623 "description" : "Header 'From' field.",
18624 "type" : "string"
18625 },
18626 "id" : {
18627 "description" : "Unique ID",
18628 "type" : "string"
18629 },
18630 "receiver" : {
18631 "description" : "Receiver email address",
18632 "type" : "string"
18633 },
18634 "sender" : {
18635 "description" : "Header 'Sender' field.",
18636 "optional" : 1,
18637 "type" : "string"
18638 },
18639 "subject" : {
18640 "description" : "Header 'Subject' field.",
18641 "type" : "string"
18642 },
18643 "time" : {
18644 "description" : "Receive time stamp",
18645 "type" : "integer"
18646 }
18647 },
18648 "type" : "object"
18649 },
18650 "type" : "array"
18651 }
18652 }
18653 },
18654 "leaf" : 1,
18655 "path" : "/quarantine/attachment",
18656 "text" : "attachment"
18657 },
9fda36b0
DM
18658 {
18659 "info" : {
18660 "GET" : {
6bd70b95 18661 "allowtoken" : 1,
9fda36b0
DM
18662 "description" : "Get Virus Quarantine Status",
18663 "method" : "GET",
18664 "name" : "virusstatus",
18665 "parameters" : {
18666 "additionalProperties" : 0
18667 },
18668 "permissions" : {
18669 "check" : [
18670 "admin",
18671 "qmanager",
18672 "audit"
18673 ]
18674 },
18675 "returns" : {
18676 "properties" : {
18677 "avgbytes" : {
18678 "description" : "Average size of stored mails in bytes.",
18679 "type" : "number"
18680 },
18681 "count" : {
18682 "description" : "Number of stored mails.",
18683 "type" : "integer"
18684 },
18685 "mbytes" : {
18686 "description" : "Estimated disk space usage in MByte.",
18687 "type" : "number"
d7cd791b 18688 }
9fda36b0
DM
18689 },
18690 "type" : "object"
18691 }
d7cd791b 18692 }
9fda36b0
DM
18693 },
18694 "leaf" : 1,
18695 "path" : "/quarantine/virusstatus",
18696 "text" : "virusstatus"
18697 },
18698 {
d7cd791b
DM
18699 "info" : {
18700 "GET" : {
6bd70b95 18701 "allowtoken" : 1,
9fda36b0 18702 "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 18703 "method" : "GET",
9fda36b0 18704 "name" : "content",
d7cd791b
DM
18705 "parameters" : {
18706 "additionalProperties" : 0,
18707 "properties" : {
9fda36b0
DM
18708 "id" : {
18709 "description" : "Unique ID",
274b47fc
DM
18710 "maxLength" : 60,
18711 "pattern" : "C\\d+R\\d+T\\d+",
9fda36b0
DM
18712 "type" : "string"
18713 },
18714 "raw" : {
18715 "default" : 0,
241ac83c 18716 "description" : "Display 'raw' eml data. Deactivates size limit.",
9fda36b0
DM
18717 "optional" : 1,
18718 "type" : "boolean",
18719 "typetext" : "<boolean>"
d7cd791b
DM
18720 }
18721 }
18722 },
18723 "permissions" : {
9fda36b0
DM
18724 "check" : [
18725 "admin",
18726 "qmanager",
18727 "audit",
18728 "quser"
18729 ]
d7cd791b
DM
18730 },
18731 "returns" : {
9fda36b0
DM
18732 "properties" : {
18733 "bytes" : {
18734 "description" : "Size of raw email.",
18735 "type" : "integer"
18736 },
18737 "content" : {
18738 "description" : "Raw email data (first 4096 bytes). Useful for preview. NOTE: The 'htmlmail' formatter displays the whole email.",
18739 "type" : "string"
18740 },
18741 "envelope_sender" : {
18742 "description" : "SMTP envelope sender.",
18743 "type" : "string"
18744 },
18745 "from" : {
18746 "description" : "Header 'From' field.",
18747 "type" : "string"
18748 },
18749 "header" : {
18750 "description" : "Raw email header data.",
18751 "type" : "string"
18752 },
18753 "id" : {
18754 "description" : "Unique ID",
18755 "type" : "string"
18756 },
18757 "receiver" : {
18758 "description" : "Receiver email address",
18759 "type" : "string"
18760 },
18761 "sender" : {
18762 "description" : "Header 'Sender' field.",
18763 "optional" : 1,
18764 "type" : "string"
18765 },
18766 "spaminfo" : {
18767 "description" : "Information about matched spam tests (name, score, desc, url).",
18768 "type" : "array"
18769 },
18770 "spamlevel" : {
18771 "description" : "Spam score.",
18772 "type" : "number"
18773 },
18774 "subject" : {
18775 "description" : "Header 'Subject' field.",
18776 "type" : "string"
18777 },
18778 "time" : {
18779 "description" : "Receive time stamp",
18780 "type" : "integer"
18781 }
d7cd791b 18782 },
9fda36b0
DM
18783 "type" : "object"
18784 }
18785 },
18786 "POST" : {
6bd70b95 18787 "allowtoken" : 1,
9fda36b0
DM
18788 "description" : "Execute quarantine actions.",
18789 "method" : "POST",
18790 "name" : "action",
18791 "parameters" : {
18792 "additionalProperties" : 0,
18793 "properties" : {
18794 "action" : {
18795 "description" : "Action - specify what you want to do with the mail.",
18796 "enum" : [
18797 "whitelist",
18798 "blacklist",
18799 "deliver",
18800 "delete"
18801 ],
18802 "type" : "string"
18803 },
18804 "id" : {
d8212759 18805 "description" : "Unique IDs, separate with ;",
445686c9 18806 "pattern" : "C\\d+R\\d+T\\d+(;C\\d+R\\d+T\\d+)*",
9fda36b0 18807 "type" : "string"
410dc2c9 18808 }
9fda36b0
DM
18809 }
18810 },
18811 "permissions" : {
18812 "check" : [
18813 "admin",
18814 "qmanager",
18815 "quser"
18816 ]
18817 },
18818 "protected" : 1,
18819 "returns" : {
18820 "type" : "null"
410dc2c9
DM
18821 }
18822 }
18823 },
9fda36b0
DM
18824 "leaf" : 1,
18825 "path" : "/quarantine/content",
18826 "text" : "content"
d210277a
TL
18827 },
18828 {
18829 "info" : {
18830 "GET" : {
6bd70b95 18831 "allowtoken" : 1,
d210277a
TL
18832 "description" : "Get Attachments for E-Mail in Quarantine.",
18833 "method" : "GET",
18834 "name" : "listattachments",
18835 "parameters" : {
18836 "additionalProperties" : 0,
18837 "properties" : {
18838 "id" : {
18839 "description" : "Unique ID",
18840 "maxLength" : 60,
18841 "pattern" : "C\\d+R\\d+T\\d+",
18842 "type" : "string"
18843 }
18844 }
18845 },
18846 "permissions" : {
18847 "check" : [
18848 "admin",
18849 "qmanager",
f4831d94
TL
18850 "audit",
18851 "quser"
d210277a
TL
18852 ]
18853 },
18854 "returns" : {
18855 "items" : {
18856 "properties" : {
18857 "content-type" : {
18858 "description" : "Raw email header data.",
18859 "type" : "string"
18860 },
18861 "id" : {
18862 "description" : "Attachment ID",
18863 "type" : "integer"
18864 },
18865 "name" : {
18866 "description" : "Raw email header data.",
18867 "type" : "string"
18868 },
18869 "size" : {
18870 "description" : "Size of raw attachment in bytes.",
18871 "type" : "integer"
18872 }
18873 },
18874 "type" : "object"
18875 },
18876 "type" : "array"
18877 }
18878 }
18879 },
18880 "leaf" : 1,
18881 "path" : "/quarantine/listattachments",
18882 "text" : "listattachments"
18883 },
18884 {
18885 "info" : {
18886 "GET" : {
6bd70b95 18887 "allowtoken" : 1,
d210277a
TL
18888 "description" : "Download E-Mail or Attachment from Quarantine.",
18889 "download" : 1,
18890 "method" : "GET",
18891 "name" : "download",
18892 "parameters" : {
18893 "additionalProperties" : 0,
18894 "properties" : {
18895 "attachmentid" : {
18896 "description" : "The Attachment ID for the mail.",
18897 "optional" : 1,
18898 "type" : "integer",
18899 "typetext" : "<integer>"
18900 },
18901 "mailid" : {
18902 "description" : "Unique ID",
18903 "maxLength" : 60,
18904 "pattern" : "C\\d+R\\d+T\\d+",
18905 "type" : "string"
18906 }
18907 }
18908 },
18909 "permissions" : {
18910 "check" : [
18911 "admin",
18912 "qmanager",
18913 "audit",
18914 "quser"
18915 ]
18916 },
18917 "returns" : {
18918 "type" : "object"
18919 }
18920 }
18921 },
18922 "leaf" : 1,
18923 "path" : "/quarantine/download",
18924 "text" : "download"
ab2b846b
TL
18925 },
18926 {
18927 "info" : {
18928 "POST" : {
18929 "allowtoken" : 1,
18930 "description" : "Send Quarantine link to given e-mail.",
18931 "method" : "POST",
18932 "name" : "sendlink",
18933 "parameters" : {
18934 "additionalProperties" : 0,
18935 "properties" : {
18936 "mail" : {
18937 "description" : "Email Address (allow most characters).",
18938 "maxLength" : 512,
18939 "minLength" : 3,
c5ccf1ab 18940 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
ab2b846b
TL
18941 "type" : "string"
18942 }
18943 }
18944 },
18945 "permissions" : {
18946 "user" : "world"
18947 },
18948 "protected" : 1,
18949 "returns" : {
18950 "type" : "null"
18951 }
18952 }
18953 },
18954 "leaf" : 1,
18955 "path" : "/quarantine/sendlink",
18956 "text" : "sendlink"
410dc2c9
DM
18957 }
18958 ],
18959 "info" : {
18960 "GET" : {
6bd70b95 18961 "allowtoken" : 1,
9fda36b0 18962 "description" : "Directory index.",
410dc2c9
DM
18963 "method" : "GET",
18964 "name" : "index",
18965 "parameters" : {
18966 "additionalProperties" : 0
18967 },
18968 "permissions" : {
18969 "user" : "all"
18970 },
18971 "returns" : {
18972 "items" : {
18973 "properties" : {},
18974 "type" : "object"
18975 },
18976 "links" : [
18977 {
9fda36b0 18978 "href" : "{name}",
410dc2c9
DM
18979 "rel" : "child"
18980 }
18981 ],
18982 "type" : "array"
18983 }
18984 }
18985 },
18986 "leaf" : 0,
9fda36b0
DM
18987 "path" : "/quarantine",
18988 "text" : "quarantine"
410dc2c9
DM
18989 },
18990 {
18991 "children" : [
a55e94a6 18992 {
a55e94a6
DM
18993 "info" : {
18994 "GET" : {
6bd70b95 18995 "allowtoken" : 1,
9fda36b0 18996 "description" : "Contact Address Statistics.",
a55e94a6 18997 "method" : "GET",
9fda36b0 18998 "name" : "contact",
a55e94a6
DM
18999 "parameters" : {
19000 "additionalProperties" : 0,
19001 "properties" : {
9fda36b0
DM
19002 "day" : {
19003 "description" : "Day of month. Get statistics for a single day.",
19004 "maximum" : 31,
19005 "minimum" : 1,
a55e94a6
DM
19006 "optional" : 1,
19007 "type" : "integer",
9fda36b0 19008 "typetext" : "<integer> (1 - 31)"
a55e94a6 19009 },
9fda36b0
DM
19010 "endtime" : {
19011 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
19012 "minimum" : 1,
410dc2c9 19013 "optional" : 1,
9fda36b0
DM
19014 "type" : "integer",
19015 "typetext" : "<integer> (1 - N)"
410dc2c9 19016 },
9fda36b0
DM
19017 "filter" : {
19018 "description" : "Contact address filter.",
19019 "maxLength" : 512,
19020 "optional" : 1,
410dc2c9
DM
19021 "type" : "string",
19022 "typetext" : "<string>"
19023 },
9fda36b0
DM
19024 "month" : {
19025 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
19026 "maximum" : 12,
19027 "minimum" : 1,
410dc2c9 19028 "optional" : 1,
9fda36b0
DM
19029 "type" : "integer",
19030 "typetext" : "<integer> (1 - 12)"
410dc2c9 19031 },
9fda36b0
DM
19032 "orderby" : {
19033 "description" : "Remote sorting configuration(JSON, ExtJS compatible).",
19034 "maxLength" : 4096,
19035 "optional" : 1,
410dc2c9
DM
19036 "type" : "string",
19037 "typetext" : "<string>"
9fda36b0
DM
19038 },
19039 "starttime" : {
19040 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
19041 "minimum" : 0,
19042 "optional" : 1,
19043 "type" : "integer",
19044 "typetext" : "<integer> (0 - N)"
19045 },
19046 "year" : {
19047 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
19048 "maximum" : 3000,
19049 "minimum" : 1900,
19050 "optional" : 1,
19051 "type" : "integer",
19052 "typetext" : "<integer> (1900 - 3000)"
410dc2c9
DM
19053 }
19054 }
19055 },
19056 "permissions" : {
9fda36b0
DM
19057 "check" : [
19058 "admin",
19059 "qmanager",
19060 "audit"
19061 ]
410dc2c9 19062 },
410dc2c9 19063 "returns" : {
9fda36b0
DM
19064 "items" : {
19065 "properties" : {
19066 "bytes" : {
19067 "description" : "Mail traffic (Bytes).",
19068 "type" : "number"
19069 },
19070 "contact" : {
19071 "description" : "Contact email.",
19072 "type" : "string"
19073 },
19074 "count" : {
19075 "description" : "Mail count.",
19076 "optional" : 1,
19077 "type" : "number"
19078 },
19079 "viruscount" : {
19080 "description" : "Number of sent virus mails.",
19081 "optional" : 1,
19082 "type" : "number"
19083 }
410dc2c9 19084 },
9fda36b0 19085 "type" : "object"
410dc2c9 19086 },
9fda36b0
DM
19087 "links" : [
19088 {
19089 "href" : "{contact}",
19090 "rel" : "child"
19091 }
19092 ],
19093 "type" : "array"
410dc2c9
DM
19094 }
19095 }
19096 },
14ffe66b 19097 "leaf" : 1,
9fda36b0
DM
19098 "path" : "/statistics/contact",
19099 "text" : "contact"
410dc2c9 19100 },
c5ccf1ab
TL
19101 {
19102 "info" : {
19103 "GET" : {
19104 "allowtoken" : 1,
19105 "description" : "Detailed Statistics.",
19106 "method" : "GET",
19107 "name" : "detailstats",
19108 "parameters" : {
19109 "additionalProperties" : 0,
19110 "properties" : {
19111 "address" : {
19112 "description" : "Email address.",
19113 "maxLength" : 512,
19114 "minLength" : 3,
19115 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
19116 "type" : "string"
19117 },
19118 "day" : {
19119 "description" : "Day of month. Get statistics for a single day.",
19120 "maximum" : 31,
19121 "minimum" : 1,
19122 "optional" : 1,
19123 "type" : "integer",
19124 "typetext" : "<integer> (1 - 31)"
19125 },
19126 "endtime" : {
19127 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
19128 "minimum" : 1,
19129 "optional" : 1,
19130 "type" : "integer",
19131 "typetext" : "<integer> (1 - N)"
19132 },
19133 "filter" : {
19134 "description" : "Address filter.",
19135 "maxLength" : 512,
19136 "optional" : 1,
19137 "type" : "string",
19138 "typetext" : "<string>"
19139 },
19140 "month" : {
19141 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
19142 "maximum" : 12,
19143 "minimum" : 1,
19144 "optional" : 1,
19145 "type" : "integer",
19146 "typetext" : "<integer> (1 - 12)"
19147 },
19148 "orderby" : {
19149 "description" : "Remote sorting configuration(JSON, ExtJS compatible).",
19150 "maxLength" : 4096,
19151 "optional" : 1,
19152 "type" : "string",
19153 "typetext" : "<string>"
19154 },
19155 "starttime" : {
19156 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
19157 "minimum" : 0,
19158 "optional" : 1,
19159 "type" : "integer",
19160 "typetext" : "<integer> (0 - N)"
19161 },
19162 "type" : {
19163 "description" : "Type of statistics",
19164 "enum" : [
19165 "contact",
19166 "sender",
19167 "receiver"
19168 ],
19169 "type" : "string"
19170 },
19171 "year" : {
19172 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
19173 "maximum" : 3000,
19174 "minimum" : 1900,
19175 "optional" : 1,
19176 "type" : "integer",
19177 "typetext" : "<integer> (1900 - 3000)"
19178 }
19179 }
19180 },
19181 "permissions" : {
19182 "check" : [
19183 "admin",
19184 "qmanager",
19185 "audit"
19186 ]
19187 },
19188 "returns" : {
19189 "items" : {
19190 "properties" : {
19191 "blocked" : {
19192 "description" : "Mail was blocked.",
19193 "type" : "boolean"
19194 },
19195 "bytes" : {
19196 "description" : "Mail traffic (Bytes).",
19197 "type" : "number"
19198 },
19199 "receiver" : {
19200 "description" : "Receiver email. (for sender statistics)",
19201 "optional" : 1,
19202 "type" : "string"
19203 },
19204 "sender" : {
19205 "description" : "Sender email. (for contact and receiver statistics)",
19206 "optional" : 1,
19207 "type" : "string"
19208 },
19209 "spamlevel" : {
19210 "description" : "Spam score.",
19211 "type" : "number"
19212 },
19213 "time" : {
19214 "description" : "Receive time stamp",
19215 "type" : "integer"
19216 },
19217 "virusinfo" : {
19218 "description" : "Virus name.",
19219 "optional" : 1,
19220 "type" : "string"
19221 }
19222 },
19223 "type" : "object"
19224 },
19225 "type" : "array"
19226 }
19227 }
19228 },
19229 "leaf" : 1,
19230 "path" : "/statistics/detail",
19231 "text" : "detail"
19232 },
410dc2c9
DM
19233 {
19234 "info" : {
9fda36b0 19235 "GET" : {
6bd70b95 19236 "allowtoken" : 1,
9fda36b0
DM
19237 "description" : "Sender Address Statistics.",
19238 "method" : "GET",
19239 "name" : "sender",
410dc2c9
DM
19240 "parameters" : {
19241 "additionalProperties" : 0,
19242 "properties" : {
9fda36b0
DM
19243 "day" : {
19244 "description" : "Day of month. Get statistics for a single day.",
19245 "maximum" : 31,
19246 "minimum" : 1,
19247 "optional" : 1,
19248 "type" : "integer",
19249 "typetext" : "<integer> (1 - 31)"
19250 },
19251 "endtime" : {
19252 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
19253 "minimum" : 1,
19254 "optional" : 1,
19255 "type" : "integer",
19256 "typetext" : "<integer> (1 - N)"
19257 },
19258 "filter" : {
19259 "description" : "Sender address filter.",
19260 "maxLength" : 512,
19261 "optional" : 1,
410dc2c9
DM
19262 "type" : "string",
19263 "typetext" : "<string>"
19264 },
9fda36b0
DM
19265 "month" : {
19266 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
19267 "maximum" : 12,
19268 "minimum" : 1,
19269 "optional" : 1,
19270 "type" : "integer",
19271 "typetext" : "<integer> (1 - 12)"
19272 },
19273 "orderby" : {
19274 "description" : "Remote sorting configuration(JSON, ExtJS compatible).",
19275 "maxLength" : 4096,
19276 "optional" : 1,
410dc2c9
DM
19277 "type" : "string",
19278 "typetext" : "<string>"
9fda36b0
DM
19279 },
19280 "starttime" : {
19281 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
19282 "minimum" : 0,
19283 "optional" : 1,
19284 "type" : "integer",
19285 "typetext" : "<integer> (0 - N)"
19286 },
19287 "year" : {
19288 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
19289 "maximum" : 3000,
19290 "minimum" : 1900,
19291 "optional" : 1,
19292 "type" : "integer",
19293 "typetext" : "<integer> (1900 - 3000)"
410dc2c9
DM
19294 }
19295 }
19296 },
a55e94a6 19297 "permissions" : {
9fda36b0
DM
19298 "check" : [
19299 "admin",
19300 "qmanager",
19301 "audit"
19302 ]
a55e94a6 19303 },
410dc2c9 19304 "returns" : {
9fda36b0
DM
19305 "items" : {
19306 "properties" : {
19307 "bytes" : {
19308 "description" : "Mail traffic (Bytes).",
19309 "type" : "number"
19310 },
19311 "count" : {
19312 "description" : "Mail count.",
19313 "optional" : 1,
19314 "type" : "number"
19315 },
19316 "sender" : {
19317 "description" : "Sender email.",
19318 "type" : "string"
19319 },
19320 "viruscount" : {
19321 "description" : "Number of sent virus mails.",
19322 "optional" : 1,
19323 "type" : "number"
19324 }
19325 },
19326 "type" : "object"
19327 },
19328 "links" : [
19329 {
19330 "href" : "{sender}",
19331 "rel" : "child"
19332 }
19333 ],
19334 "type" : "array"
410dc2c9 19335 }
9fda36b0
DM
19336 }
19337 },
14ffe66b 19338 "leaf" : 1,
9fda36b0
DM
19339 "path" : "/statistics/sender",
19340 "text" : "sender"
19341 },
d7cd791b 19342 {
d7cd791b
DM
19343 "info" : {
19344 "GET" : {
6bd70b95 19345 "allowtoken" : 1,
9fda36b0 19346 "description" : "Receiver Address Statistics.",
d7cd791b 19347 "method" : "GET",
9fda36b0 19348 "name" : "receiver",
d7cd791b
DM
19349 "parameters" : {
19350 "additionalProperties" : 0,
19351 "properties" : {
9fda36b0
DM
19352 "day" : {
19353 "description" : "Day of month. Get statistics for a single day.",
19354 "maximum" : 31,
19355 "minimum" : 1,
19356 "optional" : 1,
19357 "type" : "integer",
19358 "typetext" : "<integer> (1 - 31)"
19359 },
19360 "endtime" : {
19361 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
19362 "minimum" : 1,
19363 "optional" : 1,
19364 "type" : "integer",
19365 "typetext" : "<integer> (1 - N)"
19366 },
19367 "filter" : {
19368 "description" : "Receiver address filter.",
19369 "maxLength" : 512,
19370 "optional" : 1,
19371 "type" : "string",
19372 "typetext" : "<string>"
19373 },
19374 "month" : {
19375 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
19376 "maximum" : 12,
19377 "minimum" : 1,
19378 "optional" : 1,
19379 "type" : "integer",
19380 "typetext" : "<integer> (1 - 12)"
19381 },
19382 "orderby" : {
19383 "description" : "Remote sorting configuration(JSON, ExtJS compatible).",
19384 "maxLength" : 4096,
d7cd791b
DM
19385 "optional" : 1,
19386 "type" : "string",
19387 "typetext" : "<string>"
9fda36b0
DM
19388 },
19389 "starttime" : {
19390 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
19391 "minimum" : 0,
19392 "optional" : 1,
19393 "type" : "integer",
19394 "typetext" : "<integer> (0 - N)"
19395 },
19396 "year" : {
19397 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
19398 "maximum" : 3000,
19399 "minimum" : 1900,
19400 "optional" : 1,
19401 "type" : "integer",
19402 "typetext" : "<integer> (1900 - 3000)"
d7cd791b
DM
19403 }
19404 }
19405 },
19406 "permissions" : {
19407 "check" : [
19408 "admin",
19409 "qmanager",
9fda36b0 19410 "audit"
d7cd791b
DM
19411 ]
19412 },
19413 "returns" : {
19414 "items" : {
19415 "properties" : {
9fda36b0
DM
19416 "bytes" : {
19417 "description" : "Mail traffic (Bytes).",
19418 "type" : "number"
19419 },
19420 "count" : {
19421 "description" : "Mail count.",
19422 "optional" : 1,
19423 "type" : "number"
19424 },
19425 "receiver" : {
19426 "description" : "Sender email.",
d7cd791b 19427 "type" : "string"
9fda36b0
DM
19428 },
19429 "spamcount" : {
19430 "description" : "Number of sent spam mails.",
19431 "optional" : 1,
19432 "type" : "number"
19433 },
19434 "viruscount" : {
19435 "description" : "Number of sent virus mails.",
19436 "optional" : 1,
19437 "type" : "number"
d7cd791b
DM
19438 }
19439 },
19440 "type" : "object"
19441 },
9fda36b0
DM
19442 "links" : [
19443 {
19444 "href" : "{receiver}",
19445 "rel" : "child"
d7cd791b 19446 }
9fda36b0
DM
19447 ],
19448 "type" : "array"
d7cd791b
DM
19449 }
19450 }
19451 },
14ffe66b 19452 "leaf" : 1,
9fda36b0
DM
19453 "path" : "/statistics/receiver",
19454 "text" : "receiver"
d7cd791b
DM
19455 },
19456 {
d7cd791b
DM
19457 "info" : {
19458 "GET" : {
6bd70b95 19459 "allowtoken" : 1,
9fda36b0 19460 "description" : "Mail Domains Statistics.",
d7cd791b 19461 "method" : "GET",
9fda36b0 19462 "name" : "domains",
d7cd791b
DM
19463 "parameters" : {
19464 "additionalProperties" : 0,
19465 "properties" : {
9fda36b0
DM
19466 "day" : {
19467 "description" : "Day of month. Get statistics for a single day.",
19468 "maximum" : 31,
19469 "minimum" : 1,
19470 "optional" : 1,
19471 "type" : "integer",
19472 "typetext" : "<integer> (1 - 31)"
19473 },
19474 "endtime" : {
19475 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
19476 "minimum" : 1,
19477 "optional" : 1,
19478 "type" : "integer",
19479 "typetext" : "<integer> (1 - N)"
19480 },
19481 "month" : {
19482 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
19483 "maximum" : 12,
19484 "minimum" : 1,
19485 "optional" : 1,
19486 "type" : "integer",
19487 "typetext" : "<integer> (1 - 12)"
19488 },
19489 "starttime" : {
19490 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
19491 "minimum" : 0,
d7cd791b 19492 "optional" : 1,
9fda36b0
DM
19493 "type" : "integer",
19494 "typetext" : "<integer> (0 - N)"
19495 },
19496 "year" : {
19497 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
19498 "maximum" : 3000,
19499 "minimum" : 1900,
19500 "optional" : 1,
19501 "type" : "integer",
19502 "typetext" : "<integer> (1900 - 3000)"
d7cd791b
DM
19503 }
19504 }
19505 },
19506 "permissions" : {
19507 "check" : [
19508 "admin",
19509 "qmanager",
9fda36b0 19510 "audit"
d7cd791b
DM
19511 ]
19512 },
19513 "returns" : {
19514 "items" : {
19515 "properties" : {
274b47fc
DM
19516 "bytes_in" : {
19517 "description" : "Incoming mail traffic (Bytes).",
19518 "type" : "number"
19519 },
19520 "bytes_out" : {
19521 "description" : "Outgoing mail traffic (Bytes).",
19522 "type" : "number"
19523 },
9fda36b0
DM
19524 "count_in" : {
19525 "description" : "Incoming mail count.",
19526 "type" : "number"
19527 },
19528 "count_out" : {
19529 "description" : "Outgoing mail count.",
19530 "type" : "number"
19531 },
19532 "domain" : {
19533 "description" : "Domain name.",
d7cd791b 19534 "type" : "string"
9fda36b0 19535 },
9fda36b0
DM
19536 "spamcount_in" : {
19537 "description" : "Incoming spam mails.",
19538 "type" : "number"
19539 },
19540 "spamcount_out" : {
19541 "description" : "Outgoing spam mails.",
19542 "type" : "number"
19543 },
19544 "viruscount_in" : {
19545 "description" : "Number of incoming virus mails.",
19546 "type" : "number"
19547 },
19548 "viruscount_out" : {
19549 "description" : "Number of outgoing virus mails.",
19550 "type" : "number"
d7cd791b
DM
19551 }
19552 },
19553 "type" : "object"
19554 },
19555 "type" : "array"
19556 }
9fda36b0
DM
19557 }
19558 },
19559 "leaf" : 1,
19560 "path" : "/statistics/domains",
19561 "text" : "domains"
19562 },
19563 {
19564 "info" : {
19565 "GET" : {
6bd70b95 19566 "allowtoken" : 1,
9fda36b0
DM
19567 "description" : "General Mail Statistics.",
19568 "method" : "GET",
19569 "name" : "mail",
d7cd791b
DM
19570 "parameters" : {
19571 "additionalProperties" : 0,
19572 "properties" : {
9fda36b0
DM
19573 "day" : {
19574 "description" : "Day of month. Get statistics for a single day.",
19575 "maximum" : 31,
19576 "minimum" : 1,
19577 "optional" : 1,
19578 "type" : "integer",
19579 "typetext" : "<integer> (1 - 31)"
d7cd791b 19580 },
9fda36b0
DM
19581 "endtime" : {
19582 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
19583 "minimum" : 1,
d7cd791b 19584 "optional" : 1,
9fda36b0
DM
19585 "type" : "integer",
19586 "typetext" : "<integer> (1 - N)"
19587 },
19588 "month" : {
19589 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
19590 "maximum" : 12,
19591 "minimum" : 1,
19592 "optional" : 1,
19593 "type" : "integer",
19594 "typetext" : "<integer> (1 - 12)"
19595 },
19596 "starttime" : {
19597 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
19598 "minimum" : 0,
19599 "optional" : 1,
19600 "type" : "integer",
19601 "typetext" : "<integer> (0 - N)"
19602 },
19603 "year" : {
19604 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
19605 "maximum" : 3000,
19606 "minimum" : 1900,
19607 "optional" : 1,
19608 "type" : "integer",
19609 "typetext" : "<integer> (1900 - 3000)"
d7cd791b
DM
19610 }
19611 }
19612 },
19613 "permissions" : {
19614 "check" : [
19615 "admin",
19616 "qmanager",
9fda36b0 19617 "audit"
d7cd791b
DM
19618 ]
19619 },
d7cd791b 19620 "returns" : {
9fda36b0
DM
19621 "properties" : {
19622 "avptime" : {
19623 "description" : "Average mail processing time in seconds.",
19624 "type" : "number"
19625 },
19626 "bounces_in" : {
19627 "description" : "Incoming bounce mail count (sender = <>).",
19628 "type" : "number"
19629 },
19630 "bounces_out" : {
19631 "description" : "Outgoing bounce mail count (sender = <>).",
19632 "type" : "number"
19633 },
19634 "bytes_in" : {
19635 "description" : "Incoming mail traffic (bytes).",
19636 "type" : "number"
19637 },
19638 "bytes_out" : {
19639 "description" : "Outgoing mail traffic (bytes).",
19640 "type" : "number"
19641 },
19642 "count" : {
19643 "description" : "Overall mail count (in and out).",
19644 "type" : "number"
19645 },
19646 "count_in" : {
19647 "description" : "Incoming mail count.",
19648 "type" : "number"
19649 },
19650 "count_out" : {
19651 "description" : "Outgoing mail count.",
19652 "type" : "number"
19653 },
19654 "glcount" : {
19655 "description" : "Number of greylisted mails.",
19656 "type" : "number"
19657 },
19658 "junk_in" : {
274b47fc 19659 "description" : "Incoming junk mail count (viruscount_in + spamcount_in + glcount + spfcount + rbl_rejects + pregreet_rejects).",
9fda36b0
DM
19660 "type" : "number"
19661 },
19662 "junk_out" : {
19663 "description" : "Outgoing junk mail count (viruscount_out + spamcount_out).",
19664 "type" : "number"
19665 },
274b47fc
DM
19666 "pregreet_rejects" : {
19667 "description" : "PREGREET recject count.",
19668 "type" : "integer"
19669 },
19670 "rbl_rejects" : {
19671 "description" : "Number of RBL rejects.",
19672 "type" : "integer"
19673 },
9fda36b0
DM
19674 "spamcount_in" : {
19675 "description" : "Incoming spam mails.",
19676 "type" : "number"
19677 },
19678 "spamcount_out" : {
19679 "description" : "Outgoing spam mails.",
19680 "type" : "number"
19681 },
19682 "spfcount" : {
19683 "description" : "Mails rejected by SPF.",
19684 "type" : "number"
19685 },
19686 "viruscount_in" : {
19687 "description" : "Number of incoming virus mails.",
19688 "type" : "number"
19689 },
19690 "viruscount_out" : {
19691 "description" : "Number of outgoing virus mails.",
19692 "type" : "number"
19693 }
19694 },
19695 "type" : "object"
d7cd791b
DM
19696 }
19697 }
19698 },
9fda36b0
DM
19699 "leaf" : 1,
19700 "path" : "/statistics/mail",
19701 "text" : "mail"
d7cd791b 19702 },
732d76e1
DM
19703 {
19704 "info" : {
19705 "GET" : {
6bd70b95 19706 "allowtoken" : 1,
732d76e1
DM
19707 "description" : "Mail Count Statistics.",
19708 "method" : "GET",
19709 "name" : "recent",
19710 "parameters" : {
19711 "additionalProperties" : 0,
19712 "properties" : {
19713 "hours" : {
19714 "default" : 12,
19715 "description" : "How many hours you want to get",
19716 "maximum" : 24,
19717 "minimum" : 1,
19718 "optional" : 1,
19719 "type" : "integer",
19720 "typetext" : "<integer> (1 - 24)"
19721 },
19722 "timespan" : {
19723 "default" : 1800,
19724 "description" : "The Timespan for one datapoint (in seconds)",
19725 "maximum" : 1800,
19726 "minimum" : 1,
19727 "optional" : 1,
19728 "type" : "integer",
19729 "typetext" : "<integer> (1 - 1800)"
19730 }
19731 }
19732 },
19733 "permissions" : {
19734 "check" : [
19735 "admin",
19736 "qmanager",
19737 "audit"
19738 ]
19739 },
19740 "returns" : {
19741 "items" : {
19742 "properties" : {
19743 "bytes_in" : {
19744 "description" : "Number of incoming bytes mails.",
19745 "type" : "number"
19746 },
19747 "bytes_out" : {
19748 "description" : "Number of outgoing bytes mails.",
19749 "type" : "number"
19750 },
19751 "count" : {
19752 "description" : "Overall mail count (in and out).",
19753 "type" : "number"
19754 },
19755 "count_in" : {
19756 "description" : "Incoming mail count.",
19757 "type" : "number"
19758 },
19759 "count_out" : {
19760 "description" : "Outgoing mail count.",
19761 "type" : "number"
19762 },
19763 "index" : {
19764 "description" : "Time index.",
19765 "type" : "integer"
19766 },
19767 "spam" : {
19768 "description" : "Overall spam mail count (in and out).",
19769 "type" : "number"
19770 },
19771 "spam_in" : {
19772 "description" : "Incoming spam mails (spamcount_in + glcount + spfcount).",
19773 "type" : "number"
19774 },
19775 "spam_out" : {
19776 "description" : "Outgoing spam mails.",
19777 "type" : "number"
19778 },
19779 "time" : {
19780 "description" : "Time (Unix epoch).",
19781 "type" : "integer"
19782 },
19783 "timespan" : {
19784 "description" : "Timespan in seconds for one data point",
19785 "type" : "number"
19786 },
19787 "virus_in" : {
19788 "description" : "Number of incoming virus mails.",
19789 "type" : "number"
19790 },
19791 "virus_out" : {
19792 "description" : "Number of outgoing virus mails.",
19793 "type" : "number"
19794 }
19795 },
19796 "type" : "object"
19797 },
19798 "type" : "array"
19799 }
19800 }
19801 },
19802 "leaf" : 1,
19803 "path" : "/statistics/recent",
19804 "text" : "recent"
19805 },
19806 {
19807 "info" : {
19808 "GET" : {
6bd70b95 19809 "allowtoken" : 1,
732d76e1
DM
19810 "description" : "Top recent Mail Receivers (including spam)",
19811 "method" : "GET",
19812 "name" : "recentreceivers",
19813 "parameters" : {
19814 "additionalProperties" : 0,
19815 "properties" : {
19816 "hours" : {
19817 "default" : 12,
19818 "description" : "How many hours you want to get",
19819 "maximum" : 24,
19820 "minimum" : 1,
19821 "optional" : 1,
19822 "type" : "integer",
19823 "typetext" : "<integer> (1 - 24)"
19824 },
19825 "limit" : {
19826 "default" : 5,
19827 "description" : "The maximum number of receivers to return.",
19828 "maximum" : 50,
19829 "minimum" : 1,
19830 "optional" : 1,
19831 "type" : "integer",
19832 "typetext" : "<integer> (1 - 50)"
19833 }
19834 }
19835 },
19836 "permissions" : {
19837 "check" : [
19838 "admin",
19839 "qmanager",
19840 "audit"
19841 ]
19842 },
19843 "returns" : {
19844 "items" : {
19845 "properties" : {
19846 "count" : {
19847 "description" : "The count of incoming not blocked E-Mails",
19848 "type" : "integer"
19849 },
19850 "receiver" : {
19851 "description" : "The receiver",
19852 "type" : "string"
19853 }
19854 },
19855 "type" : "object"
19856 },
19857 "type" : "array"
19858 }
19859 }
19860 },
19861 "leaf" : 1,
19862 "path" : "/statistics/recentreceivers",
19863 "text" : "recentreceivers"
19864 },
d7cd791b 19865 {
9fda36b0
DM
19866 "info" : {
19867 "GET" : {
6bd70b95 19868 "allowtoken" : 1,
9fda36b0
DM
19869 "description" : "Mail Count Statistics.",
19870 "method" : "GET",
19871 "name" : "mailcount",
19872 "parameters" : {
19873 "additionalProperties" : 0,
19874 "properties" : {
19875 "day" : {
19876 "description" : "Day of month. Get statistics for a single day.",
19877 "maximum" : 31,
19878 "minimum" : 1,
19879 "optional" : 1,
19880 "type" : "integer",
19881 "typetext" : "<integer> (1 - 31)"
d7cd791b 19882 },
9fda36b0
DM
19883 "endtime" : {
19884 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
19885 "minimum" : 1,
19886 "optional" : 1,
19887 "type" : "integer",
19888 "typetext" : "<integer> (1 - N)"
d7cd791b 19889 },
9fda36b0
DM
19890 "month" : {
19891 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
19892 "maximum" : 12,
19893 "minimum" : 1,
19894 "optional" : 1,
19895 "type" : "integer",
19896 "typetext" : "<integer> (1 - 12)"
19897 },
19898 "starttime" : {
19899 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
19900 "minimum" : 0,
19901 "optional" : 1,
19902 "type" : "integer",
19903 "typetext" : "<integer> (0 - N)"
19904 },
19905 "timespan" : {
19906 "default" : 3600,
19907 "description" : "Return Mails/<timespan>, where <timespan> is specified in seconds.",
19908 "maximum" : 31622400,
19909 "minimum" : 3600,
19910 "optional" : 1,
19911 "type" : "integer",
19912 "typetext" : "<integer> (3600 - 31622400)"
19913 },
19914 "year" : {
19915 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
19916 "maximum" : 3000,
19917 "minimum" : 1900,
19918 "optional" : 1,
19919 "type" : "integer",
19920 "typetext" : "<integer> (1900 - 3000)"
d7cd791b
DM
19921 }
19922 }
19923 },
9fda36b0
DM
19924 "permissions" : {
19925 "check" : [
19926 "admin",
19927 "qmanager",
19928 "audit"
19929 ]
19930 },
19931 "returns" : {
19932 "items" : {
19933 "properties" : {
19934 "bounces_in" : {
19935 "description" : "Incoming bounce mail count (sender = <>).",
19936 "type" : "number"
19937 },
19938 "bounces_out" : {
19939 "description" : "Outgoing bounce mail count (sender = <>).",
19940 "type" : "number"
19941 },
19942 "count" : {
19943 "description" : "Overall mail count (in and out).",
19944 "type" : "number"
19945 },
19946 "count_in" : {
19947 "description" : "Incoming mail count.",
19948 "type" : "number"
19949 },
19950 "count_out" : {
19951 "description" : "Outgoing mail count.",
19952 "type" : "number"
19953 },
19954 "index" : {
19955 "description" : "Time index.",
19956 "type" : "integer"
19957 },
274b47fc
DM
19958 "pregreet_rejects" : {
19959 "description" : "PREGREET recject count.",
19960 "type" : "integer"
19961 },
19962 "rbl_rejects" : {
19963 "description" : "Number of RBL rejects.",
19964 "type" : "integer"
19965 },
9fda36b0 19966 "spamcount_in" : {
274b47fc 19967 "description" : "Incoming spam mails (spamcount_in + glcount + spfcount + rbl_rejects + pregreet_rejects).",
9fda36b0
DM
19968 "type" : "number"
19969 },
19970 "spamcount_out" : {
19971 "description" : "Outgoing spam mails.",
19972 "type" : "number"
19973 },
19974 "time" : {
19975 "description" : "Time (Unix epoch).",
19976 "type" : "integer"
19977 },
19978 "viruscount_in" : {
19979 "description" : "Number of incoming virus mails.",
19980 "type" : "number"
19981 },
19982 "viruscount_out" : {
19983 "description" : "Number of outgoing virus mails.",
19984 "type" : "number"
19985 }
19986 },
19987 "type" : "object"
19988 },
19989 "type" : "array"
19990 }
d7cd791b 19991 }
9fda36b0
DM
19992 },
19993 "leaf" : 1,
19994 "path" : "/statistics/mailcount",
19995 "text" : "mailcount"
19996 },
19997 {
d7cd791b
DM
19998 "info" : {
19999 "GET" : {
6bd70b95 20000 "allowtoken" : 1,
9fda36b0 20001 "description" : "Get Statistics about detected Viruses.",
d7cd791b 20002 "method" : "GET",
9fda36b0 20003 "name" : "virus",
d7cd791b
DM
20004 "parameters" : {
20005 "additionalProperties" : 0,
20006 "properties" : {
9fda36b0
DM
20007 "day" : {
20008 "description" : "Day of month. Get statistics for a single day.",
20009 "maximum" : 31,
20010 "minimum" : 1,
20011 "optional" : 1,
20012 "type" : "integer",
20013 "typetext" : "<integer> (1 - 31)"
20014 },
d7cd791b 20015 "endtime" : {
9fda36b0 20016 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
d7cd791b
DM
20017 "minimum" : 1,
20018 "optional" : 1,
20019 "type" : "integer",
20020 "typetext" : "<integer> (1 - N)"
20021 },
9fda36b0
DM
20022 "month" : {
20023 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
20024 "maximum" : 12,
20025 "minimum" : 1,
d7cd791b 20026 "optional" : 1,
9fda36b0
DM
20027 "type" : "integer",
20028 "typetext" : "<integer> (1 - 12)"
d7cd791b
DM
20029 },
20030 "starttime" : {
9fda36b0 20031 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
d7cd791b
DM
20032 "minimum" : 0,
20033 "optional" : 1,
20034 "type" : "integer",
20035 "typetext" : "<integer> (0 - N)"
9fda36b0
DM
20036 },
20037 "year" : {
20038 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
20039 "maximum" : 3000,
20040 "minimum" : 1900,
20041 "optional" : 1,
20042 "type" : "integer",
20043 "typetext" : "<integer> (1900 - 3000)"
d7cd791b
DM
20044 }
20045 }
20046 },
20047 "permissions" : {
20048 "check" : [
20049 "admin",
20050 "qmanager",
9fda36b0 20051 "audit"
d7cd791b
DM
20052 ]
20053 },
20054 "returns" : {
20055 "items" : {
20056 "properties" : {
20057 "count" : {
9fda36b0 20058 "description" : "Detection count.",
d7cd791b
DM
20059 "type" : "integer"
20060 },
9fda36b0
DM
20061 "name" : {
20062 "description" : "Virus name.",
20063 "type" : "string"
d7cd791b
DM
20064 }
20065 },
20066 "type" : "object"
20067 },
d7cd791b
DM
20068 "type" : "array"
20069 }
20070 }
20071 },
9fda36b0
DM
20072 "leaf" : 1,
20073 "path" : "/statistics/virus",
20074 "text" : "virus"
d7cd791b
DM
20075 },
20076 {
20077 "info" : {
20078 "GET" : {
6bd70b95 20079 "allowtoken" : 1,
9fda36b0 20080 "description" : "Get the count of spam mails grouped by spam score. Count for score 10 includes mails with spam score > 10.",
d7cd791b 20081 "method" : "GET",
9fda36b0 20082 "name" : "spamscores",
d7cd791b
DM
20083 "parameters" : {
20084 "additionalProperties" : 0,
20085 "properties" : {
9fda36b0
DM
20086 "day" : {
20087 "description" : "Day of month. Get statistics for a single day.",
20088 "maximum" : 31,
20089 "minimum" : 1,
20090 "optional" : 1,
20091 "type" : "integer",
20092 "typetext" : "<integer> (1 - 31)"
d7cd791b 20093 },
9fda36b0
DM
20094 "endtime" : {
20095 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
20096 "minimum" : 1,
d7cd791b 20097 "optional" : 1,
9fda36b0
DM
20098 "type" : "integer",
20099 "typetext" : "<integer> (1 - N)"
20100 },
20101 "month" : {
20102 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
20103 "maximum" : 12,
20104 "minimum" : 1,
20105 "optional" : 1,
20106 "type" : "integer",
20107 "typetext" : "<integer> (1 - 12)"
20108 },
20109 "starttime" : {
20110 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
20111 "minimum" : 0,
20112 "optional" : 1,
20113 "type" : "integer",
20114 "typetext" : "<integer> (0 - N)"
20115 },
20116 "year" : {
20117 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
20118 "maximum" : 3000,
20119 "minimum" : 1900,
20120 "optional" : 1,
20121 "type" : "integer",
20122 "typetext" : "<integer> (1900 - 3000)"
d7cd791b
DM
20123 }
20124 }
20125 },
20126 "permissions" : {
20127 "check" : [
20128 "admin",
20129 "qmanager",
9fda36b0 20130 "audit"
d7cd791b
DM
20131 ]
20132 },
20133 "returns" : {
9fda36b0
DM
20134 "items" : {
20135 "properties" : {
20136 "count" : {
20137 "description" : "Detection count.",
20138 "type" : "integer"
20139 },
20140 "level" : {
20141 "description" : "Spam level.",
20142 "type" : "string"
20143 },
20144 "ratio" : {
20145 "description" : "Portion of overall mail count.",
20146 "type" : "number"
20147 }
d7cd791b 20148 },
9fda36b0
DM
20149 "type" : "object"
20150 },
20151 "type" : "array"
20152 }
20153 }
20154 },
20155 "leaf" : 1,
20156 "path" : "/statistics/spamscores",
20157 "text" : "spamscores"
20158 },
20159 {
20160 "info" : {
20161 "GET" : {
6bd70b95 20162 "allowtoken" : 1,
9fda36b0
DM
20163 "description" : "Get the count of spam mails grouped by spam score. Count for score 10 includes mails with spam score > 10.",
20164 "method" : "GET",
20165 "name" : "maildistribution",
20166 "parameters" : {
20167 "additionalProperties" : 0,
20168 "properties" : {
20169 "day" : {
20170 "description" : "Day of month. Get statistics for a single day.",
20171 "maximum" : 31,
20172 "minimum" : 1,
d7cd791b 20173 "optional" : 1,
9fda36b0
DM
20174 "type" : "integer",
20175 "typetext" : "<integer> (1 - 31)"
d7cd791b 20176 },
9fda36b0
DM
20177 "endtime" : {
20178 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
20179 "minimum" : 1,
20180 "optional" : 1,
20181 "type" : "integer",
20182 "typetext" : "<integer> (1 - N)"
d7cd791b 20183 },
9fda36b0
DM
20184 "month" : {
20185 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
20186 "maximum" : 12,
20187 "minimum" : 1,
20188 "optional" : 1,
20189 "type" : "integer",
20190 "typetext" : "<integer> (1 - 12)"
d7cd791b 20191 },
9fda36b0
DM
20192 "starttime" : {
20193 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
20194 "minimum" : 0,
20195 "optional" : 1,
20196 "type" : "integer",
20197 "typetext" : "<integer> (0 - N)"
d7cd791b 20198 },
9fda36b0
DM
20199 "year" : {
20200 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
20201 "maximum" : 3000,
20202 "minimum" : 1900,
20203 "optional" : 1,
20204 "type" : "integer",
20205 "typetext" : "<integer> (1900 - 3000)"
d7cd791b 20206 }
9fda36b0
DM
20207 }
20208 },
20209 "permissions" : {
20210 "check" : [
20211 "admin",
20212 "qmanager",
20213 "audit"
20214 ]
20215 },
20216 "returns" : {
20217 "items" : {
20218 "properties" : {
20219 "bounces_in" : {
20220 "description" : "Incoming bounce mail count (sender = <>).",
20221 "type" : "number"
20222 },
20223 "bounces_out" : {
20224 "description" : "Outgoing bounce mail count (sender = <>).",
20225 "type" : "number"
20226 },
20227 "count" : {
20228 "description" : "Overall mail count (in and out).",
20229 "type" : "number"
20230 },
20231 "count_in" : {
20232 "description" : "Incoming mail count.",
20233 "type" : "number"
20234 },
20235 "count_out" : {
20236 "description" : "Outgoing mail count.",
20237 "type" : "number"
20238 },
20239 "index" : {
20240 "description" : "Hour (0-23).",
20241 "type" : "integer"
20242 },
20243 "spamcount_in" : {
20244 "description" : "Incoming spam mails (spamcount_in + glcount + spfcount).",
20245 "type" : "number"
20246 },
20247 "spamcount_out" : {
20248 "description" : "Outgoing spam mails.",
20249 "type" : "number"
20250 },
20251 "viruscount_in" : {
20252 "description" : "Number of incoming virus mails.",
20253 "type" : "number"
20254 },
20255 "viruscount_out" : {
20256 "description" : "Number of outgoing virus mails.",
20257 "type" : "number"
20258 }
20259 },
20260 "type" : "object"
d7cd791b 20261 },
9fda36b0 20262 "type" : "array"
d7cd791b 20263 }
9fda36b0
DM
20264 }
20265 },
20266 "leaf" : 1,
20267 "path" : "/statistics/maildistribution",
20268 "text" : "maildistribution"
20269 },
20270 {
20271 "info" : {
20272 "GET" : {
6bd70b95 20273 "allowtoken" : 1,
274b47fc 20274 "description" : "Early SMTP reject count statistic (RBL, PREGREET rejects with postscreen)",
9fda36b0 20275 "method" : "GET",
274b47fc 20276 "name" : "rejectcount",
d7cd791b
DM
20277 "parameters" : {
20278 "additionalProperties" : 0,
20279 "properties" : {
9fda36b0
DM
20280 "day" : {
20281 "description" : "Day of month. Get statistics for a single day.",
20282 "maximum" : 31,
20283 "minimum" : 1,
20284 "optional" : 1,
20285 "type" : "integer",
20286 "typetext" : "<integer> (1 - 31)"
d7cd791b 20287 },
9fda36b0
DM
20288 "endtime" : {
20289 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
20290 "minimum" : 1,
20291 "optional" : 1,
20292 "type" : "integer",
20293 "typetext" : "<integer> (1 - N)"
20294 },
20295 "month" : {
20296 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
20297 "maximum" : 12,
20298 "minimum" : 1,
20299 "optional" : 1,
20300 "type" : "integer",
20301 "typetext" : "<integer> (1 - 12)"
20302 },
20303 "starttime" : {
20304 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
20305 "minimum" : 0,
20306 "optional" : 1,
20307 "type" : "integer",
20308 "typetext" : "<integer> (0 - N)"
20309 },
20310 "timespan" : {
20311 "default" : 3600,
274b47fc 20312 "description" : "Return RBL/PREGREET rejects/<timespan>, where <timespan> is specified in seconds.",
9fda36b0
DM
20313 "maximum" : 31622400,
20314 "minimum" : 3600,
20315 "optional" : 1,
20316 "type" : "integer",
20317 "typetext" : "<integer> (3600 - 31622400)"
20318 },
20319 "year" : {
20320 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
20321 "maximum" : 3000,
20322 "minimum" : 1900,
20323 "optional" : 1,
20324 "type" : "integer",
20325 "typetext" : "<integer> (1900 - 3000)"
d7cd791b
DM
20326 }
20327 }
20328 },
20329 "permissions" : {
20330 "check" : [
20331 "admin",
20332 "qmanager",
9fda36b0 20333 "audit"
d7cd791b
DM
20334 ]
20335 },
d7cd791b 20336 "returns" : {
9fda36b0
DM
20337 "items" : {
20338 "properties" : {
9fda36b0
DM
20339 "index" : {
20340 "description" : "Time index.",
20341 "type" : "integer"
20342 },
274b47fc
DM
20343 "pregreet_rejects" : {
20344 "description" : "PREGREET recject count.",
20345 "type" : "integer"
20346 },
20347 "rbl_rejects" : {
20348 "description" : "RBL recject count.",
20349 "type" : "integer"
20350 },
9fda36b0
DM
20351 "time" : {
20352 "description" : "Time (Unix epoch).",
20353 "type" : "integer"
20354 }
20355 },
20356 "type" : "object"
20357 },
20358 "type" : "array"
d7cd791b
DM
20359 }
20360 }
20361 },
20362 "leaf" : 1,
274b47fc
DM
20363 "path" : "/statistics/rejectcount",
20364 "text" : "rejectcount"
d7cd791b
DM
20365 }
20366 ],
20367 "info" : {
20368 "GET" : {
6bd70b95 20369 "allowtoken" : 1,
d7cd791b
DM
20370 "description" : "Directory index.",
20371 "method" : "GET",
20372 "name" : "index",
20373 "parameters" : {
20374 "additionalProperties" : 0
20375 },
20376 "permissions" : {
9fda36b0
DM
20377 "check" : [
20378 "admin",
20379 "qmanager",
20380 "audit"
20381 ]
d7cd791b
DM
20382 },
20383 "returns" : {
20384 "items" : {
20385 "properties" : {},
20386 "type" : "object"
20387 },
20388 "links" : [
20389 {
20390 "href" : "{name}",
20391 "rel" : "child"
20392 }
20393 ],
20394 "type" : "array"
20395 }
20396 }
20397 },
20398 "leaf" : 0,
9fda36b0
DM
20399 "path" : "/statistics",
20400 "text" : "statistics"
d7cd791b 20401 },
410dc2c9
DM
20402 {
20403 "info" : {
20404 "GET" : {
6bd70b95 20405 "allowtoken" : 1,
410dc2c9
DM
20406 "description" : "API version details.",
20407 "method" : "GET",
20408 "name" : "version",
20409 "parameters" : {
20410 "additionalProperties" : 0
20411 },
20412 "permissions" : {
20413 "user" : "all"
20414 },
20415 "returns" : {
20416 "properties" : {
20417 "release" : {
241ac83c 20418 "description" : "The current installed Proxmox Mailgateway Release",
410dc2c9
DM
20419 "type" : "string"
20420 },
20421 "repoid" : {
241ac83c 20422 "description" : "The short git commit hash ID from which this version was build",
410dc2c9
DM
20423 "type" : "string"
20424 },
20425 "version" : {
241ac83c 20426 "description" : "The current installed pmg-api package version",
410dc2c9
DM
20427 "type" : "string"
20428 }
20429 },
20430 "type" : "object"
20431 }
20432 }
20433 },
20434 "leaf" : 1,
20435 "path" : "/version",
20436 "text" : "version"
20437 }
20438]
20439;
20440