]> git.proxmox.com Git - pmg-docs.git/blame - api-viewer/apidata.js
update static schema info
[pmg-docs.git] / api-viewer / apidata.js
CommitLineData
14ffe66b 1var apiSchema = [
410dc2c9
DM
2 {
3 "children" : [
4 {
5 "children" : [
d7cd791b
DM
6 {
7 "info" : {
8 "GET" : {
6bd70b95 9 "allowtoken" : 1,
d7cd791b
DM
10 "description" : "Returns the rule database digest. This is used internally for cluster synchronization.",
11 "method" : "GET",
12 "name" : "ruledb_digest",
13 "parameters" : {
14 "additionalProperties" : 0
15 },
732d76e1
DM
16 "permissions" : {
17 "check" : [
18 "admin",
19 "audit"
20 ]
21 },
d7cd791b
DM
22 "returns" : {
23 "type" : "string"
24 }
25 }
26 },
27 "leaf" : 1,
28 "path" : "/config/ruledb/digest",
29 "text" : "digest"
30 },
410dc2c9 31 {
f245a28c
DM
32 "children" : [
33 {
34 "children" : [
35 {
36 "info" : {
37 "GET" : {
6bd70b95 38 "allowtoken" : 1,
f245a28c
DM
39 "description" : "Get common rule properties.",
40 "method" : "GET",
41 "name" : "config",
42 "parameters" : {
43 "additionalProperties" : 0,
44 "properties" : {
45 "id" : {
46 "description" : "Rule ID.",
47 "type" : "integer",
48 "typetext" : "<integer>"
49 }
50 }
51 },
732d76e1
DM
52 "permissions" : {
53 "check" : [
54 "admin",
55 "audit"
56 ]
57 },
f245a28c
DM
58 "proxyto" : "master",
59 "returns" : {
60 "properties" : {
61 "active" : {
62 "type" : "boolean"
63 },
64 "direction" : {
65 "type" : "integer"
66 },
67 "id" : {
68 "type" : "integer"
69 },
70 "name" : {
71 "type" : "string"
72 },
73 "priority" : {
74 "type" : "integer"
75 }
76 },
77 "type" : "object"
78 }
79 },
80 "PUT" : {
6bd70b95 81 "allowtoken" : 1,
f245a28c
DM
82 "description" : "Set rule properties.",
83 "method" : "PUT",
84 "name" : "update_config",
85 "parameters" : {
86 "additionalProperties" : 0,
87 "properties" : {
88 "active" : {
89 "description" : "Flag to activate rule.",
90 "optional" : 1,
91 "type" : "boolean",
92 "typetext" : "<boolean>"
93 },
94 "direction" : {
d8212759 95 "description" : "Rule direction. Value `0` matches incoming mails, value `1` matches outgoing mails, and value `2` matches both directions.",
f245a28c
DM
96 "maximum" : 2,
97 "minimum" : 0,
98 "optional" : 1,
99 "type" : "integer",
100 "typetext" : "<integer> (0 - 2)"
101 },
102 "id" : {
103 "description" : "Rule ID.",
104 "type" : "integer",
105 "typetext" : "<integer>"
106 },
107 "name" : {
108 "description" : "Rule name",
109 "optional" : 1,
110 "type" : "string",
111 "typetext" : "<string>"
112 },
113 "priority" : {
114 "description" : "Rule priotity.",
115 "maximum" : 100,
116 "minimum" : 0,
117 "optional" : 1,
118 "type" : "integer",
119 "typetext" : "<integer> (0 - 100)"
120 }
121 }
122 },
732d76e1
DM
123 "permissions" : {
124 "check" : [
125 "admin"
126 ]
127 },
f245a28c
DM
128 "protected" : 1,
129 "proxyto" : "master",
130 "returns" : {
131 "type" : "null"
132 }
133 }
134 },
135 "leaf" : 1,
136 "path" : "/config/ruledb/rules/{id}/config",
137 "text" : "config"
138 },
139 {
140 "children" : [
141 {
142 "info" : {
143 "DELETE" : {
6bd70b95 144 "allowtoken" : 1,
f245a28c
DM
145 "description" : "Delete group from 'from' list.",
146 "method" : "DELETE",
147 "name" : "delete_from_group",
148 "parameters" : {
149 "additionalProperties" : 0,
150 "properties" : {
151 "id" : {
152 "description" : "Rule ID.",
153 "type" : "integer",
154 "typetext" : "<integer>"
155 },
156 "ogroup" : {
157 "description" : "Groups ID.",
158 "type" : "integer",
159 "typetext" : "<integer>"
160 }
161 }
162 },
732d76e1
DM
163 "permissions" : {
164 "check" : [
165 "admin"
166 ]
167 },
f245a28c
DM
168 "protected" : 1,
169 "proxyto" : "master",
170 "returns" : {
171 "type" : "null"
172 }
173 }
174 },
175 "leaf" : 1,
176 "path" : "/config/ruledb/rules/{id}/from/{ogroup}",
177 "text" : "{ogroup}"
178 }
179 ],
180 "info" : {
181 "GET" : {
6bd70b95 182 "allowtoken" : 1,
f245a28c
DM
183 "description" : "Get 'from' group list.",
184 "method" : "GET",
185 "name" : "from",
186 "parameters" : {
187 "additionalProperties" : 0,
188 "properties" : {
189 "id" : {
190 "description" : "Rule ID.",
191 "type" : "integer",
192 "typetext" : "<integer>"
193 }
194 }
195 },
732d76e1
DM
196 "permissions" : {
197 "check" : [
198 "admin",
199 "audit"
200 ]
201 },
f245a28c
DM
202 "proxyto" : "master",
203 "returns" : {
204 "items" : {
205 "properties" : {
206 "id" : {
207 "type" : "integer"
208 }
209 },
210 "type" : "object"
211 },
212 "type" : "array"
213 }
214 },
215 "POST" : {
6bd70b95 216 "allowtoken" : 1,
f245a28c
DM
217 "description" : "Add group to 'from' list.",
218 "method" : "POST",
219 "name" : "add_from_group",
220 "parameters" : {
221 "additionalProperties" : 0,
222 "properties" : {
223 "id" : {
224 "description" : "Rule ID.",
225 "type" : "integer",
226 "typetext" : "<integer>"
227 },
228 "ogroup" : {
229 "description" : "Groups ID.",
230 "type" : "integer",
231 "typetext" : "<integer>"
232 }
233 }
234 },
732d76e1
DM
235 "permissions" : {
236 "check" : [
237 "admin"
238 ]
239 },
f245a28c
DM
240 "protected" : 1,
241 "proxyto" : "master",
242 "returns" : {
243 "type" : "null"
244 }
245 }
246 },
247 "leaf" : 0,
248 "path" : "/config/ruledb/rules/{id}/from",
249 "text" : "from"
250 },
251 {
252 "children" : [
253 {
254 "info" : {
255 "DELETE" : {
6bd70b95 256 "allowtoken" : 1,
f245a28c
DM
257 "description" : "Delete group from 'to' list.",
258 "method" : "DELETE",
259 "name" : "delete_to_group",
260 "parameters" : {
261 "additionalProperties" : 0,
262 "properties" : {
263 "id" : {
264 "description" : "Rule ID.",
265 "type" : "integer",
266 "typetext" : "<integer>"
267 },
268 "ogroup" : {
269 "description" : "Groups ID.",
270 "type" : "integer",
271 "typetext" : "<integer>"
272 }
273 }
274 },
732d76e1
DM
275 "permissions" : {
276 "check" : [
277 "admin"
278 ]
279 },
f245a28c
DM
280 "protected" : 1,
281 "proxyto" : "master",
282 "returns" : {
283 "type" : "null"
284 }
285 }
286 },
287 "leaf" : 1,
288 "path" : "/config/ruledb/rules/{id}/to/{ogroup}",
289 "text" : "{ogroup}"
290 }
291 ],
292 "info" : {
293 "GET" : {
6bd70b95 294 "allowtoken" : 1,
f245a28c
DM
295 "description" : "Get 'to' group list.",
296 "method" : "GET",
297 "name" : "to",
298 "parameters" : {
299 "additionalProperties" : 0,
300 "properties" : {
301 "id" : {
302 "description" : "Rule ID.",
303 "type" : "integer",
304 "typetext" : "<integer>"
305 }
306 }
307 },
732d76e1
DM
308 "permissions" : {
309 "check" : [
310 "admin",
311 "audit"
312 ]
313 },
f245a28c
DM
314 "proxyto" : "master",
315 "returns" : {
316 "items" : {
317 "properties" : {
318 "id" : {
319 "type" : "integer"
320 }
321 },
322 "type" : "object"
323 },
324 "type" : "array"
325 }
326 },
327 "POST" : {
6bd70b95 328 "allowtoken" : 1,
f245a28c
DM
329 "description" : "Add group to 'to' list.",
330 "method" : "POST",
331 "name" : "add_to_group",
332 "parameters" : {
333 "additionalProperties" : 0,
334 "properties" : {
335 "id" : {
336 "description" : "Rule ID.",
337 "type" : "integer",
338 "typetext" : "<integer>"
339 },
340 "ogroup" : {
341 "description" : "Groups ID.",
342 "type" : "integer",
343 "typetext" : "<integer>"
344 }
345 }
346 },
732d76e1
DM
347 "permissions" : {
348 "check" : [
349 "admin"
350 ]
351 },
f245a28c
DM
352 "protected" : 1,
353 "proxyto" : "master",
354 "returns" : {
355 "type" : "null"
356 }
357 }
358 },
359 "leaf" : 0,
360 "path" : "/config/ruledb/rules/{id}/to",
361 "text" : "to"
362 },
363 {
364 "children" : [
365 {
366 "info" : {
367 "DELETE" : {
6bd70b95 368 "allowtoken" : 1,
f245a28c
DM
369 "description" : "Delete group from 'when' list.",
370 "method" : "DELETE",
371 "name" : "delete_when_group",
372 "parameters" : {
373 "additionalProperties" : 0,
374 "properties" : {
375 "id" : {
376 "description" : "Rule ID.",
377 "type" : "integer",
378 "typetext" : "<integer>"
379 },
380 "ogroup" : {
381 "description" : "Groups ID.",
382 "type" : "integer",
383 "typetext" : "<integer>"
384 }
385 }
386 },
732d76e1
DM
387 "permissions" : {
388 "check" : [
389 "admin"
390 ]
391 },
f245a28c
DM
392 "protected" : 1,
393 "proxyto" : "master",
394 "returns" : {
395 "type" : "null"
396 }
397 }
398 },
399 "leaf" : 1,
400 "path" : "/config/ruledb/rules/{id}/when/{ogroup}",
401 "text" : "{ogroup}"
402 }
403 ],
404 "info" : {
405 "GET" : {
6bd70b95 406 "allowtoken" : 1,
f245a28c
DM
407 "description" : "Get 'when' group list.",
408 "method" : "GET",
409 "name" : "when",
410 "parameters" : {
411 "additionalProperties" : 0,
412 "properties" : {
413 "id" : {
414 "description" : "Rule ID.",
415 "type" : "integer",
416 "typetext" : "<integer>"
417 }
418 }
419 },
732d76e1
DM
420 "permissions" : {
421 "check" : [
422 "admin",
423 "audit"
424 ]
425 },
f245a28c
DM
426 "proxyto" : "master",
427 "returns" : {
428 "items" : {
429 "properties" : {
430 "id" : {
431 "type" : "integer"
432 }
433 },
434 "type" : "object"
435 },
436 "type" : "array"
437 }
438 },
439 "POST" : {
6bd70b95 440 "allowtoken" : 1,
f245a28c
DM
441 "description" : "Add group to 'when' list.",
442 "method" : "POST",
443 "name" : "add_when_group",
444 "parameters" : {
445 "additionalProperties" : 0,
446 "properties" : {
447 "id" : {
448 "description" : "Rule ID.",
449 "type" : "integer",
450 "typetext" : "<integer>"
451 },
452 "ogroup" : {
453 "description" : "Groups ID.",
454 "type" : "integer",
455 "typetext" : "<integer>"
456 }
457 }
458 },
732d76e1
DM
459 "permissions" : {
460 "check" : [
461 "admin"
462 ]
463 },
f245a28c
DM
464 "protected" : 1,
465 "proxyto" : "master",
466 "returns" : {
467 "type" : "null"
468 }
469 }
470 },
471 "leaf" : 0,
472 "path" : "/config/ruledb/rules/{id}/when",
473 "text" : "when"
474 },
475 {
476 "children" : [
477 {
478 "info" : {
479 "DELETE" : {
6bd70b95 480 "allowtoken" : 1,
f245a28c
DM
481 "description" : "Delete group from 'what' list.",
482 "method" : "DELETE",
483 "name" : "delete_what_group",
484 "parameters" : {
485 "additionalProperties" : 0,
486 "properties" : {
487 "id" : {
488 "description" : "Rule ID.",
489 "type" : "integer",
490 "typetext" : "<integer>"
491 },
492 "ogroup" : {
493 "description" : "Groups ID.",
494 "type" : "integer",
495 "typetext" : "<integer>"
496 }
497 }
498 },
732d76e1
DM
499 "permissions" : {
500 "check" : [
501 "admin"
502 ]
503 },
f245a28c
DM
504 "protected" : 1,
505 "proxyto" : "master",
506 "returns" : {
507 "type" : "null"
508 }
509 }
510 },
511 "leaf" : 1,
512 "path" : "/config/ruledb/rules/{id}/what/{ogroup}",
513 "text" : "{ogroup}"
514 }
515 ],
516 "info" : {
517 "GET" : {
6bd70b95 518 "allowtoken" : 1,
f245a28c
DM
519 "description" : "Get 'what' group list.",
520 "method" : "GET",
521 "name" : "what",
522 "parameters" : {
523 "additionalProperties" : 0,
524 "properties" : {
525 "id" : {
526 "description" : "Rule ID.",
527 "type" : "integer",
528 "typetext" : "<integer>"
529 }
530 }
531 },
732d76e1
DM
532 "permissions" : {
533 "check" : [
534 "admin",
535 "audit"
536 ]
537 },
f245a28c
DM
538 "proxyto" : "master",
539 "returns" : {
540 "items" : {
541 "properties" : {
542 "id" : {
543 "type" : "integer"
544 }
545 },
546 "type" : "object"
547 },
548 "type" : "array"
549 }
550 },
551 "POST" : {
6bd70b95 552 "allowtoken" : 1,
f245a28c
DM
553 "description" : "Add group to 'what' list.",
554 "method" : "POST",
555 "name" : "add_what_group",
556 "parameters" : {
557 "additionalProperties" : 0,
558 "properties" : {
559 "id" : {
560 "description" : "Rule ID.",
561 "type" : "integer",
562 "typetext" : "<integer>"
563 },
564 "ogroup" : {
565 "description" : "Groups ID.",
566 "type" : "integer",
567 "typetext" : "<integer>"
568 }
569 }
570 },
732d76e1
DM
571 "permissions" : {
572 "check" : [
573 "admin"
574 ]
575 },
f245a28c
DM
576 "protected" : 1,
577 "proxyto" : "master",
578 "returns" : {
579 "type" : "null"
580 }
581 }
582 },
583 "leaf" : 0,
584 "path" : "/config/ruledb/rules/{id}/what",
585 "text" : "what"
586 },
587 {
588 "children" : [
589 {
590 "info" : {
591 "DELETE" : {
6bd70b95 592 "allowtoken" : 1,
f245a28c
DM
593 "description" : "Delete group from 'action' list.",
594 "method" : "DELETE",
595 "name" : "delete_action_group",
596 "parameters" : {
597 "additionalProperties" : 0,
598 "properties" : {
599 "id" : {
600 "description" : "Rule ID.",
601 "type" : "integer",
602 "typetext" : "<integer>"
603 },
604 "ogroup" : {
605 "description" : "Groups ID.",
606 "type" : "integer",
607 "typetext" : "<integer>"
608 }
609 }
610 },
732d76e1
DM
611 "permissions" : {
612 "check" : [
613 "admin"
614 ]
615 },
f245a28c
DM
616 "protected" : 1,
617 "proxyto" : "master",
618 "returns" : {
619 "type" : "null"
620 }
621 }
622 },
623 "leaf" : 1,
624 "path" : "/config/ruledb/rules/{id}/action/{ogroup}",
625 "text" : "{ogroup}"
626 }
627 ],
628 "info" : {
629 "GET" : {
6bd70b95 630 "allowtoken" : 1,
f245a28c
DM
631 "description" : "Get 'action' group list.",
632 "method" : "GET",
633 "name" : "action",
634 "parameters" : {
635 "additionalProperties" : 0,
636 "properties" : {
637 "id" : {
638 "description" : "Rule ID.",
639 "type" : "integer",
640 "typetext" : "<integer>"
641 }
642 }
643 },
732d76e1
DM
644 "permissions" : {
645 "check" : [
646 "admin",
647 "audit"
648 ]
649 },
f245a28c
DM
650 "proxyto" : "master",
651 "returns" : {
652 "items" : {
653 "properties" : {
654 "id" : {
655 "type" : "integer"
656 }
657 },
658 "type" : "object"
659 },
660 "type" : "array"
661 }
662 },
663 "POST" : {
6bd70b95 664 "allowtoken" : 1,
f245a28c
DM
665 "description" : "Add group to 'action' list.",
666 "method" : "POST",
667 "name" : "add_action_group",
668 "parameters" : {
669 "additionalProperties" : 0,
670 "properties" : {
671 "id" : {
672 "description" : "Rule ID.",
673 "type" : "integer",
674 "typetext" : "<integer>"
675 },
676 "ogroup" : {
677 "description" : "Groups ID.",
678 "type" : "integer",
679 "typetext" : "<integer>"
680 }
681 }
682 },
732d76e1
DM
683 "permissions" : {
684 "check" : [
685 "admin"
686 ]
687 },
f245a28c
DM
688 "protected" : 1,
689 "proxyto" : "master",
690 "returns" : {
691 "type" : "null"
692 }
693 }
694 },
695 "leaf" : 0,
696 "path" : "/config/ruledb/rules/{id}/action",
697 "text" : "action"
698 }
699 ],
700 "info" : {
701 "DELETE" : {
6bd70b95 702 "allowtoken" : 1,
f245a28c
DM
703 "description" : "Delete rule.",
704 "method" : "DELETE",
705 "name" : "delete_rule",
706 "parameters" : {
707 "additionalProperties" : 0,
708 "properties" : {
709 "id" : {
710 "description" : "Rule ID.",
711 "type" : "integer",
712 "typetext" : "<integer>"
713 }
714 }
715 },
732d76e1
DM
716 "permissions" : {
717 "check" : [
718 "admin"
719 ]
720 },
d7cd791b
DM
721 "protected" : 1,
722 "proxyto" : "master",
f245a28c
DM
723 "returns" : {
724 "type" : "null"
725 }
726 },
727 "GET" : {
6bd70b95 728 "allowtoken" : 1,
f245a28c
DM
729 "description" : "Directory index.",
730 "method" : "GET",
731 "name" : "index",
732 "parameters" : {
733 "additionalProperties" : 0,
734 "properties" : {
735 "id" : {
736 "description" : "Rule ID.",
737 "type" : "integer",
738 "typetext" : "<integer>"
739 }
740 }
741 },
732d76e1
DM
742 "permissions" : {
743 "check" : [
744 "admin",
745 "audit"
746 ]
747 },
f245a28c
DM
748 "returns" : {
749 "items" : {
750 "properties" : {
751 "subdir" : {
752 "type" : "string"
753 }
754 },
755 "type" : "object"
756 },
757 "links" : [
758 {
759 "href" : "{subdir}",
760 "rel" : "child"
761 }
762 ],
763 "type" : "array"
764 }
765 }
766 },
767 "leaf" : 0,
768 "path" : "/config/ruledb/rules/{id}",
769 "text" : "{id}"
770 }
771 ],
772 "info" : {
773 "GET" : {
6bd70b95 774 "allowtoken" : 1,
f245a28c
DM
775 "description" : "Get list of rules.",
776 "method" : "GET",
777 "name" : "list_rules",
778 "parameters" : {
779 "additionalProperties" : 0
780 },
732d76e1
DM
781 "permissions" : {
782 "check" : [
783 "admin",
784 "audit"
785 ]
786 },
f245a28c
DM
787 "proxyto" : "master",
788 "returns" : {
789 "items" : {
790 "properties" : {
791 "id" : {
792 "type" : "integer"
793 }
794 },
795 "type" : "object"
796 },
797 "links" : [
798 {
799 "href" : "{id}",
800 "rel" : "child"
801 }
802 ],
803 "type" : "array"
804 }
805 },
806 "POST" : {
6bd70b95 807 "allowtoken" : 1,
f245a28c
DM
808 "description" : "Create new rule.",
809 "method" : "POST",
810 "name" : "create_rule",
811 "parameters" : {
812 "additionalProperties" : 0,
813 "properties" : {
814 "active" : {
815 "description" : "Flag to activate rule.",
816 "optional" : 1,
817 "type" : "boolean",
818 "typetext" : "<boolean>"
819 },
820 "direction" : {
d8212759 821 "description" : "Rule direction. Value `0` matches incoming mails, value `1` matches outgoing mails, and value `2` matches both directions.",
f245a28c
DM
822 "maximum" : 2,
823 "minimum" : 0,
824 "optional" : 1,
825 "type" : "integer",
826 "typetext" : "<integer> (0 - 2)"
827 },
828 "name" : {
829 "description" : "Rule name",
830 "type" : "string",
831 "typetext" : "<string>"
832 },
833 "priority" : {
834 "description" : "Rule priotity.",
835 "maximum" : 100,
836 "minimum" : 0,
837 "type" : "integer",
838 "typetext" : "<integer> (0 - 100)"
839 }
840 }
841 },
732d76e1
DM
842 "permissions" : {
843 "check" : [
844 "admin"
845 ]
846 },
f245a28c
DM
847 "protected" : 1,
848 "proxyto" : "master",
849 "returns" : {
850 "type" : "integer"
851 }
852 }
853 },
854 "leaf" : 0,
855 "path" : "/config/ruledb/rules",
856 "text" : "rules"
857 },
858 {
859 "children" : [
860 {
861 "children" : [
862 {
863 "info" : {
864 "DELETE" : {
6bd70b95 865 "allowtoken" : 1,
f245a28c
DM
866 "description" : "Delete 'actions' object.",
867 "method" : "DELETE",
868 "name" : "delete_action",
869 "parameters" : {
870 "additionalProperties" : 0,
871 "properties" : {
872 "id" : {
873 "description" : "Action Object ID.",
874 "pattern" : "\\d+_\\d+",
875 "type" : "string"
876 }
877 }
878 },
732d76e1
DM
879 "permissions" : {
880 "check" : [
881 "admin"
882 ]
883 },
d7cd791b
DM
884 "protected" : 1,
885 "proxyto" : "master",
f245a28c
DM
886 "returns" : {
887 "type" : "null"
888 }
889 }
890 },
891 "leaf" : 1,
892 "path" : "/config/ruledb/action/objects/{id}",
893 "text" : "{id}"
894 }
895 ],
896 "info" : {
897 "GET" : {
6bd70b95 898 "allowtoken" : 1,
f245a28c
DM
899 "description" : "List 'actions' objects.",
900 "method" : "GET",
901 "name" : "list_actions",
902 "parameters" : {
903 "additionalProperties" : 0
904 },
732d76e1
DM
905 "permissions" : {
906 "check" : [
907 "admin",
908 "audit"
909 ]
910 },
d7cd791b 911 "proxyto" : "master",
f245a28c
DM
912 "returns" : {
913 "items" : {
914 "properties" : {
915 "id" : {
916 "description" : "Action Object ID.",
917 "pattern" : "\\d+_\\d+",
918 "type" : "string"
919 }
920 },
921 "type" : "object"
922 },
923 "links" : [
924 {
925 "href" : "{id}",
926 "rel" : "child"
927 }
928 ],
929 "type" : "array"
930 }
931 }
932 },
933 "leaf" : 0,
934 "path" : "/config/ruledb/action/objects",
935 "text" : "objects"
936 },
937 {
938 "children" : [
939 {
940 "info" : {
941 "GET" : {
6bd70b95 942 "allowtoken" : 1,
f245a28c
DM
943 "description" : "Read 'BCC' object settings.",
944 "method" : "GET",
945 "name" : "read_bcc",
946 "parameters" : {
947 "additionalProperties" : 0,
948 "properties" : {
949 "id" : {
950 "description" : "Action Object ID.",
951 "pattern" : "\\d+_\\d+",
952 "type" : "string"
953 }
954 }
955 },
732d76e1
DM
956 "permissions" : {
957 "check" : [
958 "admin",
959 "audit"
960 ]
961 },
f245a28c
DM
962 "proxyto" : "master",
963 "returns" : {
964 "properties" : {
965 "id" : {
966 "type" : "string"
967 }
968 },
969 "type" : "object"
970 }
971 },
972 "PUT" : {
6bd70b95 973 "allowtoken" : 1,
f245a28c
DM
974 "description" : "Update 'BCC' object.",
975 "method" : "PUT",
976 "name" : "update_bcc",
977 "parameters" : {
978 "additionalProperties" : 0,
979 "properties" : {
980 "id" : {
981 "description" : "Action Object ID.",
982 "pattern" : "\\d+_\\d+",
983 "type" : "string"
984 },
985 "info" : {
986 "description" : "Informational comment.",
987 "maxLength" : 255,
988 "optional" : 1,
989 "type" : "string",
990 "typetext" : "<string>"
991 },
992 "name" : {
993 "description" : "Action name.",
994 "maxLength" : 255,
995 "optional" : 1,
996 "type" : "string",
997 "typetext" : "<string>"
998 },
999 "original" : {
1000 "default" : 1,
1001 "description" : "Send the original, unmodified mail.",
1002 "optional" : 1,
1003 "type" : "boolean",
1004 "typetext" : "<boolean>"
1005 },
1006 "target" : {
1007 "description" : "Send a Blind Carbon Copy to this email address.",
1008 "format" : "email",
1009 "type" : "string",
1010 "typetext" : "<string>"
1011 }
1012 }
1013 },
732d76e1
DM
1014 "permissions" : {
1015 "check" : [
1016 "admin"
1017 ]
1018 },
d7cd791b 1019 "protected" : 1,
f245a28c
DM
1020 "proxyto" : "master",
1021 "returns" : {
1022 "type" : "null"
1023 }
1024 }
1025 },
1026 "leaf" : 1,
1027 "path" : "/config/ruledb/action/bcc/{id}",
1028 "text" : "{id}"
1029 }
1030 ],
1031 "info" : {
1032 "POST" : {
6bd70b95 1033 "allowtoken" : 1,
f245a28c
DM
1034 "description" : "Create 'BCC' object.",
1035 "method" : "POST",
1036 "name" : "bcc",
1037 "parameters" : {
1038 "additionalProperties" : 0,
1039 "properties" : {
1040 "info" : {
1041 "description" : "Informational comment.",
1042 "maxLength" : 255,
1043 "optional" : 1,
1044 "type" : "string",
1045 "typetext" : "<string>"
1046 },
1047 "name" : {
1048 "description" : "Action name.",
1049 "maxLength" : 255,
1050 "type" : "string",
1051 "typetext" : "<string>"
1052 },
1053 "original" : {
1054 "default" : 1,
1055 "description" : "Send the original, unmodified mail.",
1056 "optional" : 1,
1057 "type" : "boolean",
1058 "typetext" : "<boolean>"
1059 },
1060 "target" : {
1061 "description" : "Send a Blind Carbon Copy to this email address.",
1062 "format" : "email",
1063 "type" : "string",
1064 "typetext" : "<string>"
1065 }
1066 }
1067 },
732d76e1
DM
1068 "permissions" : {
1069 "check" : [
1070 "admin"
1071 ]
1072 },
d7cd791b 1073 "protected" : 1,
f245a28c
DM
1074 "proxyto" : "master",
1075 "returns" : {
1076 "description" : "The object ID.",
1077 "type" : "string"
1078 }
1079 }
1080 },
1081 "leaf" : 0,
1082 "path" : "/config/ruledb/action/bcc",
1083 "text" : "bcc"
732d76e1 1084 },
f245a28c
DM
1085 {
1086 "children" : [
1087 {
1088 "info" : {
1089 "GET" : {
6bd70b95 1090 "allowtoken" : 1,
732d76e1 1091 "description" : "Read 'Header Attribute' object settings.",
f245a28c 1092 "method" : "GET",
732d76e1 1093 "name" : "read_field",
f245a28c
DM
1094 "parameters" : {
1095 "additionalProperties" : 0,
1096 "properties" : {
732d76e1
DM
1097 "id" : {
1098 "description" : "Action Object ID.",
1099 "pattern" : "\\d+_\\d+",
1100 "type" : "string"
f245a28c
DM
1101 }
1102 }
1103 },
732d76e1
DM
1104 "permissions" : {
1105 "check" : [
1106 "admin",
1107 "audit"
1108 ]
1109 },
f245a28c
DM
1110 "proxyto" : "master",
1111 "returns" : {
1112 "properties" : {
1113 "id" : {
f245a28c
DM
1114 "type" : "string"
1115 }
1116 },
1117 "type" : "object"
1118 }
1119 },
1120 "PUT" : {
6bd70b95 1121 "allowtoken" : 1,
732d76e1 1122 "description" : "Update 'Header Attribute' object.",
f245a28c 1123 "method" : "PUT",
732d76e1 1124 "name" : "update_field",
f245a28c
DM
1125 "parameters" : {
1126 "additionalProperties" : 0,
1127 "properties" : {
732d76e1
DM
1128 "field" : {
1129 "description" : "The Field",
1130 "maxLength" : 1024,
1131 "pattern" : "[0-9a-zA-Z\\/\\\\[\\]\\+\\-\\.\\*\\_]+",
1132 "type" : "string"
1133 },
1134 "id" : {
1135 "description" : "Action Object ID.",
1136 "pattern" : "\\d+_\\d+",
1137 "type" : "string"
1138 },
f245a28c
DM
1139 "info" : {
1140 "description" : "Informational comment.",
1141 "maxLength" : 255,
1142 "optional" : 1,
1143 "type" : "string",
1144 "typetext" : "<string>"
1145 },
1146 "name" : {
732d76e1 1147 "description" : "Action name.",
f245a28c
DM
1148 "maxLength" : 255,
1149 "optional" : 1,
1150 "type" : "string",
1151 "typetext" : "<string>"
1152 },
732d76e1
DM
1153 "value" : {
1154 "description" : "The Value",
1155 "maxLength" : 1024,
4a46ced6
DM
1156 "type" : "string",
1157 "typetext" : "<string>"
f245a28c
DM
1158 }
1159 }
1160 },
732d76e1
DM
1161 "permissions" : {
1162 "check" : [
1163 "admin"
1164 ]
1165 },
d7cd791b 1166 "protected" : 1,
f245a28c
DM
1167 "proxyto" : "master",
1168 "returns" : {
1169 "type" : "null"
1170 }
1171 }
1172 },
1173 "leaf" : 1,
732d76e1
DM
1174 "path" : "/config/ruledb/action/field/{id}",
1175 "text" : "{id}"
1176 }
1177 ],
1178 "info" : {
1179 "POST" : {
6bd70b95 1180 "allowtoken" : 1,
732d76e1
DM
1181 "description" : "Create 'Header Attribute' object.",
1182 "method" : "POST",
1183 "name" : "field",
1184 "parameters" : {
1185 "additionalProperties" : 0,
1186 "properties" : {
1187 "field" : {
1188 "description" : "The Field",
1189 "maxLength" : 1024,
1190 "pattern" : "[0-9a-zA-Z\\/\\\\[\\]\\+\\-\\.\\*\\_]+",
1191 "type" : "string"
1192 },
f245a28c 1193 "info" : {
732d76e1
DM
1194 "description" : "Informational comment.",
1195 "maxLength" : 255,
1196 "optional" : 1,
1197 "type" : "string",
1198 "typetext" : "<string>"
1199 },
1200 "name" : {
1201 "description" : "Action name.",
1202 "maxLength" : 255,
1203 "type" : "string",
1204 "typetext" : "<string>"
1205 },
1206 "value" : {
1207 "description" : "The Value",
1208 "maxLength" : 1024,
4a46ced6
DM
1209 "type" : "string",
1210 "typetext" : "<string>"
732d76e1
DM
1211 }
1212 }
1213 },
1214 "permissions" : {
1215 "check" : [
1216 "admin"
1217 ]
1218 },
1219 "protected" : 1,
1220 "proxyto" : "master",
1221 "returns" : {
1222 "description" : "The object ID.",
1223 "type" : "string"
1224 }
1225 }
1226 },
1227 "leaf" : 0,
1228 "path" : "/config/ruledb/action/field",
1229 "text" : "field"
1230 },
1231 {
1232 "children" : [
1233 {
1234 "info" : {
1235 "GET" : {
6bd70b95 1236 "allowtoken" : 1,
732d76e1
DM
1237 "description" : "Read 'Notification' object settings.",
1238 "method" : "GET",
1239 "name" : "read_notification",
1240 "parameters" : {
1241 "additionalProperties" : 0,
1242 "properties" : {
1243 "id" : {
1244 "description" : "Action Object ID.",
1245 "pattern" : "\\d+_\\d+",
1246 "type" : "string"
1247 }
1248 }
1249 },
1250 "permissions" : {
1251 "check" : [
1252 "admin",
1253 "audit"
1254 ]
1255 },
1256 "proxyto" : "master",
1257 "returns" : {
1258 "properties" : {
1259 "id" : {
1260 "type" : "string"
1261 }
1262 },
1263 "type" : "object"
1264 }
1265 },
1266 "PUT" : {
6bd70b95 1267 "allowtoken" : 1,
732d76e1
DM
1268 "description" : "Update 'Notification' object.",
1269 "method" : "PUT",
1270 "name" : "update_notification",
1271 "parameters" : {
1272 "additionalProperties" : 0,
1273 "properties" : {
1274 "attach" : {
1275 "default" : 0,
1276 "description" : "Attach original E-Mail",
1277 "optional" : 1,
1278 "type" : "boolean",
1279 "typetext" : "<boolean>"
1280 },
1281 "body" : {
1282 "description" : "The Notification Body",
1283 "maxLength" : 2048,
1284 "type" : "string",
1285 "typetext" : "<string>"
1286 },
1287 "id" : {
1288 "description" : "Action Object ID.",
1289 "pattern" : "\\d+_\\d+",
1290 "type" : "string"
1291 },
1292 "info" : {
1293 "description" : "Informational comment.",
1294 "maxLength" : 255,
1295 "optional" : 1,
1296 "type" : "string",
1297 "typetext" : "<string>"
1298 },
1299 "name" : {
1300 "description" : "Action name.",
1301 "maxLength" : 255,
1302 "optional" : 1,
1303 "type" : "string",
1304 "typetext" : "<string>"
1305 },
1306 "subject" : {
1307 "description" : "The Notification subject",
1308 "maxLength" : 100,
1309 "type" : "string",
1310 "typetext" : "<string>"
1311 },
1312 "to" : {
1313 "description" : "The Receiver E-Mail address",
1314 "maxLength" : 200,
1315 "type" : "string",
1316 "typetext" : "<string>"
1317 }
1318 }
1319 },
1320 "permissions" : {
1321 "check" : [
1322 "admin"
1323 ]
1324 },
1325 "protected" : 1,
1326 "proxyto" : "master",
1327 "returns" : {
1328 "type" : "null"
1329 }
1330 }
1331 },
1332 "leaf" : 1,
1333 "path" : "/config/ruledb/action/notification/{id}",
1334 "text" : "{id}"
1335 }
1336 ],
1337 "info" : {
1338 "POST" : {
6bd70b95 1339 "allowtoken" : 1,
732d76e1
DM
1340 "description" : "Create 'Notification' object.",
1341 "method" : "POST",
1342 "name" : "notification",
1343 "parameters" : {
1344 "additionalProperties" : 0,
1345 "properties" : {
1346 "attach" : {
1347 "default" : 0,
1348 "description" : "Attach original E-Mail",
1349 "optional" : 1,
1350 "type" : "boolean",
1351 "typetext" : "<boolean>"
1352 },
1353 "body" : {
1354 "description" : "The Notification Body",
1355 "maxLength" : 2048,
1356 "type" : "string",
1357 "typetext" : "<string>"
1358 },
1359 "info" : {
1360 "description" : "Informational comment.",
1361 "maxLength" : 255,
1362 "optional" : 1,
1363 "type" : "string",
1364 "typetext" : "<string>"
1365 },
1366 "name" : {
1367 "description" : "Action name.",
1368 "maxLength" : 255,
1369 "type" : "string",
1370 "typetext" : "<string>"
1371 },
1372 "subject" : {
1373 "description" : "The Notification subject",
1374 "maxLength" : 100,
1375 "type" : "string",
1376 "typetext" : "<string>"
1377 },
1378 "to" : {
1379 "description" : "The Receiver E-Mail address",
1380 "maxLength" : 200,
1381 "type" : "string",
1382 "typetext" : "<string>"
1383 }
1384 }
1385 },
1386 "permissions" : {
1387 "check" : [
1388 "admin"
1389 ]
1390 },
1391 "protected" : 1,
1392 "proxyto" : "master",
1393 "returns" : {
1394 "description" : "The object ID.",
1395 "type" : "string"
1396 }
1397 }
1398 },
1399 "leaf" : 0,
1400 "path" : "/config/ruledb/action/notification",
1401 "text" : "notification"
1402 },
1403 {
1404 "children" : [
1405 {
1406 "info" : {
1407 "GET" : {
6bd70b95 1408 "allowtoken" : 1,
732d76e1
DM
1409 "description" : "Read 'Disclaimer' object settings.",
1410 "method" : "GET",
1411 "name" : "read_disclaimer",
1412 "parameters" : {
1413 "additionalProperties" : 0,
1414 "properties" : {
1415 "id" : {
1416 "description" : "Action Object ID.",
1417 "pattern" : "\\d+_\\d+",
1418 "type" : "string"
1419 }
1420 }
1421 },
1422 "permissions" : {
1423 "check" : [
1424 "admin",
1425 "audit"
1426 ]
1427 },
1428 "proxyto" : "master",
1429 "returns" : {
1430 "properties" : {
1431 "id" : {
1432 "type" : "string"
1433 }
1434 },
1435 "type" : "object"
1436 }
1437 },
1438 "PUT" : {
6bd70b95 1439 "allowtoken" : 1,
732d76e1
DM
1440 "description" : "Update 'Disclaimer' object.",
1441 "method" : "PUT",
1442 "name" : "update_disclaimer",
1443 "parameters" : {
1444 "additionalProperties" : 0,
1445 "properties" : {
1446 "disclaimer" : {
1447 "description" : "The Disclaimer",
1448 "maxLength" : 2048,
1449 "type" : "string",
1450 "typetext" : "<string>"
1451 },
1452 "id" : {
1453 "description" : "Action Object ID.",
1454 "pattern" : "\\d+_\\d+",
1455 "type" : "string"
1456 },
1457 "info" : {
1458 "description" : "Informational comment.",
1459 "maxLength" : 255,
1460 "optional" : 1,
1461 "type" : "string",
1462 "typetext" : "<string>"
1463 },
1464 "name" : {
1465 "description" : "Action name.",
1466 "maxLength" : 255,
1467 "optional" : 1,
1468 "type" : "string",
1469 "typetext" : "<string>"
1470 }
1471 }
1472 },
1473 "permissions" : {
1474 "check" : [
1475 "admin"
1476 ]
1477 },
1478 "protected" : 1,
1479 "proxyto" : "master",
1480 "returns" : {
1481 "type" : "null"
1482 }
1483 }
1484 },
1485 "leaf" : 1,
1486 "path" : "/config/ruledb/action/disclaimer/{id}",
1487 "text" : "{id}"
1488 }
1489 ],
1490 "info" : {
1491 "POST" : {
6bd70b95 1492 "allowtoken" : 1,
732d76e1
DM
1493 "description" : "Create 'Disclaimer' object.",
1494 "method" : "POST",
1495 "name" : "disclaimer",
1496 "parameters" : {
1497 "additionalProperties" : 0,
1498 "properties" : {
1499 "disclaimer" : {
1500 "description" : "The Disclaimer",
1501 "maxLength" : 2048,
1502 "type" : "string",
1503 "typetext" : "<string>"
1504 },
1505 "info" : {
1506 "description" : "Informational comment.",
1507 "maxLength" : 255,
1508 "optional" : 1,
1509 "type" : "string",
1510 "typetext" : "<string>"
1511 },
1512 "name" : {
1513 "description" : "Action name.",
1514 "maxLength" : 255,
1515 "type" : "string",
1516 "typetext" : "<string>"
1517 }
1518 }
1519 },
1520 "permissions" : {
1521 "check" : [
1522 "admin"
1523 ]
1524 },
1525 "protected" : 1,
1526 "proxyto" : "master",
1527 "returns" : {
1528 "description" : "The object ID.",
1529 "type" : "string"
1530 }
1531 }
1532 },
1533 "leaf" : 0,
1534 "path" : "/config/ruledb/action/disclaimer",
1535 "text" : "disclaimer"
1536 },
1537 {
1538 "children" : [
1539 {
1540 "info" : {
1541 "GET" : {
6bd70b95 1542 "allowtoken" : 1,
732d76e1
DM
1543 "description" : "Read 'Remove attachments' object settings.",
1544 "method" : "GET",
1545 "name" : "read_removeattachments",
1546 "parameters" : {
1547 "additionalProperties" : 0,
1548 "properties" : {
1549 "id" : {
1550 "description" : "Action Object ID.",
1551 "pattern" : "\\d+_\\d+",
1552 "type" : "string"
1553 }
1554 }
1555 },
1556 "permissions" : {
1557 "check" : [
1558 "admin",
1559 "audit"
1560 ]
1561 },
1562 "proxyto" : "master",
1563 "returns" : {
1564 "properties" : {
1565 "id" : {
1566 "type" : "string"
1567 }
1568 },
1569 "type" : "object"
1570 }
1571 },
1572 "PUT" : {
6bd70b95 1573 "allowtoken" : 1,
732d76e1
DM
1574 "description" : "Update 'Remove attachments' object.",
1575 "method" : "PUT",
1576 "name" : "update_removeattachments",
1577 "parameters" : {
1578 "additionalProperties" : 0,
1579 "properties" : {
1580 "all" : {
1581 "description" : "Remove all attachments",
1582 "optional" : 1,
1583 "type" : "boolean",
1584 "typetext" : "<boolean>"
1585 },
1586 "id" : {
1587 "description" : "Action Object ID.",
1588 "pattern" : "\\d+_\\d+",
1589 "type" : "string"
1590 },
1591 "info" : {
1592 "description" : "Informational comment.",
1593 "maxLength" : 255,
1594 "optional" : 1,
1595 "type" : "string",
1596 "typetext" : "<string>"
1597 },
1598 "name" : {
1599 "description" : "Action name.",
1600 "maxLength" : 255,
1601 "optional" : 1,
1602 "type" : "string",
1603 "typetext" : "<string>"
1604 },
d210277a
TL
1605 "quarantine" : {
1606 "default" : 0,
1607 "description" : "Copy original mail to attachment Quarantine.",
1608 "optional" : 1,
1609 "type" : "boolean",
1610 "typetext" : "<boolean>"
1611 },
732d76e1
DM
1612 "text" : {
1613 "description" : "The replacement text.",
1614 "maxLength" : 2048,
1615 "type" : "string",
1616 "typetext" : "<string>"
1617 }
1618 }
1619 },
1620 "permissions" : {
1621 "check" : [
1622 "admin"
1623 ]
1624 },
1625 "protected" : 1,
1626 "proxyto" : "master",
1627 "returns" : {
1628 "type" : "null"
1629 }
1630 }
1631 },
1632 "leaf" : 1,
1633 "path" : "/config/ruledb/action/removeattachments/{id}",
1634 "text" : "{id}"
1635 }
1636 ],
1637 "info" : {
1638 "POST" : {
6bd70b95 1639 "allowtoken" : 1,
732d76e1
DM
1640 "description" : "Create 'Remove attachments' object.",
1641 "method" : "POST",
1642 "name" : "removeattachments",
1643 "parameters" : {
1644 "additionalProperties" : 0,
1645 "properties" : {
1646 "all" : {
1647 "description" : "Remove all attachments",
1648 "optional" : 1,
1649 "type" : "boolean",
1650 "typetext" : "<boolean>"
1651 },
1652 "info" : {
1653 "description" : "Informational comment.",
1654 "maxLength" : 255,
1655 "optional" : 1,
1656 "type" : "string",
1657 "typetext" : "<string>"
1658 },
1659 "name" : {
1660 "description" : "Action name.",
1661 "maxLength" : 255,
1662 "type" : "string",
1663 "typetext" : "<string>"
1664 },
d210277a
TL
1665 "quarantine" : {
1666 "default" : 0,
1667 "description" : "Copy original mail to attachment Quarantine.",
1668 "optional" : 1,
1669 "type" : "boolean",
1670 "typetext" : "<boolean>"
1671 },
732d76e1
DM
1672 "text" : {
1673 "description" : "The replacement text.",
1674 "maxLength" : 2048,
1675 "type" : "string",
1676 "typetext" : "<string>"
1677 }
1678 }
1679 },
1680 "permissions" : {
1681 "check" : [
1682 "admin"
1683 ]
1684 },
1685 "protected" : 1,
1686 "proxyto" : "master",
1687 "returns" : {
1688 "description" : "The object ID.",
1689 "type" : "string"
1690 }
1691 }
1692 },
1693 "leaf" : 0,
1694 "path" : "/config/ruledb/action/removeattachments",
1695 "text" : "removeattachments"
1696 }
1697 ],
1698 "info" : {
1699 "GET" : {
6bd70b95 1700 "allowtoken" : 1,
732d76e1
DM
1701 "description" : "Directory index.",
1702 "method" : "GET",
1703 "name" : "index",
1704 "parameters" : {
1705 "additionalProperties" : 0
1706 },
1707 "permissions" : {
1708 "check" : [
1709 "admin",
1710 "audit"
1711 ]
1712 },
1713 "returns" : {
1714 "items" : {
1715 "properties" : {
1716 "subdir" : {
1717 "type" : "string"
1718 }
1719 },
1720 "type" : "object"
1721 },
1722 "links" : [
1723 {
1724 "href" : "{subdir}",
1725 "rel" : "child"
1726 }
1727 ],
1728 "type" : "array"
1729 }
1730 }
1731 },
1732 "leaf" : 0,
1733 "path" : "/config/ruledb/action",
1734 "text" : "action"
1735 },
1736 {
1737 "children" : [
1738 {
1739 "children" : [
1740 {
1741 "info" : {
1742 "GET" : {
6bd70b95 1743 "allowtoken" : 1,
732d76e1
DM
1744 "description" : "Get 'what' group properties",
1745 "method" : "GET",
1746 "name" : "get_config",
1747 "parameters" : {
1748 "additionalProperties" : 0,
1749 "properties" : {
1750 "ogroup" : {
1751 "description" : "Object Group ID.",
1752 "type" : "integer",
1753 "typetext" : "<integer>"
1754 }
1755 }
1756 },
1757 "permissions" : {
1758 "check" : [
1759 "admin",
1760 "audit"
1761 ]
1762 },
1763 "proxyto" : "master",
1764 "returns" : {
1765 "properties" : {
1766 "id" : {
1767 "type" : "integer"
1768 },
1769 "info" : {
1770 "type" : "string"
1771 },
1772 "name" : {
1773 "type" : "string"
1774 }
1775 },
1776 "type" : "object"
1777 }
1778 },
1779 "PUT" : {
6bd70b95 1780 "allowtoken" : 1,
732d76e1
DM
1781 "description" : "Modify 'what' group properties",
1782 "method" : "PUT",
1783 "name" : "set_config",
1784 "parameters" : {
1785 "additionalProperties" : 0,
1786 "properties" : {
1787 "info" : {
1788 "description" : "Informational comment.",
1789 "maxLength" : 255,
1790 "optional" : 1,
1791 "type" : "string",
1792 "typetext" : "<string>"
1793 },
1794 "name" : {
1795 "description" : "Group name.",
1796 "maxLength" : 255,
1797 "optional" : 1,
1798 "type" : "string",
1799 "typetext" : "<string>"
1800 },
1801 "ogroup" : {
1802 "description" : "Object Group ID.",
1803 "type" : "integer",
1804 "typetext" : "<integer>"
1805 }
1806 }
1807 },
1808 "permissions" : {
1809 "check" : [
1810 "admin"
1811 ]
1812 },
1813 "protected" : 1,
1814 "proxyto" : "master",
1815 "returns" : {
1816 "type" : "null"
1817 }
1818 }
1819 },
1820 "leaf" : 1,
1821 "path" : "/config/ruledb/what/{ogroup}/config",
1822 "text" : "config"
1823 },
1824 {
1825 "children" : [
1826 {
1827 "info" : {
1828 "DELETE" : {
6bd70b95 1829 "allowtoken" : 1,
732d76e1
DM
1830 "description" : "Remove an object from the 'what' group.",
1831 "method" : "DELETE",
1832 "name" : "delete_object",
1833 "parameters" : {
1834 "additionalProperties" : 0,
1835 "properties" : {
1836 "id" : {
1837 "description" : "Object ID.",
1838 "type" : "integer",
1839 "typetext" : "<integer>"
1840 },
1841 "ogroup" : {
1842 "description" : "Object Group ID.",
1843 "type" : "integer",
1844 "typetext" : "<integer>"
1845 }
1846 }
1847 },
1848 "permissions" : {
1849 "check" : [
1850 "admin"
1851 ]
1852 },
1853 "protected" : 1,
1854 "proxyto" : "master",
f245a28c
DM
1855 "returns" : {
1856 "type" : "null"
1857 }
1858 }
1859 },
1860 "leaf" : 1,
1861 "path" : "/config/ruledb/what/{ogroup}/objects/{id}",
1862 "text" : "{id}"
1863 }
1864 ],
1865 "info" : {
1866 "GET" : {
6bd70b95 1867 "allowtoken" : 1,
f245a28c
DM
1868 "description" : "List 'what' group objects.",
1869 "method" : "GET",
1870 "name" : "objects",
1871 "parameters" : {
1872 "additionalProperties" : 0,
1873 "properties" : {
1874 "ogroup" : {
1875 "description" : "Object Group ID.",
1876 "type" : "integer",
1877 "typetext" : "<integer>"
1878 }
1879 }
1880 },
732d76e1
DM
1881 "permissions" : {
1882 "check" : [
1883 "admin",
1884 "audit"
1885 ]
1886 },
f245a28c
DM
1887 "proxyto" : "master",
1888 "returns" : {
1889 "items" : {
1890 "properties" : {
1891 "id" : {
1892 "type" : "integer"
1893 }
1894 },
1895 "type" : "object"
1896 },
1897 "links" : [
1898 {
1899 "href" : "{id}",
1900 "rel" : "child"
1901 }
1902 ],
1903 "type" : "array"
1904 }
1905 }
1906 },
1907 "leaf" : 0,
1908 "path" : "/config/ruledb/what/{ogroup}/objects",
1909 "text" : "objects"
f245a28c 1910 },
9fda36b0
DM
1911 {
1912 "children" : [
1913 {
1914 "info" : {
1915 "GET" : {
6bd70b95 1916 "allowtoken" : 1,
9fda36b0
DM
1917 "description" : "Read 'ContentType Filter' object settings.",
1918 "method" : "GET",
1919 "name" : "read_contenttype",
1920 "parameters" : {
1921 "additionalProperties" : 0,
1922 "properties" : {
1923 "id" : {
1924 "description" : "Object ID.",
1925 "type" : "integer",
1926 "typetext" : "<integer>"
1927 },
1928 "ogroup" : {
1929 "description" : "Object Groups ID.",
1930 "type" : "integer",
1931 "typetext" : "<integer>"
1932 }
1933 }
1934 },
c061d61d
DM
1935 "permissions" : {
1936 "check" : [
1937 "admin",
1938 "audit"
1939 ]
1940 },
9fda36b0
DM
1941 "proxyto" : "master",
1942 "returns" : {
1943 "properties" : {
1944 "id" : {
1945 "type" : "integer"
1946 }
1947 },
1948 "type" : "object"
1949 }
1950 },
1951 "PUT" : {
6bd70b95 1952 "allowtoken" : 1,
9fda36b0
DM
1953 "description" : "Update 'ContentType Filter' object.",
1954 "method" : "PUT",
1955 "name" : "update_contenttype",
1956 "parameters" : {
1957 "additionalProperties" : 0,
1958 "properties" : {
1959 "contenttype" : {
1960 "description" : "Content Type",
1961 "maxLength" : 1024,
1962 "pattern" : "[0-9a-zA-Z\\/\\\\[\\]\\+\\-\\.\\*\\_]+",
1963 "type" : "string"
1964 },
1965 "id" : {
1966 "description" : "Object ID.",
1967 "type" : "integer",
1968 "typetext" : "<integer>"
1969 },
1970 "ogroup" : {
1971 "description" : "Object Groups ID.",
1972 "type" : "integer",
1973 "typetext" : "<integer>"
1974 }
1975 }
1976 },
c061d61d
DM
1977 "permissions" : {
1978 "check" : [
1979 "admin"
1980 ]
1981 },
9fda36b0
DM
1982 "protected" : 1,
1983 "proxyto" : "master",
1984 "returns" : {
1985 "type" : "null"
1986 }
f245a28c
DM
1987 }
1988 },
9fda36b0
DM
1989 "leaf" : 1,
1990 "path" : "/config/ruledb/what/{ogroup}/contenttype/{id}",
1991 "text" : "{id}"
eff914dc 1992 }
9fda36b0 1993 ],
f245a28c 1994 "info" : {
9fda36b0 1995 "POST" : {
6bd70b95 1996 "allowtoken" : 1,
9fda36b0
DM
1997 "description" : "Add 'ContentType Filter' object.",
1998 "method" : "POST",
1999 "name" : "contenttype",
f245a28c
DM
2000 "parameters" : {
2001 "additionalProperties" : 0,
2002 "properties" : {
9fda36b0
DM
2003 "contenttype" : {
2004 "description" : "Content Type",
2005 "maxLength" : 1024,
2006 "pattern" : "[0-9a-zA-Z\\/\\\\[\\]\\+\\-\\.\\*\\_]+",
f245a28c 2007 "type" : "string"
f245a28c
DM
2008 },
2009 "ogroup" : {
9fda36b0 2010 "description" : "Object Groups ID.",
f245a28c
DM
2011 "type" : "integer",
2012 "typetext" : "<integer>"
2013 }
2014 }
2015 },
c061d61d
DM
2016 "permissions" : {
2017 "check" : [
2018 "admin"
2019 ]
2020 },
d7cd791b 2021 "protected" : 1,
f245a28c
DM
2022 "proxyto" : "master",
2023 "returns" : {
9fda36b0
DM
2024 "description" : "The object ID.",
2025 "type" : "integer"
f245a28c
DM
2026 }
2027 }
2028 },
9fda36b0
DM
2029 "leaf" : 0,
2030 "path" : "/config/ruledb/what/{ogroup}/contenttype",
2031 "text" : "contenttype"
f245a28c
DM
2032 },
2033 {
2034 "children" : [
2035 {
2036 "info" : {
9fda36b0 2037 "GET" : {
6bd70b95 2038 "allowtoken" : 1,
9fda36b0
DM
2039 "description" : "Read 'Match Field' object settings.",
2040 "method" : "GET",
2041 "name" : "read_matchfield",
f245a28c
DM
2042 "parameters" : {
2043 "additionalProperties" : 0,
2044 "properties" : {
2045 "id" : {
2046 "description" : "Object ID.",
2047 "type" : "integer",
2048 "typetext" : "<integer>"
2049 },
2050 "ogroup" : {
9fda36b0 2051 "description" : "Object Groups ID.",
f245a28c
DM
2052 "type" : "integer",
2053 "typetext" : "<integer>"
2054 }
2055 }
2056 },
c061d61d
DM
2057 "permissions" : {
2058 "check" : [
2059 "admin",
2060 "audit"
2061 ]
2062 },
f245a28c
DM
2063 "proxyto" : "master",
2064 "returns" : {
9fda36b0
DM
2065 "properties" : {
2066 "id" : {
2067 "type" : "integer"
2068 }
2069 },
2070 "type" : "object"
f245a28c 2071 }
9fda36b0
DM
2072 },
2073 "PUT" : {
6bd70b95 2074 "allowtoken" : 1,
9fda36b0
DM
2075 "description" : "Update 'Match Field' object.",
2076 "method" : "PUT",
2077 "name" : "update_matchfield",
2078 "parameters" : {
2079 "additionalProperties" : 0,
2080 "properties" : {
2081 "field" : {
2082 "description" : "The Field",
2083 "maxLength" : 1024,
2084 "pattern" : "[0-9a-zA-Z\\/\\\\[\\]\\+\\-\\.\\*\\_]+",
2085 "type" : "string"
2086 },
2087 "id" : {
2088 "description" : "Object ID.",
2089 "type" : "integer",
2090 "typetext" : "<integer>"
2091 },
2092 "ogroup" : {
2093 "description" : "Object Groups ID.",
2094 "type" : "integer",
2095 "typetext" : "<integer>"
2096 },
2097 "value" : {
2098 "description" : "The Value",
2099 "maxLength" : 1024,
4a46ced6
DM
2100 "type" : "string",
2101 "typetext" : "<string>"
9fda36b0
DM
2102 }
2103 }
2104 },
c061d61d
DM
2105 "permissions" : {
2106 "check" : [
2107 "admin"
2108 ]
2109 },
9fda36b0
DM
2110 "protected" : 1,
2111 "proxyto" : "master",
2112 "returns" : {
2113 "type" : "null"
2114 }
2115 }
2116 },
2117 "leaf" : 1,
2118 "path" : "/config/ruledb/what/{ogroup}/matchfield/{id}",
2119 "text" : "{id}"
2120 }
2121 ],
f245a28c 2122 "info" : {
9fda36b0 2123 "POST" : {
6bd70b95 2124 "allowtoken" : 1,
9fda36b0
DM
2125 "description" : "Add 'Match Field' object.",
2126 "method" : "POST",
2127 "name" : "matchfield",
f245a28c
DM
2128 "parameters" : {
2129 "additionalProperties" : 0,
2130 "properties" : {
9fda36b0
DM
2131 "field" : {
2132 "description" : "The Field",
2133 "maxLength" : 1024,
2134 "pattern" : "[0-9a-zA-Z\\/\\\\[\\]\\+\\-\\.\\*\\_]+",
2135 "type" : "string"
2136 },
f245a28c 2137 "ogroup" : {
9fda36b0 2138 "description" : "Object Groups ID.",
f245a28c
DM
2139 "type" : "integer",
2140 "typetext" : "<integer>"
9fda36b0
DM
2141 },
2142 "value" : {
2143 "description" : "The Value",
2144 "maxLength" : 1024,
4a46ced6
DM
2145 "type" : "string",
2146 "typetext" : "<string>"
f245a28c
DM
2147 }
2148 }
2149 },
c061d61d
DM
2150 "permissions" : {
2151 "check" : [
2152 "admin"
2153 ]
2154 },
9fda36b0 2155 "protected" : 1,
f245a28c
DM
2156 "proxyto" : "master",
2157 "returns" : {
9fda36b0
DM
2158 "description" : "The object ID.",
2159 "type" : "integer"
f245a28c
DM
2160 }
2161 }
2162 },
2163 "leaf" : 0,
9fda36b0
DM
2164 "path" : "/config/ruledb/what/{ogroup}/matchfield",
2165 "text" : "matchfield"
f245a28c
DM
2166 },
2167 {
2168 "children" : [
2169 {
2170 "info" : {
2171 "GET" : {
6bd70b95 2172 "allowtoken" : 1,
9fda36b0 2173 "description" : "Read 'Spam Filter' object settings.",
f245a28c 2174 "method" : "GET",
9fda36b0 2175 "name" : "read_spamfilter",
f245a28c
DM
2176 "parameters" : {
2177 "additionalProperties" : 0,
2178 "properties" : {
2179 "id" : {
2180 "description" : "Object ID.",
2181 "type" : "integer",
2182 "typetext" : "<integer>"
2183 },
2184 "ogroup" : {
2185 "description" : "Object Groups ID.",
2186 "type" : "integer",
2187 "typetext" : "<integer>"
2188 }
2189 }
2190 },
c061d61d
DM
2191 "permissions" : {
2192 "check" : [
2193 "admin",
2194 "audit"
2195 ]
2196 },
f245a28c
DM
2197 "proxyto" : "master",
2198 "returns" : {
2199 "properties" : {
2200 "id" : {
2201 "type" : "integer"
2202 }
2203 },
2204 "type" : "object"
2205 }
2206 },
2207 "PUT" : {
6bd70b95 2208 "allowtoken" : 1,
9fda36b0 2209 "description" : "Update 'Spam Filter' object.",
f245a28c 2210 "method" : "PUT",
9fda36b0 2211 "name" : "update_spamfilter",
f245a28c
DM
2212 "parameters" : {
2213 "additionalProperties" : 0,
2214 "properties" : {
f245a28c
DM
2215 "id" : {
2216 "description" : "Object ID.",
2217 "type" : "integer",
2218 "typetext" : "<integer>"
2219 },
2220 "ogroup" : {
2221 "description" : "Object Groups ID.",
2222 "type" : "integer",
2223 "typetext" : "<integer>"
2224 },
9fda36b0
DM
2225 "spamlevel" : {
2226 "description" : "Spam Level",
2227 "minimum" : 0,
2228 "type" : "integer",
2229 "typetext" : "<integer> (0 - N)"
f245a28c
DM
2230 }
2231 }
2232 },
c061d61d
DM
2233 "permissions" : {
2234 "check" : [
2235 "admin"
2236 ]
2237 },
a55e94a6 2238 "protected" : 1,
f245a28c
DM
2239 "proxyto" : "master",
2240 "returns" : {
2241 "type" : "null"
2242 }
2243 }
2244 },
2245 "leaf" : 1,
9fda36b0 2246 "path" : "/config/ruledb/what/{ogroup}/spamfilter/{id}",
f245a28c
DM
2247 "text" : "{id}"
2248 }
2249 ],
2250 "info" : {
2251 "POST" : {
6bd70b95 2252 "allowtoken" : 1,
9fda36b0 2253 "description" : "Add 'Spam Filter' object.",
f245a28c 2254 "method" : "POST",
9fda36b0 2255 "name" : "spamfilter",
f245a28c
DM
2256 "parameters" : {
2257 "additionalProperties" : 0,
2258 "properties" : {
f245a28c
DM
2259 "ogroup" : {
2260 "description" : "Object Groups ID.",
2261 "type" : "integer",
2262 "typetext" : "<integer>"
2263 },
9fda36b0
DM
2264 "spamlevel" : {
2265 "description" : "Spam Level",
2266 "minimum" : 0,
2267 "type" : "integer",
2268 "typetext" : "<integer> (0 - N)"
f245a28c
DM
2269 }
2270 }
2271 },
c061d61d
DM
2272 "permissions" : {
2273 "check" : [
2274 "admin"
2275 ]
2276 },
a55e94a6 2277 "protected" : 1,
f245a28c
DM
2278 "proxyto" : "master",
2279 "returns" : {
2280 "description" : "The object ID.",
2281 "type" : "integer"
2282 }
2283 }
2284 },
2285 "leaf" : 0,
9fda36b0
DM
2286 "path" : "/config/ruledb/what/{ogroup}/spamfilter",
2287 "text" : "spamfilter"
410dc2c9 2288 },
9fda36b0
DM
2289 {
2290 "children" : [
2291 {
2292 "info" : {
2293 "GET" : {
6bd70b95 2294 "allowtoken" : 1,
9fda36b0
DM
2295 "description" : "Read 'Archive Filter' object settings.",
2296 "method" : "GET",
2297 "name" : "read_archivefilter",
2298 "parameters" : {
2299 "additionalProperties" : 0,
2300 "properties" : {
2301 "id" : {
2302 "description" : "Object ID.",
2303 "type" : "integer",
2304 "typetext" : "<integer>"
2305 },
2306 "ogroup" : {
2307 "description" : "Object Groups ID.",
2308 "type" : "integer",
2309 "typetext" : "<integer>"
2310 }
2311 }
2312 },
c061d61d
DM
2313 "permissions" : {
2314 "check" : [
2315 "admin",
2316 "audit"
2317 ]
2318 },
9fda36b0
DM
2319 "proxyto" : "master",
2320 "returns" : {
2321 "properties" : {
2322 "id" : {
2323 "type" : "integer"
2324 }
2325 },
2326 "type" : "object"
2327 }
2328 },
2329 "PUT" : {
6bd70b95 2330 "allowtoken" : 1,
9fda36b0
DM
2331 "description" : "Update 'Archive Filter' object.",
2332 "method" : "PUT",
2333 "name" : "update_archivefilter",
2334 "parameters" : {
2335 "additionalProperties" : 0,
2336 "properties" : {
2337 "contenttype" : {
2338 "description" : "Content Type",
2339 "maxLength" : 1024,
2340 "pattern" : "[0-9a-zA-Z\\/\\\\[\\]\\+\\-\\.\\*\\_]+",
2341 "type" : "string"
2342 },
2343 "id" : {
2344 "description" : "Object ID.",
2345 "type" : "integer",
2346 "typetext" : "<integer>"
2347 },
2348 "ogroup" : {
2349 "description" : "Object Groups ID.",
2350 "type" : "integer",
2351 "typetext" : "<integer>"
2352 }
2353 }
2354 },
c061d61d
DM
2355 "permissions" : {
2356 "check" : [
2357 "admin"
2358 ]
2359 },
9fda36b0
DM
2360 "protected" : 1,
2361 "proxyto" : "master",
2362 "returns" : {
2363 "type" : "null"
2364 }
2365 }
2366 },
2367 "leaf" : 1,
2368 "path" : "/config/ruledb/what/{ogroup}/archivefilter/{id}",
2369 "text" : "{id}"
f245a28c 2370 }
9fda36b0
DM
2371 ],
2372 "info" : {
2373 "POST" : {
6bd70b95 2374 "allowtoken" : 1,
9fda36b0
DM
2375 "description" : "Add 'Archive Filter' object.",
2376 "method" : "POST",
2377 "name" : "archivefilter",
2378 "parameters" : {
2379 "additionalProperties" : 0,
2380 "properties" : {
2381 "contenttype" : {
2382 "description" : "Content Type",
2383 "maxLength" : 1024,
2384 "pattern" : "[0-9a-zA-Z\\/\\\\[\\]\\+\\-\\.\\*\\_]+",
2385 "type" : "string"
2386 },
2387 "ogroup" : {
2388 "description" : "Object Groups ID.",
2389 "type" : "integer",
2390 "typetext" : "<integer>"
2391 }
f245a28c
DM
2392 }
2393 },
c061d61d
DM
2394 "permissions" : {
2395 "check" : [
2396 "admin"
2397 ]
2398 },
9fda36b0
DM
2399 "protected" : 1,
2400 "proxyto" : "master",
2401 "returns" : {
2402 "description" : "The object ID.",
2403 "type" : "integer"
f245a28c 2404 }
eff914dc
DM
2405 }
2406 },
9fda36b0 2407 "leaf" : 0,
732d76e1
DM
2408 "path" : "/config/ruledb/what/{ogroup}/archivefilter",
2409 "text" : "archivefilter"
2410 },
2411 {
2412 "children" : [
2413 {
2414 "info" : {
2415 "GET" : {
6bd70b95 2416 "allowtoken" : 1,
732d76e1
DM
2417 "description" : "Read 'Match Filename' object settings.",
2418 "method" : "GET",
2419 "name" : "read_filenamefilter",
2420 "parameters" : {
2421 "additionalProperties" : 0,
2422 "properties" : {
2423 "id" : {
2424 "description" : "Object ID.",
2425 "type" : "integer",
2426 "typetext" : "<integer>"
2427 },
2428 "ogroup" : {
2429 "description" : "Object Groups ID.",
2430 "type" : "integer",
2431 "typetext" : "<integer>"
2432 }
2433 }
2434 },
c061d61d
DM
2435 "permissions" : {
2436 "check" : [
2437 "admin",
2438 "audit"
2439 ]
2440 },
732d76e1
DM
2441 "proxyto" : "master",
2442 "returns" : {
2443 "properties" : {
2444 "id" : {
2445 "type" : "integer"
2446 }
2447 },
2448 "type" : "object"
2449 }
2450 },
2451 "PUT" : {
6bd70b95 2452 "allowtoken" : 1,
732d76e1
DM
2453 "description" : "Update 'Match Filename' object.",
2454 "method" : "PUT",
2455 "name" : "update_filenamefilter",
2456 "parameters" : {
2457 "additionalProperties" : 0,
2458 "properties" : {
2459 "filename" : {
2460 "description" : "Filename filter",
2461 "maxLength" : 1024,
2462 "type" : "string",
2463 "typetext" : "<string>"
2464 },
2465 "id" : {
2466 "description" : "Object ID.",
2467 "type" : "integer",
2468 "typetext" : "<integer>"
2469 },
2470 "ogroup" : {
2471 "description" : "Object Groups ID.",
2472 "type" : "integer",
2473 "typetext" : "<integer>"
2474 }
2475 }
2476 },
c061d61d
DM
2477 "permissions" : {
2478 "check" : [
2479 "admin"
2480 ]
2481 },
732d76e1
DM
2482 "protected" : 1,
2483 "proxyto" : "master",
2484 "returns" : {
2485 "type" : "null"
2486 }
2487 }
2488 },
2489 "leaf" : 1,
2490 "path" : "/config/ruledb/what/{ogroup}/filenamefilter/{id}",
2491 "text" : "{id}"
2492 }
2493 ],
2494 "info" : {
2495 "POST" : {
6bd70b95 2496 "allowtoken" : 1,
732d76e1
DM
2497 "description" : "Add 'Match Filename' object.",
2498 "method" : "POST",
2499 "name" : "filenamefilter",
2500 "parameters" : {
2501 "additionalProperties" : 0,
2502 "properties" : {
2503 "filename" : {
2504 "description" : "Filename filter",
2505 "maxLength" : 1024,
2506 "type" : "string",
2507 "typetext" : "<string>"
2508 },
2509 "ogroup" : {
2510 "description" : "Object Groups ID.",
2511 "type" : "integer",
2512 "typetext" : "<integer>"
2513 }
2514 }
2515 },
c061d61d
DM
2516 "permissions" : {
2517 "check" : [
2518 "admin"
2519 ]
2520 },
732d76e1
DM
2521 "protected" : 1,
2522 "proxyto" : "master",
2523 "returns" : {
2524 "description" : "The object ID.",
2525 "type" : "integer"
2526 }
2527 }
2528 },
2529 "leaf" : 0,
2530 "path" : "/config/ruledb/what/{ogroup}/filenamefilter",
2531 "text" : "filenamefilter"
410dc2c9 2532 },
9fda36b0
DM
2533 {
2534 "children" : [
2535 {
2536 "info" : {
2537 "GET" : {
6bd70b95 2538 "allowtoken" : 1,
732d76e1 2539 "description" : "Read 'Virus Filter' object settings.",
9fda36b0 2540 "method" : "GET",
732d76e1 2541 "name" : "read_virusfilter",
9fda36b0
DM
2542 "parameters" : {
2543 "additionalProperties" : 0,
2544 "properties" : {
2545 "id" : {
2546 "description" : "Object ID.",
2547 "type" : "integer",
2548 "typetext" : "<integer>"
2549 },
2550 "ogroup" : {
2551 "description" : "Object Groups ID.",
2552 "type" : "integer",
2553 "typetext" : "<integer>"
2554 }
2555 }
2556 },
c061d61d
DM
2557 "permissions" : {
2558 "check" : [
2559 "admin",
2560 "audit"
2561 ]
2562 },
9fda36b0
DM
2563 "proxyto" : "master",
2564 "returns" : {
2565 "properties" : {
2566 "id" : {
2567 "type" : "integer"
2568 }
2569 },
2570 "type" : "object"
2571 }
2572 },
2573 "PUT" : {
6bd70b95 2574 "allowtoken" : 1,
732d76e1 2575 "description" : "Update 'Virus Filter' object.",
9fda36b0 2576 "method" : "PUT",
732d76e1 2577 "name" : "update_virusfilter",
9fda36b0
DM
2578 "parameters" : {
2579 "additionalProperties" : 0,
2580 "properties" : {
9fda36b0
DM
2581 "id" : {
2582 "description" : "Object ID.",
2583 "type" : "integer",
2584 "typetext" : "<integer>"
2585 },
2586 "ogroup" : {
2587 "description" : "Object Groups ID.",
2588 "type" : "integer",
2589 "typetext" : "<integer>"
2590 }
2591 }
2592 },
c061d61d
DM
2593 "permissions" : {
2594 "check" : [
2595 "admin"
2596 ]
2597 },
9fda36b0
DM
2598 "protected" : 1,
2599 "proxyto" : "master",
2600 "returns" : {
2601 "type" : "null"
2602 }
2603 }
2604 },
2605 "leaf" : 1,
732d76e1 2606 "path" : "/config/ruledb/what/{ogroup}/virusfilter/{id}",
9fda36b0
DM
2607 "text" : "{id}"
2608 }
2609 ],
2610 "info" : {
2611 "POST" : {
6bd70b95 2612 "allowtoken" : 1,
732d76e1 2613 "description" : "Add 'Virus Filter' object.",
9fda36b0 2614 "method" : "POST",
732d76e1 2615 "name" : "virusfilter",
9fda36b0
DM
2616 "parameters" : {
2617 "additionalProperties" : 0,
2618 "properties" : {
9fda36b0
DM
2619 "ogroup" : {
2620 "description" : "Object Groups ID.",
2621 "type" : "integer",
2622 "typetext" : "<integer>"
2623 }
2624 }
2625 },
c061d61d
DM
2626 "permissions" : {
2627 "check" : [
2628 "admin"
2629 ]
2630 },
9fda36b0
DM
2631 "protected" : 1,
2632 "proxyto" : "master",
2633 "returns" : {
2634 "description" : "The object ID.",
2635 "type" : "integer"
2636 }
2637 }
2638 },
2639 "leaf" : 0,
732d76e1
DM
2640 "path" : "/config/ruledb/what/{ogroup}/virusfilter",
2641 "text" : "virusfilter"
549cfb68
TL
2642 },
2643 {
2644 "children" : [
2645 {
2646 "info" : {
2647 "GET" : {
2648 "allowtoken" : 1,
2649 "description" : "Read 'Match Archive Filename' object settings.",
2650 "method" : "GET",
2651 "name" : "read_archivefilenamefilter",
2652 "parameters" : {
2653 "additionalProperties" : 0,
2654 "properties" : {
2655 "id" : {
2656 "description" : "Object ID.",
2657 "type" : "integer",
2658 "typetext" : "<integer>"
2659 },
2660 "ogroup" : {
2661 "description" : "Object Groups ID.",
2662 "type" : "integer",
2663 "typetext" : "<integer>"
2664 }
2665 }
2666 },
2667 "permissions" : {
2668 "check" : [
2669 "admin",
2670 "audit"
2671 ]
2672 },
2673 "proxyto" : "master",
2674 "returns" : {
2675 "properties" : {
2676 "id" : {
2677 "type" : "integer"
2678 }
2679 },
2680 "type" : "object"
2681 }
2682 },
2683 "PUT" : {
2684 "allowtoken" : 1,
2685 "description" : "Update 'Match Archive Filename' object.",
2686 "method" : "PUT",
2687 "name" : "update_archivefilenamefilter",
2688 "parameters" : {
2689 "additionalProperties" : 0,
2690 "properties" : {
2691 "filename" : {
2692 "description" : "Filename filter",
2693 "maxLength" : 1024,
2694 "type" : "string",
2695 "typetext" : "<string>"
2696 },
2697 "id" : {
2698 "description" : "Object ID.",
2699 "type" : "integer",
2700 "typetext" : "<integer>"
2701 },
2702 "ogroup" : {
2703 "description" : "Object Groups ID.",
2704 "type" : "integer",
2705 "typetext" : "<integer>"
2706 }
2707 }
2708 },
2709 "permissions" : {
2710 "check" : [
2711 "admin"
2712 ]
2713 },
2714 "protected" : 1,
2715 "proxyto" : "master",
2716 "returns" : {
2717 "type" : "null"
2718 }
2719 }
2720 },
2721 "leaf" : 1,
2722 "path" : "/config/ruledb/what/{ogroup}/archivefilenamefilter/{id}",
2723 "text" : "{id}"
2724 }
2725 ],
2726 "info" : {
2727 "POST" : {
2728 "allowtoken" : 1,
2729 "description" : "Add 'Match Archive Filename' object.",
2730 "method" : "POST",
2731 "name" : "archivefilenamefilter",
2732 "parameters" : {
2733 "additionalProperties" : 0,
2734 "properties" : {
2735 "filename" : {
2736 "description" : "Filename filter",
2737 "maxLength" : 1024,
2738 "type" : "string",
2739 "typetext" : "<string>"
2740 },
2741 "ogroup" : {
2742 "description" : "Object Groups ID.",
2743 "type" : "integer",
2744 "typetext" : "<integer>"
2745 }
2746 }
2747 },
2748 "permissions" : {
2749 "check" : [
2750 "admin"
2751 ]
2752 },
2753 "protected" : 1,
2754 "proxyto" : "master",
2755 "returns" : {
2756 "description" : "The object ID.",
2757 "type" : "integer"
2758 }
2759 }
2760 },
2761 "leaf" : 0,
2762 "path" : "/config/ruledb/what/{ogroup}/archivefilenamefilter",
2763 "text" : "archivefilenamefilter"
9fda36b0
DM
2764 }
2765 ],
2766 "info" : {
2767 "DELETE" : {
6bd70b95 2768 "allowtoken" : 1,
9fda36b0
DM
2769 "description" : "Delete a 'what' group.",
2770 "method" : "DELETE",
2771 "name" : "delete_{$oclass}_group",
2772 "parameters" : {
2773 "additionalProperties" : 0,
2774 "properties" : {
2775 "ogroup" : {
2776 "description" : "Object Group ID.",
2777 "type" : "integer",
2778 "typetext" : "<integer>"
2779 }
2780 }
2781 },
732d76e1
DM
2782 "permissions" : {
2783 "check" : [
2784 "admin"
2785 ]
2786 },
9fda36b0
DM
2787 "protected" : 1,
2788 "proxyto" : "master",
2789 "returns" : {
2790 "type" : "null"
2791 }
2792 },
2793 "GET" : {
6bd70b95 2794 "allowtoken" : 1,
9fda36b0
DM
2795 "description" : "Directory index.",
2796 "method" : "GET",
2797 "name" : "index",
2798 "parameters" : {
2799 "additionalProperties" : 0,
2800 "properties" : {
2801 "ogroup" : {
2802 "description" : "Object Group ID.",
2803 "type" : "integer",
2804 "typetext" : "<integer>"
2805 }
2806 }
2807 },
732d76e1
DM
2808 "permissions" : {
2809 "check" : [
2810 "admin",
2811 "audit"
2812 ]
2813 },
9fda36b0
DM
2814 "returns" : {
2815 "items" : {
2816 "properties" : {
2817 "subdir" : {
2818 "type" : "string"
2819 }
2820 },
2821 "type" : "object"
2822 },
2823 "links" : [
2824 {
2825 "href" : "{subdir}",
2826 "rel" : "child"
2827 }
2828 ],
2829 "type" : "array"
2830 }
2831 }
2832 },
2833 "leaf" : 0,
2834 "path" : "/config/ruledb/what/{ogroup}",
2835 "text" : "{ogroup}"
2836 }
2837 ],
2838 "info" : {
2839 "GET" : {
6bd70b95 2840 "allowtoken" : 1,
9fda36b0
DM
2841 "description" : "Get list of 'what' groups.",
2842 "method" : "GET",
2843 "name" : "list_what_groups",
2844 "parameters" : {
2845 "additionalProperties" : 0
2846 },
732d76e1
DM
2847 "permissions" : {
2848 "check" : [
2849 "admin",
2850 "audit"
2851 ]
2852 },
9fda36b0
DM
2853 "proxyto" : "master",
2854 "returns" : {
2855 "items" : {
2856 "properties" : {
2857 "id" : {
2858 "type" : "integer"
2859 }
2860 },
2861 "type" : "object"
2862 },
2863 "type" : "array"
2864 }
2865 },
2866 "POST" : {
6bd70b95 2867 "allowtoken" : 1,
9fda36b0 2868 "description" : "Create a new 'what' group.",
eff914dc 2869 "method" : "POST",
9fda36b0 2870 "name" : "create_what_group",
eff914dc
DM
2871 "parameters" : {
2872 "additionalProperties" : 0,
2873 "properties" : {
2874 "info" : {
2875 "description" : "Informational comment.",
2876 "maxLength" : 255,
2877 "optional" : 1,
2878 "type" : "string",
2879 "typetext" : "<string>"
2880 },
2881 "name" : {
2882 "description" : "Group name.",
2883 "maxLength" : 255,
2884 "type" : "string",
2885 "typetext" : "<string>"
2886 }
2887 }
2888 },
732d76e1
DM
2889 "permissions" : {
2890 "check" : [
2891 "admin"
2892 ]
2893 },
eff914dc
DM
2894 "protected" : 1,
2895 "proxyto" : "master",
2896 "returns" : {
2897 "type" : "integer"
2898 }
410dc2c9
DM
2899 }
2900 },
f245a28c 2901 "leaf" : 0,
9fda36b0
DM
2902 "path" : "/config/ruledb/what",
2903 "text" : "what"
410dc2c9
DM
2904 },
2905 {
f245a28c
DM
2906 "children" : [
2907 {
2908 "children" : [
2909 {
eff914dc 2910 "info" : {
f245a28c 2911 "GET" : {
6bd70b95 2912 "allowtoken" : 1,
9fda36b0 2913 "description" : "Get 'when' group properties",
f245a28c
DM
2914 "method" : "GET",
2915 "name" : "get_config",
2916 "parameters" : {
2917 "additionalProperties" : 0,
2918 "properties" : {
2919 "ogroup" : {
2920 "description" : "Object Group ID.",
2921 "type" : "integer",
2922 "typetext" : "<integer>"
2923 }
2924 }
2925 },
732d76e1
DM
2926 "permissions" : {
2927 "check" : [
2928 "admin",
2929 "audit"
2930 ]
2931 },
f245a28c
DM
2932 "proxyto" : "master",
2933 "returns" : {
2934 "properties" : {
2935 "id" : {
2936 "type" : "integer"
2937 },
2938 "info" : {
2939 "type" : "string"
2940 },
2941 "name" : {
2942 "type" : "string"
2943 }
2944 },
2945 "type" : "object"
2946 }
2947 },
2948 "PUT" : {
6bd70b95 2949 "allowtoken" : 1,
9fda36b0 2950 "description" : "Modify 'when' group properties",
f245a28c
DM
2951 "method" : "PUT",
2952 "name" : "set_config",
2953 "parameters" : {
2954 "additionalProperties" : 0,
2955 "properties" : {
2956 "info" : {
2957 "description" : "Informational comment.",
2958 "maxLength" : 255,
2959 "optional" : 1,
2960 "type" : "string",
2961 "typetext" : "<string>"
2962 },
2963 "name" : {
2964 "description" : "Group name.",
2965 "maxLength" : 255,
2966 "optional" : 1,
2967 "type" : "string",
2968 "typetext" : "<string>"
2969 },
2970 "ogroup" : {
2971 "description" : "Object Group ID.",
2972 "type" : "integer",
2973 "typetext" : "<integer>"
2974 }
2975 }
2976 },
732d76e1
DM
2977 "permissions" : {
2978 "check" : [
2979 "admin"
2980 ]
2981 },
d7cd791b 2982 "protected" : 1,
f245a28c
DM
2983 "proxyto" : "master",
2984 "returns" : {
2985 "type" : "null"
2986 }
2987 }
eff914dc 2988 },
f245a28c 2989 "leaf" : 1,
9fda36b0 2990 "path" : "/config/ruledb/when/{ogroup}/config",
f245a28c
DM
2991 "text" : "config"
2992 },
eff914dc
DM
2993 {
2994 "children" : [
2995 {
2996 "info" : {
2997 "DELETE" : {
6bd70b95 2998 "allowtoken" : 1,
9fda36b0 2999 "description" : "Remove an object from the 'when' group.",
eff914dc
DM
3000 "method" : "DELETE",
3001 "name" : "delete_object",
3002 "parameters" : {
3003 "additionalProperties" : 0,
3004 "properties" : {
3005 "id" : {
3006 "description" : "Object ID.",
3007 "type" : "integer",
3008 "typetext" : "<integer>"
3009 },
3010 "ogroup" : {
3011 "description" : "Object Group ID.",
3012 "type" : "integer",
3013 "typetext" : "<integer>"
3014 }
3015 }
3016 },
732d76e1
DM
3017 "permissions" : {
3018 "check" : [
3019 "admin"
3020 ]
3021 },
a55e94a6 3022 "protected" : 1,
eff914dc
DM
3023 "proxyto" : "master",
3024 "returns" : {
3025 "type" : "null"
3026 }
3027 }
3028 },
3029 "leaf" : 1,
9fda36b0 3030 "path" : "/config/ruledb/when/{ogroup}/objects/{id}",
eff914dc
DM
3031 "text" : "{id}"
3032 }
3033 ],
3034 "info" : {
3035 "GET" : {
6bd70b95 3036 "allowtoken" : 1,
9fda36b0 3037 "description" : "List 'when' group objects.",
eff914dc
DM
3038 "method" : "GET",
3039 "name" : "objects",
3040 "parameters" : {
3041 "additionalProperties" : 0,
3042 "properties" : {
3043 "ogroup" : {
3044 "description" : "Object Group ID.",
3045 "type" : "integer",
3046 "typetext" : "<integer>"
3047 }
3048 }
3049 },
732d76e1
DM
3050 "permissions" : {
3051 "check" : [
3052 "admin",
3053 "audit"
3054 ]
3055 },
eff914dc
DM
3056 "proxyto" : "master",
3057 "returns" : {
3058 "items" : {
3059 "properties" : {
3060 "id" : {
3061 "type" : "integer"
3062 }
3063 },
3064 "type" : "object"
3065 },
3066 "links" : [
3067 {
3068 "href" : "{id}",
3069 "rel" : "child"
3070 }
3071 ],
3072 "type" : "array"
3073 }
3074 }
3075 },
3076 "leaf" : 0,
9fda36b0 3077 "path" : "/config/ruledb/when/{ogroup}/objects",
eff914dc
DM
3078 "text" : "objects"
3079 },
3080 {
3081 "children" : [
3082 {
3083 "info" : {
3084 "GET" : {
6bd70b95 3085 "allowtoken" : 1,
9fda36b0 3086 "description" : "Read 'TimeFrame' object settings.",
eff914dc 3087 "method" : "GET",
9fda36b0 3088 "name" : "read_timeframe",
eff914dc
DM
3089 "parameters" : {
3090 "additionalProperties" : 0,
3091 "properties" : {
3092 "id" : {
3093 "description" : "Object ID.",
3094 "type" : "integer",
3095 "typetext" : "<integer>"
3096 },
3097 "ogroup" : {
3098 "description" : "Object Groups ID.",
3099 "type" : "integer",
3100 "typetext" : "<integer>"
3101 }
3102 }
3103 },
c061d61d
DM
3104 "permissions" : {
3105 "check" : [
3106 "admin",
3107 "audit"
3108 ]
3109 },
eff914dc
DM
3110 "proxyto" : "master",
3111 "returns" : {
3112 "properties" : {
3113 "id" : {
3114 "type" : "integer"
3115 }
3116 },
3117 "type" : "object"
3118 }
3119 },
3120 "PUT" : {
6bd70b95 3121 "allowtoken" : 1,
9fda36b0 3122 "description" : "Update 'TimeFrame' object.",
eff914dc 3123 "method" : "PUT",
9fda36b0 3124 "name" : "update_timeframe",
eff914dc
DM
3125 "parameters" : {
3126 "additionalProperties" : 0,
3127 "properties" : {
9fda36b0
DM
3128 "end" : {
3129 "description" : "End time in `H:i` format (00:00).",
3130 "pattern" : "\\d?\\d:\\d?\\d",
3131 "type" : "string"
eff914dc
DM
3132 },
3133 "id" : {
3134 "description" : "Object ID.",
3135 "type" : "integer",
3136 "typetext" : "<integer>"
3137 },
3138 "ogroup" : {
3139 "description" : "Object Groups ID.",
3140 "type" : "integer",
3141 "typetext" : "<integer>"
9fda36b0
DM
3142 },
3143 "start" : {
3144 "description" : "Start time in `H:i` format (00:00).",
3145 "pattern" : "\\d?\\d:\\d?\\d",
3146 "type" : "string"
eff914dc
DM
3147 }
3148 }
3149 },
c061d61d
DM
3150 "permissions" : {
3151 "check" : [
3152 "admin"
3153 ]
3154 },
a55e94a6 3155 "protected" : 1,
eff914dc
DM
3156 "proxyto" : "master",
3157 "returns" : {
3158 "type" : "null"
3159 }
3160 }
3161 },
3162 "leaf" : 1,
9fda36b0 3163 "path" : "/config/ruledb/when/{ogroup}/timeframe/{id}",
eff914dc
DM
3164 "text" : "{id}"
3165 }
3166 ],
3167 "info" : {
3168 "POST" : {
6bd70b95 3169 "allowtoken" : 1,
9fda36b0 3170 "description" : "Add 'TimeFrame' object.",
eff914dc 3171 "method" : "POST",
9fda36b0 3172 "name" : "timeframe",
eff914dc
DM
3173 "parameters" : {
3174 "additionalProperties" : 0,
3175 "properties" : {
9fda36b0
DM
3176 "end" : {
3177 "description" : "End time in `H:i` format (00:00).",
3178 "pattern" : "\\d?\\d:\\d?\\d",
3179 "type" : "string"
eff914dc
DM
3180 },
3181 "ogroup" : {
3182 "description" : "Object Groups ID.",
3183 "type" : "integer",
3184 "typetext" : "<integer>"
9fda36b0
DM
3185 },
3186 "start" : {
3187 "description" : "Start time in `H:i` format (00:00).",
3188 "pattern" : "\\d?\\d:\\d?\\d",
3189 "type" : "string"
eff914dc
DM
3190 }
3191 }
3192 },
c061d61d
DM
3193 "permissions" : {
3194 "check" : [
3195 "admin"
3196 ]
3197 },
a55e94a6 3198 "protected" : 1,
eff914dc
DM
3199 "proxyto" : "master",
3200 "returns" : {
3201 "description" : "The object ID.",
3202 "type" : "integer"
3203 }
3204 }
3205 },
3206 "leaf" : 0,
9fda36b0
DM
3207 "path" : "/config/ruledb/when/{ogroup}/timeframe",
3208 "text" : "timeframe"
3209 }
3210 ],
3211 "info" : {
3212 "DELETE" : {
6bd70b95 3213 "allowtoken" : 1,
9fda36b0
DM
3214 "description" : "Delete a 'when' group.",
3215 "method" : "DELETE",
3216 "name" : "delete_{$oclass}_group",
3217 "parameters" : {
3218 "additionalProperties" : 0,
3219 "properties" : {
3220 "ogroup" : {
3221 "description" : "Object Group ID.",
3222 "type" : "integer",
3223 "typetext" : "<integer>"
3224 }
3225 }
3226 },
732d76e1
DM
3227 "permissions" : {
3228 "check" : [
3229 "admin"
3230 ]
3231 },
9fda36b0
DM
3232 "protected" : 1,
3233 "proxyto" : "master",
3234 "returns" : {
3235 "type" : "null"
3236 }
3237 },
3238 "GET" : {
6bd70b95 3239 "allowtoken" : 1,
9fda36b0
DM
3240 "description" : "Directory index.",
3241 "method" : "GET",
3242 "name" : "index",
3243 "parameters" : {
3244 "additionalProperties" : 0,
3245 "properties" : {
3246 "ogroup" : {
3247 "description" : "Object Group ID.",
3248 "type" : "integer",
3249 "typetext" : "<integer>"
3250 }
3251 }
3252 },
732d76e1
DM
3253 "permissions" : {
3254 "check" : [
3255 "admin",
3256 "audit"
3257 ]
3258 },
9fda36b0
DM
3259 "returns" : {
3260 "items" : {
3261 "properties" : {
3262 "subdir" : {
3263 "type" : "string"
eff914dc
DM
3264 }
3265 },
9fda36b0
DM
3266 "type" : "object"
3267 },
3268 "links" : [
3269 {
3270 "href" : "{subdir}",
3271 "rel" : "child"
3272 }
3273 ],
3274 "type" : "array"
3275 }
3276 }
3277 },
3278 "leaf" : 0,
3279 "path" : "/config/ruledb/when/{ogroup}",
3280 "text" : "{ogroup}"
3281 }
3282 ],
3283 "info" : {
3284 "GET" : {
6bd70b95 3285 "allowtoken" : 1,
9fda36b0
DM
3286 "description" : "Get list of 'when' groups.",
3287 "method" : "GET",
3288 "name" : "list_when_groups",
3289 "parameters" : {
3290 "additionalProperties" : 0
3291 },
732d76e1
DM
3292 "permissions" : {
3293 "check" : [
3294 "admin",
3295 "audit"
3296 ]
3297 },
9fda36b0
DM
3298 "proxyto" : "master",
3299 "returns" : {
3300 "items" : {
3301 "properties" : {
3302 "id" : {
3303 "type" : "integer"
eff914dc 3304 }
9fda36b0
DM
3305 },
3306 "type" : "object"
3307 },
3308 "type" : "array"
3309 }
3310 },
3311 "POST" : {
6bd70b95 3312 "allowtoken" : 1,
9fda36b0
DM
3313 "description" : "Create a new 'when' group.",
3314 "method" : "POST",
3315 "name" : "create_when_group",
3316 "parameters" : {
3317 "additionalProperties" : 0,
3318 "properties" : {
eff914dc 3319 "info" : {
9fda36b0
DM
3320 "description" : "Informational comment.",
3321 "maxLength" : 255,
3322 "optional" : 1,
3323 "type" : "string",
3324 "typetext" : "<string>"
3325 },
3326 "name" : {
3327 "description" : "Group name.",
3328 "maxLength" : 255,
3329 "type" : "string",
3330 "typetext" : "<string>"
3331 }
3332 }
3333 },
732d76e1
DM
3334 "permissions" : {
3335 "check" : [
3336 "admin"
3337 ]
3338 },
9fda36b0
DM
3339 "protected" : 1,
3340 "proxyto" : "master",
3341 "returns" : {
3342 "type" : "integer"
3343 }
3344 }
3345 },
3346 "leaf" : 0,
3347 "path" : "/config/ruledb/when",
3348 "text" : "when"
3349 },
3350 {
3351 "children" : [
3352 {
3353 "children" : [
3354 {
3355 "info" : {
3356 "GET" : {
6bd70b95 3357 "allowtoken" : 1,
9fda36b0
DM
3358 "description" : "Get 'who' group properties",
3359 "method" : "GET",
3360 "name" : "get_config",
eff914dc
DM
3361 "parameters" : {
3362 "additionalProperties" : 0,
3363 "properties" : {
9fda36b0
DM
3364 "ogroup" : {
3365 "description" : "Object Group ID.",
3366 "type" : "integer",
3367 "typetext" : "<integer>"
3368 }
3369 }
3370 },
732d76e1
DM
3371 "permissions" : {
3372 "check" : [
3373 "admin",
3374 "audit"
3375 ]
3376 },
9fda36b0
DM
3377 "proxyto" : "master",
3378 "returns" : {
3379 "properties" : {
3380 "id" : {
3381 "type" : "integer"
3382 },
3383 "info" : {
3384 "type" : "string"
3385 },
3386 "name" : {
3387 "type" : "string"
3388 }
3389 },
3390 "type" : "object"
3391 }
3392 },
3393 "PUT" : {
6bd70b95 3394 "allowtoken" : 1,
9fda36b0
DM
3395 "description" : "Modify 'who' group properties",
3396 "method" : "PUT",
3397 "name" : "set_config",
3398 "parameters" : {
3399 "additionalProperties" : 0,
3400 "properties" : {
3401 "info" : {
3402 "description" : "Informational comment.",
3403 "maxLength" : 255,
3404 "optional" : 1,
3405 "type" : "string",
3406 "typetext" : "<string>"
3407 },
3408 "name" : {
3409 "description" : "Group name.",
3410 "maxLength" : 255,
3411 "optional" : 1,
eff914dc
DM
3412 "type" : "string",
3413 "typetext" : "<string>"
3414 },
3415 "ogroup" : {
9fda36b0 3416 "description" : "Object Group ID.",
eff914dc
DM
3417 "type" : "integer",
3418 "typetext" : "<integer>"
3419 }
3420 }
3421 },
732d76e1
DM
3422 "permissions" : {
3423 "check" : [
3424 "admin"
3425 ]
3426 },
a55e94a6 3427 "protected" : 1,
eff914dc
DM
3428 "proxyto" : "master",
3429 "returns" : {
9fda36b0 3430 "type" : "null"
eff914dc
DM
3431 }
3432 }
3433 },
9fda36b0
DM
3434 "leaf" : 1,
3435 "path" : "/config/ruledb/who/{ogroup}/config",
3436 "text" : "config"
eff914dc
DM
3437 },
3438 {
3439 "children" : [
3440 {
3441 "info" : {
9fda36b0 3442 "DELETE" : {
6bd70b95 3443 "allowtoken" : 1,
9fda36b0
DM
3444 "description" : "Remove an object from the 'who' group.",
3445 "method" : "DELETE",
3446 "name" : "delete_object",
eff914dc
DM
3447 "parameters" : {
3448 "additionalProperties" : 0,
3449 "properties" : {
3450 "id" : {
3451 "description" : "Object ID.",
3452 "type" : "integer",
3453 "typetext" : "<integer>"
3454 },
3455 "ogroup" : {
9fda36b0 3456 "description" : "Object Group ID.",
eff914dc
DM
3457 "type" : "integer",
3458 "typetext" : "<integer>"
3459 }
3460 }
3461 },
732d76e1
DM
3462 "permissions" : {
3463 "check" : [
3464 "admin"
3465 ]
3466 },
9fda36b0 3467 "protected" : 1,
eff914dc
DM
3468 "proxyto" : "master",
3469 "returns" : {
9fda36b0 3470 "type" : "null"
eff914dc
DM
3471 }
3472 }
3473 },
3474 "leaf" : 1,
9fda36b0 3475 "path" : "/config/ruledb/who/{ogroup}/objects/{id}",
eff914dc
DM
3476 "text" : "{id}"
3477 }
3478 ],
3479 "info" : {
9fda36b0 3480 "GET" : {
6bd70b95 3481 "allowtoken" : 1,
9fda36b0
DM
3482 "description" : "List 'who' group objects.",
3483 "method" : "GET",
3484 "name" : "objects",
eff914dc
DM
3485 "parameters" : {
3486 "additionalProperties" : 0,
3487 "properties" : {
3488 "ogroup" : {
9fda36b0 3489 "description" : "Object Group ID.",
eff914dc
DM
3490 "type" : "integer",
3491 "typetext" : "<integer>"
eff914dc
DM
3492 }
3493 }
3494 },
732d76e1
DM
3495 "permissions" : {
3496 "check" : [
3497 "admin",
3498 "audit"
3499 ]
3500 },
eff914dc
DM
3501 "proxyto" : "master",
3502 "returns" : {
9fda36b0
DM
3503 "items" : {
3504 "properties" : {
3505 "id" : {
3506 "type" : "integer"
3507 }
3508 },
3509 "type" : "object"
3510 },
3511 "links" : [
3512 {
3513 "href" : "{id}",
3514 "rel" : "child"
3515 }
3516 ],
3517 "type" : "array"
eff914dc
DM
3518 }
3519 }
3520 },
3521 "leaf" : 0,
9fda36b0
DM
3522 "path" : "/config/ruledb/who/{ogroup}/objects",
3523 "text" : "objects"
eff914dc
DM
3524 },
3525 {
3526 "children" : [
3527 {
3528 "info" : {
3529 "GET" : {
6bd70b95 3530 "allowtoken" : 1,
9fda36b0 3531 "description" : "Read 'Mail address' object settings.",
eff914dc 3532 "method" : "GET",
9fda36b0 3533 "name" : "read_email",
eff914dc
DM
3534 "parameters" : {
3535 "additionalProperties" : 0,
3536 "properties" : {
3537 "id" : {
3538 "description" : "Object ID.",
3539 "type" : "integer",
3540 "typetext" : "<integer>"
3541 },
3542 "ogroup" : {
3543 "description" : "Object Groups ID.",
3544 "type" : "integer",
3545 "typetext" : "<integer>"
3546 }
3547 }
3548 },
c061d61d
DM
3549 "permissions" : {
3550 "check" : [
3551 "admin",
3552 "audit"
3553 ]
3554 },
eff914dc
DM
3555 "proxyto" : "master",
3556 "returns" : {
3557 "properties" : {
3558 "id" : {
3559 "type" : "integer"
3560 }
3561 },
3562 "type" : "object"
3563 }
3564 },
3565 "PUT" : {
6bd70b95 3566 "allowtoken" : 1,
9fda36b0 3567 "description" : "Update 'Mail address' object.",
eff914dc 3568 "method" : "PUT",
9fda36b0 3569 "name" : "update_email",
eff914dc
DM
3570 "parameters" : {
3571 "additionalProperties" : 0,
3572 "properties" : {
9fda36b0
DM
3573 "email" : {
3574 "description" : "Email address.",
3575 "format" : "email",
3576 "type" : "string",
3577 "typetext" : "<string>"
3578 },
eff914dc
DM
3579 "id" : {
3580 "description" : "Object ID.",
3581 "type" : "integer",
3582 "typetext" : "<integer>"
3583 },
eff914dc
DM
3584 "ogroup" : {
3585 "description" : "Object Groups ID.",
3586 "type" : "integer",
3587 "typetext" : "<integer>"
3588 }
3589 }
3590 },
c061d61d
DM
3591 "permissions" : {
3592 "check" : [
3593 "admin"
3594 ]
3595 },
a55e94a6 3596 "protected" : 1,
eff914dc
DM
3597 "proxyto" : "master",
3598 "returns" : {
3599 "type" : "null"
3600 }
3601 }
3602 },
3603 "leaf" : 1,
9fda36b0 3604 "path" : "/config/ruledb/who/{ogroup}/email/{id}",
eff914dc
DM
3605 "text" : "{id}"
3606 }
3607 ],
3608 "info" : {
3609 "POST" : {
6bd70b95 3610 "allowtoken" : 1,
9fda36b0 3611 "description" : "Add 'Mail address' object.",
eff914dc 3612 "method" : "POST",
9fda36b0 3613 "name" : "email",
eff914dc
DM
3614 "parameters" : {
3615 "additionalProperties" : 0,
3616 "properties" : {
9fda36b0
DM
3617 "email" : {
3618 "description" : "Email address.",
3619 "format" : "email",
eff914dc
DM
3620 "type" : "string",
3621 "typetext" : "<string>"
3622 },
3623 "ogroup" : {
3624 "description" : "Object Groups ID.",
3625 "type" : "integer",
3626 "typetext" : "<integer>"
3627 }
3628 }
3629 },
c061d61d
DM
3630 "permissions" : {
3631 "check" : [
3632 "admin"
3633 ]
3634 },
a55e94a6 3635 "protected" : 1,
eff914dc
DM
3636 "proxyto" : "master",
3637 "returns" : {
3638 "description" : "The object ID.",
3639 "type" : "integer"
3640 }
3641 }
3642 },
3643 "leaf" : 0,
9fda36b0
DM
3644 "path" : "/config/ruledb/who/{ogroup}/email",
3645 "text" : "email"
eff914dc
DM
3646 },
3647 {
3648 "children" : [
3649 {
3650 "info" : {
3651 "GET" : {
6bd70b95 3652 "allowtoken" : 1,
9fda36b0 3653 "description" : "Read 'Domain' object settings.",
eff914dc 3654 "method" : "GET",
9fda36b0 3655 "name" : "read_domain",
eff914dc
DM
3656 "parameters" : {
3657 "additionalProperties" : 0,
3658 "properties" : {
3659 "id" : {
3660 "description" : "Object ID.",
3661 "type" : "integer",
3662 "typetext" : "<integer>"
3663 },
3664 "ogroup" : {
3665 "description" : "Object Groups ID.",
3666 "type" : "integer",
3667 "typetext" : "<integer>"
3668 }
3669 }
3670 },
c061d61d
DM
3671 "permissions" : {
3672 "check" : [
3673 "admin",
3674 "audit"
3675 ]
3676 },
eff914dc
DM
3677 "proxyto" : "master",
3678 "returns" : {
3679 "properties" : {
3680 "id" : {
3681 "type" : "integer"
3682 }
3683 },
3684 "type" : "object"
3685 }
3686 },
3687 "PUT" : {
6bd70b95 3688 "allowtoken" : 1,
9fda36b0 3689 "description" : "Update 'Domain' object.",
eff914dc 3690 "method" : "PUT",
9fda36b0 3691 "name" : "update_domain",
eff914dc
DM
3692 "parameters" : {
3693 "additionalProperties" : 0,
3694 "properties" : {
9fda36b0
DM
3695 "domain" : {
3696 "description" : "DNS domain name (Sender).",
3697 "format" : "dns-name",
eff914dc
DM
3698 "type" : "string",
3699 "typetext" : "<string>"
3700 },
3701 "id" : {
3702 "description" : "Object ID.",
3703 "type" : "integer",
3704 "typetext" : "<integer>"
3705 },
3706 "ogroup" : {
3707 "description" : "Object Groups ID.",
3708 "type" : "integer",
3709 "typetext" : "<integer>"
3710 }
3711 }
3712 },
c061d61d
DM
3713 "permissions" : {
3714 "check" : [
3715 "admin"
3716 ]
3717 },
a55e94a6 3718 "protected" : 1,
eff914dc
DM
3719 "proxyto" : "master",
3720 "returns" : {
3721 "type" : "null"
3722 }
3723 }
3724 },
3725 "leaf" : 1,
9fda36b0 3726 "path" : "/config/ruledb/who/{ogroup}/domain/{id}",
eff914dc
DM
3727 "text" : "{id}"
3728 }
3729 ],
3730 "info" : {
3731 "POST" : {
6bd70b95 3732 "allowtoken" : 1,
9fda36b0 3733 "description" : "Add 'Domain' object.",
eff914dc 3734 "method" : "POST",
9fda36b0 3735 "name" : "domain",
eff914dc
DM
3736 "parameters" : {
3737 "additionalProperties" : 0,
3738 "properties" : {
9fda36b0
DM
3739 "domain" : {
3740 "description" : "DNS domain name (Sender).",
3741 "format" : "dns-name",
eff914dc
DM
3742 "type" : "string",
3743 "typetext" : "<string>"
3744 },
3745 "ogroup" : {
3746 "description" : "Object Groups ID.",
3747 "type" : "integer",
3748 "typetext" : "<integer>"
3749 }
3750 }
3751 },
c061d61d
DM
3752 "permissions" : {
3753 "check" : [
3754 "admin"
3755 ]
3756 },
a55e94a6 3757 "protected" : 1,
eff914dc
DM
3758 "proxyto" : "master",
3759 "returns" : {
3760 "description" : "The object ID.",
3761 "type" : "integer"
3762 }
3763 }
3764 },
3765 "leaf" : 0,
9fda36b0
DM
3766 "path" : "/config/ruledb/who/{ogroup}/domain",
3767 "text" : "domain"
a55e94a6
DM
3768 },
3769 {
3770 "children" : [
3771 {
3772 "info" : {
3773 "GET" : {
6bd70b95 3774 "allowtoken" : 1,
9fda36b0 3775 "description" : "Read 'Regular Expression' object settings.",
a55e94a6 3776 "method" : "GET",
9fda36b0 3777 "name" : "read_regex",
a55e94a6
DM
3778 "parameters" : {
3779 "additionalProperties" : 0,
3780 "properties" : {
3781 "id" : {
3782 "description" : "Object ID.",
3783 "type" : "integer",
3784 "typetext" : "<integer>"
3785 },
3786 "ogroup" : {
3787 "description" : "Object Groups ID.",
3788 "type" : "integer",
3789 "typetext" : "<integer>"
3790 }
3791 }
3792 },
c061d61d
DM
3793 "permissions" : {
3794 "check" : [
3795 "admin",
3796 "audit"
3797 ]
3798 },
a55e94a6
DM
3799 "proxyto" : "master",
3800 "returns" : {
3801 "properties" : {
3802 "id" : {
3803 "type" : "integer"
3804 }
3805 },
3806 "type" : "object"
3807 }
3808 },
3809 "PUT" : {
6bd70b95 3810 "allowtoken" : 1,
9fda36b0 3811 "description" : "Update 'Regular Expression' object.",
a55e94a6 3812 "method" : "PUT",
9fda36b0 3813 "name" : "update_regex",
a55e94a6
DM
3814 "parameters" : {
3815 "additionalProperties" : 0,
3816 "properties" : {
a55e94a6
DM
3817 "id" : {
3818 "description" : "Object ID.",
3819 "type" : "integer",
3820 "typetext" : "<integer>"
3821 },
a55e94a6
DM
3822 "ogroup" : {
3823 "description" : "Object Groups ID.",
3824 "type" : "integer",
3825 "typetext" : "<integer>"
3826 },
9fda36b0
DM
3827 "regex" : {
3828 "description" : "Email address regular expression.",
3829 "maxLength" : 1024,
a55e94a6
DM
3830 "type" : "string",
3831 "typetext" : "<string>"
3832 }
3833 }
3834 },
c061d61d
DM
3835 "permissions" : {
3836 "check" : [
3837 "admin"
3838 ]
3839 },
a55e94a6
DM
3840 "protected" : 1,
3841 "proxyto" : "master",
3842 "returns" : {
3843 "type" : "null"
3844 }
3845 }
3846 },
3847 "leaf" : 1,
9fda36b0 3848 "path" : "/config/ruledb/who/{ogroup}/regex/{id}",
a55e94a6
DM
3849 "text" : "{id}"
3850 }
3851 ],
3852 "info" : {
3853 "POST" : {
6bd70b95 3854 "allowtoken" : 1,
9fda36b0 3855 "description" : "Add 'Regular Expression' object.",
a55e94a6 3856 "method" : "POST",
9fda36b0 3857 "name" : "regex",
a55e94a6
DM
3858 "parameters" : {
3859 "additionalProperties" : 0,
3860 "properties" : {
a55e94a6
DM
3861 "ogroup" : {
3862 "description" : "Object Groups ID.",
3863 "type" : "integer",
3864 "typetext" : "<integer>"
3865 },
9fda36b0
DM
3866 "regex" : {
3867 "description" : "Email address regular expression.",
3868 "maxLength" : 1024,
a55e94a6
DM
3869 "type" : "string",
3870 "typetext" : "<string>"
3871 }
3872 }
3873 },
c061d61d
DM
3874 "permissions" : {
3875 "check" : [
3876 "admin"
3877 ]
3878 },
a55e94a6
DM
3879 "protected" : 1,
3880 "proxyto" : "master",
3881 "returns" : {
3882 "description" : "The object ID.",
3883 "type" : "integer"
3884 }
3885 }
3886 },
3887 "leaf" : 0,
9fda36b0
DM
3888 "path" : "/config/ruledb/who/{ogroup}/regex",
3889 "text" : "regex"
a55e94a6
DM
3890 },
3891 {
3892 "children" : [
3893 {
3894 "info" : {
3895 "GET" : {
6bd70b95 3896 "allowtoken" : 1,
9fda36b0 3897 "description" : "Read 'IP Address' object settings.",
a55e94a6 3898 "method" : "GET",
9fda36b0 3899 "name" : "read_ip",
a55e94a6
DM
3900 "parameters" : {
3901 "additionalProperties" : 0,
3902 "properties" : {
3903 "id" : {
3904 "description" : "Object ID.",
3905 "type" : "integer",
3906 "typetext" : "<integer>"
3907 },
3908 "ogroup" : {
3909 "description" : "Object Groups ID.",
3910 "type" : "integer",
3911 "typetext" : "<integer>"
3912 }
3913 }
3914 },
c061d61d
DM
3915 "permissions" : {
3916 "check" : [
3917 "admin",
3918 "audit"
3919 ]
3920 },
a55e94a6
DM
3921 "proxyto" : "master",
3922 "returns" : {
3923 "properties" : {
3924 "id" : {
3925 "type" : "integer"
3926 }
3927 },
3928 "type" : "object"
3929 }
3930 },
3931 "PUT" : {
6bd70b95 3932 "allowtoken" : 1,
9fda36b0 3933 "description" : "Update 'IP Address' object.",
a55e94a6 3934 "method" : "PUT",
9fda36b0 3935 "name" : "update_ip",
a55e94a6
DM
3936 "parameters" : {
3937 "additionalProperties" : 0,
3938 "properties" : {
a55e94a6
DM
3939 "id" : {
3940 "description" : "Object ID.",
3941 "type" : "integer",
3942 "typetext" : "<integer>"
3943 },
9fda36b0
DM
3944 "ip" : {
3945 "description" : "IP address",
3946 "format" : "ip",
3947 "type" : "string",
3948 "typetext" : "<string>"
3949 },
a55e94a6
DM
3950 "ogroup" : {
3951 "description" : "Object Groups ID.",
3952 "type" : "integer",
3953 "typetext" : "<integer>"
a55e94a6
DM
3954 }
3955 }
3956 },
c061d61d
DM
3957 "permissions" : {
3958 "check" : [
3959 "admin"
3960 ]
3961 },
a55e94a6
DM
3962 "protected" : 1,
3963 "proxyto" : "master",
3964 "returns" : {
3965 "type" : "null"
3966 }
3967 }
3968 },
3969 "leaf" : 1,
9fda36b0 3970 "path" : "/config/ruledb/who/{ogroup}/ip/{id}",
a55e94a6
DM
3971 "text" : "{id}"
3972 }
3973 ],
3974 "info" : {
3975 "POST" : {
6bd70b95 3976 "allowtoken" : 1,
9fda36b0 3977 "description" : "Add 'IP Address' object.",
a55e94a6 3978 "method" : "POST",
9fda36b0 3979 "name" : "ip",
a55e94a6
DM
3980 "parameters" : {
3981 "additionalProperties" : 0,
3982 "properties" : {
9fda36b0
DM
3983 "ip" : {
3984 "description" : "IP address",
3985 "format" : "ip",
a55e94a6
DM
3986 "type" : "string",
3987 "typetext" : "<string>"
3988 },
3989 "ogroup" : {
3990 "description" : "Object Groups ID.",
3991 "type" : "integer",
3992 "typetext" : "<integer>"
a55e94a6
DM
3993 }
3994 }
3995 },
c061d61d
DM
3996 "permissions" : {
3997 "check" : [
3998 "admin"
3999 ]
4000 },
a55e94a6
DM
4001 "protected" : 1,
4002 "proxyto" : "master",
4003 "returns" : {
4004 "description" : "The object ID.",
4005 "type" : "integer"
4006 }
4007 }
4008 },
4009 "leaf" : 0,
9fda36b0
DM
4010 "path" : "/config/ruledb/who/{ogroup}/ip",
4011 "text" : "ip"
eff914dc 4012 },
9fda36b0
DM
4013 {
4014 "children" : [
4015 {
4016 "info" : {
4017 "GET" : {
6bd70b95 4018 "allowtoken" : 1,
9fda36b0
DM
4019 "description" : "Read 'IP Network' object settings.",
4020 "method" : "GET",
4021 "name" : "read_network",
4022 "parameters" : {
4023 "additionalProperties" : 0,
4024 "properties" : {
4025 "id" : {
4026 "description" : "Object ID.",
4027 "type" : "integer",
4028 "typetext" : "<integer>"
4029 },
4030 "ogroup" : {
4031 "description" : "Object Groups ID.",
4032 "type" : "integer",
4033 "typetext" : "<integer>"
4034 }
4035 }
4036 },
c061d61d
DM
4037 "permissions" : {
4038 "check" : [
4039 "admin",
4040 "audit"
4041 ]
4042 },
9fda36b0
DM
4043 "proxyto" : "master",
4044 "returns" : {
4045 "properties" : {
4046 "id" : {
4047 "type" : "integer"
4048 }
4049 },
4050 "type" : "object"
4051 }
4052 },
4053 "PUT" : {
6bd70b95 4054 "allowtoken" : 1,
9fda36b0
DM
4055 "description" : "Update 'IP Network' object.",
4056 "method" : "PUT",
4057 "name" : "update_network",
4058 "parameters" : {
4059 "additionalProperties" : 0,
4060 "properties" : {
4061 "cidr" : {
4062 "description" : "Network address in CIDR notation.",
4063 "format" : "CIDR",
4064 "type" : "string",
4065 "typetext" : "<string>"
4066 },
4067 "id" : {
4068 "description" : "Object ID.",
4069 "type" : "integer",
4070 "typetext" : "<integer>"
4071 },
4072 "ogroup" : {
4073 "description" : "Object Groups ID.",
4074 "type" : "integer",
4075 "typetext" : "<integer>"
4076 }
4077 }
4078 },
c061d61d
DM
4079 "permissions" : {
4080 "check" : [
4081 "admin"
4082 ]
4083 },
9fda36b0
DM
4084 "protected" : 1,
4085 "proxyto" : "master",
4086 "returns" : {
4087 "type" : "null"
4088 }
4089 }
4090 },
4091 "leaf" : 1,
4092 "path" : "/config/ruledb/who/{ogroup}/network/{id}",
4093 "text" : "{id}"
eff914dc 4094 }
9fda36b0
DM
4095 ],
4096 "info" : {
4097 "POST" : {
6bd70b95 4098 "allowtoken" : 1,
9fda36b0
DM
4099 "description" : "Add 'IP Network' object.",
4100 "method" : "POST",
4101 "name" : "network",
4102 "parameters" : {
4103 "additionalProperties" : 0,
4104 "properties" : {
4105 "cidr" : {
4106 "description" : "Network address in CIDR notation.",
4107 "format" : "CIDR",
4108 "type" : "string",
4109 "typetext" : "<string>"
4110 },
4111 "ogroup" : {
4112 "description" : "Object Groups ID.",
4113 "type" : "integer",
4114 "typetext" : "<integer>"
4115 }
eff914dc
DM
4116 }
4117 },
c061d61d
DM
4118 "permissions" : {
4119 "check" : [
4120 "admin"
4121 ]
4122 },
9fda36b0
DM
4123 "protected" : 1,
4124 "proxyto" : "master",
4125 "returns" : {
4126 "description" : "The object ID.",
4127 "type" : "integer"
eff914dc 4128 }
eff914dc
DM
4129 }
4130 },
9fda36b0
DM
4131 "leaf" : 0,
4132 "path" : "/config/ruledb/who/{ogroup}/network",
4133 "text" : "network"
410dc2c9 4134 },
9fda36b0
DM
4135 {
4136 "children" : [
4137 {
4138 "info" : {
4139 "GET" : {
6bd70b95 4140 "allowtoken" : 1,
9fda36b0
DM
4141 "description" : "Read 'LDAP Group' object settings.",
4142 "method" : "GET",
4143 "name" : "read_ldap",
4144 "parameters" : {
4145 "additionalProperties" : 0,
4146 "properties" : {
4147 "id" : {
4148 "description" : "Object ID.",
4149 "type" : "integer",
4150 "typetext" : "<integer>"
4151 },
4152 "ogroup" : {
4153 "description" : "Object Groups ID.",
4154 "type" : "integer",
4155 "typetext" : "<integer>"
4156 }
4157 }
4158 },
c061d61d
DM
4159 "permissions" : {
4160 "check" : [
4161 "admin",
4162 "audit"
4163 ]
4164 },
9fda36b0
DM
4165 "proxyto" : "master",
4166 "returns" : {
4167 "properties" : {
4168 "id" : {
4169 "type" : "integer"
4170 }
4171 },
4172 "type" : "object"
4173 }
4174 },
4175 "PUT" : {
6bd70b95 4176 "allowtoken" : 1,
9fda36b0
DM
4177 "description" : "Update 'LDAP Group' object.",
4178 "method" : "PUT",
4179 "name" : "update_ldap",
4180 "parameters" : {
4181 "additionalProperties" : 0,
4182 "properties" : {
4183 "group" : {
4184 "description" : "LDAP Group DN",
4185 "maxLength" : 1024,
4186 "minLength" : 1,
4187 "optional" : 1,
4188 "type" : "string",
4189 "typetext" : "<string>"
4190 },
4191 "id" : {
4192 "description" : "Object ID.",
4193 "type" : "integer",
4194 "typetext" : "<integer>"
4195 },
4196 "mode" : {
4197 "description" : "Operational mode. You can either match 'any' user, match when no such user exists with 'none', or match when the user is member of a specific group.",
4198 "enum" : [
4199 "any",
4200 "none",
4201 "group"
4202 ],
4203 "type" : "string"
4204 },
4205 "ogroup" : {
4206 "description" : "Object Groups ID.",
4207 "type" : "integer",
4208 "typetext" : "<integer>"
4209 },
4210 "profile" : {
4211 "description" : "Profile ID.",
4212 "format" : "pve-configid",
4213 "optional" : 1,
4214 "type" : "string",
4215 "typetext" : "<string>"
4216 }
4217 }
4218 },
c061d61d
DM
4219 "permissions" : {
4220 "check" : [
4221 "admin"
4222 ]
4223 },
9fda36b0
DM
4224 "protected" : 1,
4225 "proxyto" : "master",
4226 "returns" : {
4227 "type" : "null"
4228 }
4229 }
4230 },
4231 "leaf" : 1,
4232 "path" : "/config/ruledb/who/{ogroup}/ldap/{id}",
4233 "text" : "{id}"
4234 }
4235 ],
4236 "info" : {
4237 "POST" : {
6bd70b95 4238 "allowtoken" : 1,
9fda36b0
DM
4239 "description" : "Add 'LDAP Group' object.",
4240 "method" : "POST",
4241 "name" : "ldap",
4242 "parameters" : {
4243 "additionalProperties" : 0,
4244 "properties" : {
4245 "group" : {
4246 "description" : "LDAP Group DN",
4247 "maxLength" : 1024,
4248 "minLength" : 1,
4249 "optional" : 1,
4250 "type" : "string",
4251 "typetext" : "<string>"
4252 },
4253 "mode" : {
4254 "description" : "Operational mode. You can either match 'any' user, match when no such user exists with 'none', or match when the user is member of a specific group.",
4255 "enum" : [
4256 "any",
4257 "none",
4258 "group"
4259 ],
4260 "type" : "string"
4261 },
4262 "ogroup" : {
4263 "description" : "Object Groups ID.",
4264 "type" : "integer",
4265 "typetext" : "<integer>"
4266 },
4267 "profile" : {
4268 "description" : "Profile ID.",
4269 "format" : "pve-configid",
4270 "optional" : 1,
4271 "type" : "string",
4272 "typetext" : "<string>"
4273 }
4274 }
4275 },
c061d61d
DM
4276 "permissions" : {
4277 "check" : [
4278 "admin"
4279 ]
4280 },
9fda36b0
DM
4281 "protected" : 1,
4282 "proxyto" : "master",
4283 "returns" : {
4284 "description" : "The object ID.",
4285 "type" : "integer"
4286 }
4287 }
4288 },
4289 "leaf" : 0,
4290 "path" : "/config/ruledb/who/{ogroup}/ldap",
4291 "text" : "ldap"
4292 },
4293 {
4294 "children" : [
4295 {
4296 "info" : {
4297 "GET" : {
6bd70b95 4298 "allowtoken" : 1,
9fda36b0
DM
4299 "description" : "Read 'LDAP User' object settings.",
4300 "method" : "GET",
4301 "name" : "read_ldapuser",
4302 "parameters" : {
4303 "additionalProperties" : 0,
4304 "properties" : {
4305 "id" : {
4306 "description" : "Object ID.",
4307 "type" : "integer",
4308 "typetext" : "<integer>"
4309 },
4310 "ogroup" : {
4311 "description" : "Object Groups ID.",
4312 "type" : "integer",
4313 "typetext" : "<integer>"
4314 }
4315 }
4316 },
c061d61d
DM
4317 "permissions" : {
4318 "check" : [
4319 "admin",
4320 "audit"
4321 ]
4322 },
9fda36b0
DM
4323 "proxyto" : "master",
4324 "returns" : {
4325 "properties" : {
4326 "id" : {
4327 "type" : "integer"
4328 }
4329 },
4330 "type" : "object"
4331 }
4332 },
4333 "PUT" : {
6bd70b95 4334 "allowtoken" : 1,
9fda36b0
DM
4335 "description" : "Update 'LDAP User' object.",
4336 "method" : "PUT",
4337 "name" : "update_ldapuser",
4338 "parameters" : {
4339 "additionalProperties" : 0,
4340 "properties" : {
4341 "account" : {
4342 "description" : "LDAP user account name.",
4343 "maxLength" : 1024,
4344 "minLength" : 1,
4345 "type" : "string",
4346 "typetext" : "<string>"
4347 },
4348 "id" : {
4349 "description" : "Object ID.",
4350 "type" : "integer",
4351 "typetext" : "<integer>"
4352 },
4353 "ogroup" : {
4354 "description" : "Object Groups ID.",
4355 "type" : "integer",
4356 "typetext" : "<integer>"
4357 },
4358 "profile" : {
4359 "description" : "Profile ID.",
4360 "format" : "pve-configid",
4361 "type" : "string",
4362 "typetext" : "<string>"
4363 }
4364 }
4365 },
c061d61d
DM
4366 "permissions" : {
4367 "check" : [
4368 "admin"
4369 ]
4370 },
9fda36b0
DM
4371 "protected" : 1,
4372 "proxyto" : "master",
4373 "returns" : {
4374 "type" : "null"
4375 }
4376 }
4377 },
4378 "leaf" : 1,
4379 "path" : "/config/ruledb/who/{ogroup}/ldapuser/{id}",
4380 "text" : "{id}"
4381 }
4382 ],
4383 "info" : {
4384 "POST" : {
6bd70b95 4385 "allowtoken" : 1,
9fda36b0
DM
4386 "description" : "Add 'LDAP User' object.",
4387 "method" : "POST",
4388 "name" : "ldapuser",
4389 "parameters" : {
4390 "additionalProperties" : 0,
4391 "properties" : {
4392 "account" : {
4393 "description" : "LDAP user account name.",
4394 "maxLength" : 1024,
4395 "minLength" : 1,
4396 "type" : "string",
4397 "typetext" : "<string>"
4398 },
4399 "ogroup" : {
4400 "description" : "Object Groups ID.",
4401 "type" : "integer",
4402 "typetext" : "<integer>"
4403 },
4404 "profile" : {
4405 "description" : "Profile ID.",
4406 "format" : "pve-configid",
4407 "type" : "string",
4408 "typetext" : "<string>"
4409 }
4410 }
4411 },
c061d61d
DM
4412 "permissions" : {
4413 "check" : [
4414 "admin"
4415 ]
4416 },
9fda36b0
DM
4417 "protected" : 1,
4418 "proxyto" : "master",
4419 "returns" : {
4420 "description" : "The object ID.",
4421 "type" : "integer"
4422 }
4423 }
4424 },
4425 "leaf" : 0,
4426 "path" : "/config/ruledb/who/{ogroup}/ldapuser",
4427 "text" : "ldapuser"
4428 }
4429 ],
4430 "info" : {
4431 "DELETE" : {
6bd70b95 4432 "allowtoken" : 1,
9fda36b0
DM
4433 "description" : "Delete a 'who' group.",
4434 "method" : "DELETE",
4435 "name" : "delete_{$oclass}_group",
4436 "parameters" : {
4437 "additionalProperties" : 0,
4438 "properties" : {
4439 "ogroup" : {
4440 "description" : "Object Group ID.",
4441 "type" : "integer",
4442 "typetext" : "<integer>"
4443 }
4444 }
4445 },
732d76e1
DM
4446 "permissions" : {
4447 "check" : [
4448 "admin"
4449 ]
4450 },
9fda36b0
DM
4451 "protected" : 1,
4452 "proxyto" : "master",
4453 "returns" : {
4454 "type" : "null"
4455 }
4456 },
4457 "GET" : {
6bd70b95 4458 "allowtoken" : 1,
9fda36b0
DM
4459 "description" : "Directory index.",
4460 "method" : "GET",
4461 "name" : "index",
4462 "parameters" : {
4463 "additionalProperties" : 0,
4464 "properties" : {
4465 "ogroup" : {
4466 "description" : "Object Group ID.",
4467 "type" : "integer",
4468 "typetext" : "<integer>"
4469 }
4470 }
4471 },
732d76e1
DM
4472 "permissions" : {
4473 "check" : [
4474 "admin",
4475 "audit"
4476 ]
4477 },
9fda36b0
DM
4478 "returns" : {
4479 "items" : {
4480 "properties" : {
4481 "subdir" : {
4482 "type" : "string"
4483 }
4484 },
4485 "type" : "object"
4486 },
4487 "links" : [
4488 {
4489 "href" : "{subdir}",
4490 "rel" : "child"
4491 }
4492 ],
4493 "type" : "array"
4494 }
4495 }
4496 },
4497 "leaf" : 0,
4498 "path" : "/config/ruledb/who/{ogroup}",
4499 "text" : "{ogroup}"
4500 }
4501 ],
4502 "info" : {
4503 "GET" : {
6bd70b95 4504 "allowtoken" : 1,
9fda36b0
DM
4505 "description" : "Get list of 'who' groups.",
4506 "method" : "GET",
4507 "name" : "list_who_groups",
4508 "parameters" : {
4509 "additionalProperties" : 0
4510 },
732d76e1
DM
4511 "permissions" : {
4512 "check" : [
4513 "admin",
4514 "audit"
4515 ]
4516 },
9fda36b0
DM
4517 "proxyto" : "master",
4518 "returns" : {
4519 "items" : {
4520 "properties" : {
4521 "id" : {
4522 "type" : "integer"
4523 }
4524 },
4525 "type" : "object"
4526 },
4527 "type" : "array"
4528 }
4529 },
4530 "POST" : {
6bd70b95 4531 "allowtoken" : 1,
9fda36b0
DM
4532 "description" : "Create a new 'who' group.",
4533 "method" : "POST",
4534 "name" : "create_who_group",
4535 "parameters" : {
4536 "additionalProperties" : 0,
4537 "properties" : {
eff914dc
DM
4538 "info" : {
4539 "description" : "Informational comment.",
4540 "maxLength" : 255,
4541 "optional" : 1,
4542 "type" : "string",
4543 "typetext" : "<string>"
4544 },
4545 "name" : {
4546 "description" : "Group name.",
4547 "maxLength" : 255,
4548 "type" : "string",
4549 "typetext" : "<string>"
4550 }
4551 }
4552 },
732d76e1
DM
4553 "permissions" : {
4554 "check" : [
4555 "admin"
4556 ]
4557 },
eff914dc
DM
4558 "protected" : 1,
4559 "proxyto" : "master",
4560 "returns" : {
4561 "type" : "integer"
4562 }
410dc2c9
DM
4563 }
4564 },
eff914dc 4565 "leaf" : 0,
410dc2c9
DM
4566 "path" : "/config/ruledb/who",
4567 "text" : "who"
4568 }
4569 ],
4570 "info" : {
4571 "GET" : {
6bd70b95 4572 "allowtoken" : 1,
410dc2c9
DM
4573 "description" : "Directory index.",
4574 "method" : "GET",
4575 "name" : "index",
4576 "parameters" : {
4577 "additionalProperties" : 0
4578 },
732d76e1
DM
4579 "permissions" : {
4580 "check" : [
4581 "admin",
4582 "audit"
4583 ]
4584 },
410dc2c9
DM
4585 "returns" : {
4586 "items" : {
4587 "properties" : {},
4588 "type" : "object"
4589 },
4590 "links" : [
4591 {
4592 "href" : "{name}",
4593 "rel" : "child"
4594 }
4595 ],
4596 "type" : "array"
4597 }
d7cd791b
DM
4598 },
4599 "POST" : {
6bd70b95 4600 "allowtoken" : 1,
d7cd791b
DM
4601 "description" : "Reset PMG rule database back to factory defaults.",
4602 "method" : "POST",
4603 "name" : "reset_ruledb",
4604 "parameters" : {
4605 "additionalProperties" : 0
4606 },
4a46ced6
DM
4607 "permissions" : {
4608 "check" : [
4609 "admin"
4610 ]
4611 },
d7cd791b
DM
4612 "protected" : 1,
4613 "returns" : {
4614 "type" : "null"
4615 }
410dc2c9
DM
4616 }
4617 },
4618 "leaf" : 0,
4619 "path" : "/config/ruledb",
4620 "text" : "ruledb"
4621 },
4622 {
4623 "children" : [
4624 {
eff914dc
DM
4625 "children" : [
4626 {
4627 "info" : {
4628 "DELETE" : {
6bd70b95 4629 "allowtoken" : 1,
eff914dc
DM
4630 "description" : "Remove an object from the SMTP whitelist.",
4631 "method" : "DELETE",
4632 "name" : "delete_object",
4633 "parameters" : {
4634 "additionalProperties" : 0,
4635 "properties" : {
4636 "id" : {
4637 "description" : "Object ID.",
4638 "type" : "integer",
4639 "typetext" : "<integer>"
4640 }
4641 }
4642 },
732d76e1
DM
4643 "permissions" : {
4644 "check" : [
4645 "admin"
4646 ]
4647 },
bb6e6e0d 4648 "protected" : 1,
eff914dc
DM
4649 "proxyto" : "master",
4650 "returns" : {
4651 "type" : "null"
4652 }
4653 }
4654 },
4655 "leaf" : 1,
4656 "path" : "/config/whitelist/objects/{id}",
4657 "text" : "{id}"
4658 }
4659 ],
410dc2c9 4660 "info" : {
eff914dc 4661 "GET" : {
6bd70b95 4662 "allowtoken" : 1,
eff914dc
DM
4663 "description" : "Get list of all SMTP whitelist entries.",
4664 "method" : "GET",
4665 "name" : "objects",
4666 "parameters" : {
4667 "additionalProperties" : 0
4668 },
732d76e1
DM
4669 "permissions" : {
4670 "check" : [
4671 "admin",
4672 "audit"
4673 ]
4674 },
eff914dc
DM
4675 "proxyto" : "master",
4676 "returns" : {
4677 "items" : {
4678 "properties" : {
4679 "id" : {
4680 "type" : "integer"
4681 }
4682 },
4683 "type" : "object"
4684 },
4685 "links" : [
4686 {
4687 "href" : "{id}",
4688 "rel" : "child"
4689 }
4690 ],
4691 "type" : "array"
4692 }
4693 }
4694 },
4695 "leaf" : 0,
4696 "path" : "/config/whitelist/objects",
4697 "text" : "objects"
4698 },
4699 {
4700 "children" : [
4701 {
4702 "info" : {
4703 "GET" : {
6bd70b95 4704 "allowtoken" : 1,
eff914dc
DM
4705 "description" : "Read 'Mail address' object settings.",
4706 "method" : "GET",
4707 "name" : "read_email",
4708 "parameters" : {
4709 "additionalProperties" : 0,
4710 "properties" : {
4711 "id" : {
4712 "description" : "Object ID.",
4713 "type" : "integer",
4714 "typetext" : "<integer>"
4715 }
4716 }
4717 },
c061d61d
DM
4718 "permissions" : {
4719 "check" : [
4720 "admin",
4721 "audit"
4722 ]
4723 },
eff914dc
DM
4724 "proxyto" : "master",
4725 "returns" : {
4726 "properties" : {
4727 "id" : {
4728 "type" : "integer"
4729 }
4730 },
4731 "type" : "object"
4732 }
4733 },
4734 "PUT" : {
6bd70b95 4735 "allowtoken" : 1,
eff914dc
DM
4736 "description" : "Update 'Mail address' object.",
4737 "method" : "PUT",
4738 "name" : "update_email",
4739 "parameters" : {
4740 "additionalProperties" : 0,
4741 "properties" : {
4742 "email" : {
4743 "description" : "Email address.",
4744 "format" : "email",
4745 "type" : "string",
4746 "typetext" : "<string>"
4747 },
4748 "id" : {
4749 "description" : "Object ID.",
4750 "type" : "integer",
4751 "typetext" : "<integer>"
4752 }
4753 }
4754 },
c061d61d
DM
4755 "permissions" : {
4756 "check" : [
4757 "admin"
4758 ]
4759 },
a55e94a6 4760 "protected" : 1,
eff914dc
DM
4761 "proxyto" : "master",
4762 "returns" : {
4763 "type" : "null"
4764 }
4765 }
4766 },
4767 "leaf" : 1,
4768 "path" : "/config/whitelist/email/{id}",
4769 "text" : "{id}"
4770 }
4771 ],
4772 "info" : {
4773 "POST" : {
6bd70b95 4774 "allowtoken" : 1,
eff914dc
DM
4775 "description" : "Add 'Mail address' object.",
4776 "method" : "POST",
4777 "name" : "email",
410dc2c9
DM
4778 "parameters" : {
4779 "additionalProperties" : 0,
4780 "properties" : {
eff914dc
DM
4781 "email" : {
4782 "description" : "Email address.",
4783 "format" : "email",
410dc2c9
DM
4784 "type" : "string",
4785 "typetext" : "<string>"
4786 }
4787 }
4788 },
c061d61d
DM
4789 "permissions" : {
4790 "check" : [
4791 "admin"
4792 ]
4793 },
a55e94a6 4794 "protected" : 1,
410dc2c9
DM
4795 "proxyto" : "master",
4796 "returns" : {
eff914dc
DM
4797 "description" : "The object ID.",
4798 "type" : "integer"
410dc2c9 4799 }
eff914dc
DM
4800 }
4801 },
4802 "leaf" : 0,
4803 "path" : "/config/whitelist/email",
4804 "text" : "email"
4805 },
4806 {
4807 "children" : [
4808 {
4809 "info" : {
4810 "GET" : {
6bd70b95 4811 "allowtoken" : 1,
eff914dc
DM
4812 "description" : "Read 'Mail address' object settings.",
4813 "method" : "GET",
4814 "name" : "read_receiver",
4815 "parameters" : {
4816 "additionalProperties" : 0,
4817 "properties" : {
4818 "id" : {
4819 "description" : "Object ID.",
4820 "type" : "integer",
4821 "typetext" : "<integer>"
4822 }
4823 }
4824 },
c061d61d
DM
4825 "permissions" : {
4826 "check" : [
4827 "admin",
4828 "audit"
4829 ]
4830 },
eff914dc
DM
4831 "proxyto" : "master",
4832 "returns" : {
4833 "properties" : {
4834 "id" : {
4835 "type" : "integer"
4836 }
4837 },
4838 "type" : "object"
4839 }
4840 },
4841 "PUT" : {
6bd70b95 4842 "allowtoken" : 1,
eff914dc
DM
4843 "description" : "Update 'Mail address' object.",
4844 "method" : "PUT",
4845 "name" : "update_receiver",
4846 "parameters" : {
4847 "additionalProperties" : 0,
4848 "properties" : {
4849 "email" : {
4850 "description" : "Email address.",
4851 "format" : "email",
4852 "type" : "string",
4853 "typetext" : "<string>"
4854 },
4855 "id" : {
4856 "description" : "Object ID.",
4857 "type" : "integer",
4858 "typetext" : "<integer>"
4859 }
4860 }
4861 },
c061d61d
DM
4862 "permissions" : {
4863 "check" : [
4864 "admin"
4865 ]
4866 },
a55e94a6 4867 "protected" : 1,
eff914dc
DM
4868 "proxyto" : "master",
4869 "returns" : {
4870 "type" : "null"
4871 }
4872 }
4873 },
4874 "leaf" : 1,
4875 "path" : "/config/whitelist/receiver/{id}",
4876 "text" : "{id}"
4877 }
4878 ],
4879 "info" : {
4880 "POST" : {
6bd70b95 4881 "allowtoken" : 1,
eff914dc
DM
4882 "description" : "Add 'Mail address' object.",
4883 "method" : "POST",
4884 "name" : "receiver",
410dc2c9
DM
4885 "parameters" : {
4886 "additionalProperties" : 0,
4887 "properties" : {
eff914dc
DM
4888 "email" : {
4889 "description" : "Email address.",
4890 "format" : "email",
410dc2c9
DM
4891 "type" : "string",
4892 "typetext" : "<string>"
4893 }
4894 }
4895 },
c061d61d
DM
4896 "permissions" : {
4897 "check" : [
4898 "admin"
4899 ]
4900 },
a55e94a6 4901 "protected" : 1,
410dc2c9 4902 "proxyto" : "master",
eff914dc
DM
4903 "returns" : {
4904 "description" : "The object ID.",
4905 "type" : "integer"
4906 }
4907 }
4908 },
4909 "leaf" : 0,
4910 "path" : "/config/whitelist/receiver",
4911 "text" : "receiver"
4912 },
4913 {
4914 "children" : [
4915 {
4916 "info" : {
4917 "GET" : {
6bd70b95 4918 "allowtoken" : 1,
eff914dc
DM
4919 "description" : "Read 'Domain' object settings.",
4920 "method" : "GET",
4921 "name" : "read_domain",
4922 "parameters" : {
4923 "additionalProperties" : 0,
4924 "properties" : {
4925 "id" : {
4926 "description" : "Object ID.",
4927 "type" : "integer",
4928 "typetext" : "<integer>"
4929 }
4930 }
4931 },
c061d61d
DM
4932 "permissions" : {
4933 "check" : [
4934 "admin",
4935 "audit"
4936 ]
4937 },
eff914dc
DM
4938 "proxyto" : "master",
4939 "returns" : {
4940 "properties" : {
4941 "id" : {
4942 "type" : "integer"
4943 }
4944 },
4945 "type" : "object"
4946 }
4947 },
4948 "PUT" : {
6bd70b95 4949 "allowtoken" : 1,
eff914dc
DM
4950 "description" : "Update 'Domain' object.",
4951 "method" : "PUT",
4952 "name" : "update_domain",
4953 "parameters" : {
4954 "additionalProperties" : 0,
4955 "properties" : {
4956 "domain" : {
4957 "description" : "DNS domain name (Sender).",
4958 "format" : "dns-name",
4959 "type" : "string",
4960 "typetext" : "<string>"
4961 },
4962 "id" : {
4963 "description" : "Object ID.",
4964 "type" : "integer",
4965 "typetext" : "<integer>"
4966 }
4967 }
4968 },
c061d61d
DM
4969 "permissions" : {
4970 "check" : [
4971 "admin"
4972 ]
4973 },
a55e94a6 4974 "protected" : 1,
eff914dc
DM
4975 "proxyto" : "master",
4976 "returns" : {
4977 "type" : "null"
4978 }
4979 }
4980 },
4981 "leaf" : 1,
4982 "path" : "/config/whitelist/domain/{id}",
4983 "text" : "{id}"
4984 }
4985 ],
4986 "info" : {
4987 "POST" : {
6bd70b95 4988 "allowtoken" : 1,
eff914dc
DM
4989 "description" : "Add 'Domain' object.",
4990 "method" : "POST",
4991 "name" : "domain",
410dc2c9
DM
4992 "parameters" : {
4993 "additionalProperties" : 0,
4994 "properties" : {
eff914dc
DM
4995 "domain" : {
4996 "description" : "DNS domain name (Sender).",
4997 "format" : "dns-name",
410dc2c9
DM
4998 "type" : "string",
4999 "typetext" : "<string>"
eff914dc
DM
5000 }
5001 }
5002 },
c061d61d
DM
5003 "permissions" : {
5004 "check" : [
5005 "admin"
5006 ]
5007 },
a55e94a6 5008 "protected" : 1,
eff914dc
DM
5009 "proxyto" : "master",
5010 "returns" : {
5011 "description" : "The object ID.",
5012 "type" : "integer"
5013 }
5014 }
5015 },
5016 "leaf" : 0,
5017 "path" : "/config/whitelist/domain",
5018 "text" : "domain"
5019 },
5020 {
5021 "children" : [
5022 {
5023 "info" : {
5024 "GET" : {
6bd70b95 5025 "allowtoken" : 1,
eff914dc
DM
5026 "description" : "Read 'Domain' object settings.",
5027 "method" : "GET",
5028 "name" : "read_receiver_domain",
5029 "parameters" : {
5030 "additionalProperties" : 0,
5031 "properties" : {
5032 "id" : {
5033 "description" : "Object ID.",
5034 "type" : "integer",
5035 "typetext" : "<integer>"
5036 }
5037 }
410dc2c9 5038 },
c061d61d
DM
5039 "permissions" : {
5040 "check" : [
5041 "admin",
5042 "audit"
5043 ]
5044 },
eff914dc
DM
5045 "proxyto" : "master",
5046 "returns" : {
5047 "properties" : {
5048 "id" : {
5049 "type" : "integer"
5050 }
5051 },
5052 "type" : "object"
5053 }
5054 },
5055 "PUT" : {
6bd70b95 5056 "allowtoken" : 1,
eff914dc
DM
5057 "description" : "Update 'Domain' object.",
5058 "method" : "PUT",
5059 "name" : "update_receiver_domain",
5060 "parameters" : {
5061 "additionalProperties" : 0,
5062 "properties" : {
5063 "domain" : {
5064 "description" : "DNS domain name (Sender).",
5065 "format" : "dns-name",
5066 "type" : "string",
5067 "typetext" : "<string>"
5068 },
5069 "id" : {
5070 "description" : "Object ID.",
5071 "type" : "integer",
5072 "typetext" : "<integer>"
5073 }
5074 }
410dc2c9 5075 },
c061d61d
DM
5076 "permissions" : {
5077 "check" : [
5078 "admin"
5079 ]
5080 },
a55e94a6 5081 "protected" : 1,
eff914dc
DM
5082 "proxyto" : "master",
5083 "returns" : {
5084 "type" : "null"
5085 }
5086 }
5087 },
5088 "leaf" : 1,
5089 "path" : "/config/whitelist/receiver_domain/{id}",
5090 "text" : "{id}"
5091 }
5092 ],
5093 "info" : {
5094 "POST" : {
6bd70b95 5095 "allowtoken" : 1,
eff914dc
DM
5096 "description" : "Add 'Domain' object.",
5097 "method" : "POST",
5098 "name" : "receiver_domain",
5099 "parameters" : {
5100 "additionalProperties" : 0,
5101 "properties" : {
5102 "domain" : {
5103 "description" : "DNS domain name (Sender).",
5104 "format" : "dns-name",
410dc2c9
DM
5105 "type" : "string",
5106 "typetext" : "<string>"
eff914dc
DM
5107 }
5108 }
5109 },
c061d61d
DM
5110 "permissions" : {
5111 "check" : [
5112 "admin"
5113 ]
5114 },
a55e94a6 5115 "protected" : 1,
eff914dc
DM
5116 "proxyto" : "master",
5117 "returns" : {
5118 "description" : "The object ID.",
5119 "type" : "integer"
5120 }
5121 }
5122 },
5123 "leaf" : 0,
5124 "path" : "/config/whitelist/receiver_domain",
5125 "text" : "receiver_domain"
5126 },
5127 {
5128 "children" : [
5129 {
5130 "info" : {
5131 "GET" : {
6bd70b95 5132 "allowtoken" : 1,
eff914dc
DM
5133 "description" : "Read 'Regular Expression' object settings.",
5134 "method" : "GET",
5135 "name" : "read_regex",
5136 "parameters" : {
5137 "additionalProperties" : 0,
5138 "properties" : {
5139 "id" : {
5140 "description" : "Object ID.",
5141 "type" : "integer",
5142 "typetext" : "<integer>"
5143 }
5144 }
410dc2c9 5145 },
c061d61d
DM
5146 "permissions" : {
5147 "check" : [
5148 "admin",
5149 "audit"
5150 ]
5151 },
eff914dc
DM
5152 "proxyto" : "master",
5153 "returns" : {
5154 "properties" : {
5155 "id" : {
5156 "type" : "integer"
5157 }
5158 },
5159 "type" : "object"
5160 }
5161 },
5162 "PUT" : {
6bd70b95 5163 "allowtoken" : 1,
eff914dc
DM
5164 "description" : "Update 'Regular Expression' object.",
5165 "method" : "PUT",
5166 "name" : "update_regex",
5167 "parameters" : {
5168 "additionalProperties" : 0,
5169 "properties" : {
5170 "id" : {
5171 "description" : "Object ID.",
5172 "type" : "integer",
5173 "typetext" : "<integer>"
5174 },
5175 "regex" : {
5176 "description" : "Email address regular expression.",
5177 "maxLength" : 1024,
5178 "type" : "string",
5179 "typetext" : "<string>"
5180 }
5181 }
5182 },
c061d61d
DM
5183 "permissions" : {
5184 "check" : [
5185 "admin"
5186 ]
5187 },
a55e94a6 5188 "protected" : 1,
eff914dc
DM
5189 "proxyto" : "master",
5190 "returns" : {
5191 "type" : "null"
5192 }
5193 }
5194 },
5195 "leaf" : 1,
5196 "path" : "/config/whitelist/regex/{id}",
5197 "text" : "{id}"
5198 }
5199 ],
5200 "info" : {
5201 "POST" : {
6bd70b95 5202 "allowtoken" : 1,
eff914dc
DM
5203 "description" : "Add 'Regular Expression' object.",
5204 "method" : "POST",
5205 "name" : "regex",
5206 "parameters" : {
5207 "additionalProperties" : 0,
5208 "properties" : {
5209 "regex" : {
5210 "description" : "Email address regular expression.",
5211 "maxLength" : 1024,
410dc2c9
DM
5212 "type" : "string",
5213 "typetext" : "<string>"
eff914dc
DM
5214 }
5215 }
5216 },
c061d61d
DM
5217 "permissions" : {
5218 "check" : [
5219 "admin"
5220 ]
5221 },
a55e94a6 5222 "protected" : 1,
eff914dc
DM
5223 "proxyto" : "master",
5224 "returns" : {
5225 "description" : "The object ID.",
5226 "type" : "integer"
5227 }
5228 }
5229 },
5230 "leaf" : 0,
5231 "path" : "/config/whitelist/regex",
5232 "text" : "regex"
5233 },
5234 {
5235 "children" : [
5236 {
5237 "info" : {
5238 "GET" : {
6bd70b95 5239 "allowtoken" : 1,
eff914dc
DM
5240 "description" : "Read 'Regular Expression' object settings.",
5241 "method" : "GET",
5242 "name" : "read_receiver_regex",
5243 "parameters" : {
5244 "additionalProperties" : 0,
5245 "properties" : {
5246 "id" : {
5247 "description" : "Object ID.",
5248 "type" : "integer",
5249 "typetext" : "<integer>"
5250 }
5251 }
5252 },
c061d61d
DM
5253 "permissions" : {
5254 "check" : [
5255 "admin",
5256 "audit"
5257 ]
5258 },
eff914dc
DM
5259 "proxyto" : "master",
5260 "returns" : {
5261 "properties" : {
5262 "id" : {
5263 "type" : "integer"
5264 }
5265 },
5266 "type" : "object"
5267 }
5268 },
5269 "PUT" : {
6bd70b95 5270 "allowtoken" : 1,
eff914dc
DM
5271 "description" : "Update 'Regular Expression' object.",
5272 "method" : "PUT",
5273 "name" : "update_receiver_regex",
5274 "parameters" : {
5275 "additionalProperties" : 0,
5276 "properties" : {
5277 "id" : {
5278 "description" : "Object ID.",
5279 "type" : "integer",
5280 "typetext" : "<integer>"
5281 },
5282 "regex" : {
5283 "description" : "Email address regular expression.",
5284 "maxLength" : 1024,
5285 "type" : "string",
5286 "typetext" : "<string>"
5287 }
5288 }
5289 },
c061d61d
DM
5290 "permissions" : {
5291 "check" : [
5292 "admin"
5293 ]
5294 },
a55e94a6 5295 "protected" : 1,
eff914dc
DM
5296 "proxyto" : "master",
5297 "returns" : {
5298 "type" : "null"
5299 }
5300 }
5301 },
5302 "leaf" : 1,
5303 "path" : "/config/whitelist/receiver_regex/{id}",
5304 "text" : "{id}"
5305 }
5306 ],
5307 "info" : {
5308 "POST" : {
6bd70b95 5309 "allowtoken" : 1,
eff914dc
DM
5310 "description" : "Add 'Regular Expression' object.",
5311 "method" : "POST",
5312 "name" : "receiver_regex",
5313 "parameters" : {
5314 "additionalProperties" : 0,
5315 "properties" : {
5316 "regex" : {
5317 "description" : "Email address regular expression.",
5318 "maxLength" : 1024,
5319 "type" : "string",
5320 "typetext" : "<string>"
5321 }
5322 }
5323 },
c061d61d
DM
5324 "permissions" : {
5325 "check" : [
5326 "admin"
5327 ]
5328 },
a55e94a6 5329 "protected" : 1,
eff914dc
DM
5330 "proxyto" : "master",
5331 "returns" : {
5332 "description" : "The object ID.",
5333 "type" : "integer"
5334 }
5335 }
5336 },
5337 "leaf" : 0,
5338 "path" : "/config/whitelist/receiver_regex",
5339 "text" : "receiver_regex"
5340 },
5341 {
5342 "children" : [
5343 {
5344 "info" : {
5345 "GET" : {
6bd70b95 5346 "allowtoken" : 1,
eff914dc
DM
5347 "description" : "Read 'IP Address' object settings.",
5348 "method" : "GET",
5349 "name" : "read_ip",
5350 "parameters" : {
5351 "additionalProperties" : 0,
5352 "properties" : {
5353 "id" : {
5354 "description" : "Object ID.",
5355 "type" : "integer",
5356 "typetext" : "<integer>"
5357 }
5358 }
5359 },
c061d61d
DM
5360 "permissions" : {
5361 "check" : [
5362 "admin",
5363 "audit"
5364 ]
5365 },
eff914dc
DM
5366 "proxyto" : "master",
5367 "returns" : {
5368 "properties" : {
5369 "id" : {
5370 "type" : "integer"
5371 }
5372 },
5373 "type" : "object"
5374 }
5375 },
5376 "PUT" : {
6bd70b95 5377 "allowtoken" : 1,
eff914dc
DM
5378 "description" : "Update 'IP Address' object.",
5379 "method" : "PUT",
5380 "name" : "update_ip",
5381 "parameters" : {
5382 "additionalProperties" : 0,
5383 "properties" : {
5384 "id" : {
5385 "description" : "Object ID.",
5386 "type" : "integer",
5387 "typetext" : "<integer>"
5388 },
5389 "ip" : {
5390 "description" : "IP address",
5391 "format" : "ip",
5392 "type" : "string",
5393 "typetext" : "<string>"
5394 }
5395 }
5396 },
c061d61d
DM
5397 "permissions" : {
5398 "check" : [
5399 "admin"
5400 ]
5401 },
a55e94a6 5402 "protected" : 1,
eff914dc
DM
5403 "proxyto" : "master",
5404 "returns" : {
5405 "type" : "null"
5406 }
5407 }
5408 },
5409 "leaf" : 1,
5410 "path" : "/config/whitelist/ip/{id}",
5411 "text" : "{id}"
5412 }
5413 ],
5414 "info" : {
5415 "POST" : {
6bd70b95 5416 "allowtoken" : 1,
eff914dc
DM
5417 "description" : "Add 'IP Address' object.",
5418 "method" : "POST",
5419 "name" : "ip",
5420 "parameters" : {
5421 "additionalProperties" : 0,
5422 "properties" : {
5423 "ip" : {
5424 "description" : "IP address",
5425 "format" : "ip",
5426 "type" : "string",
5427 "typetext" : "<string>"
5428 }
5429 }
5430 },
c061d61d
DM
5431 "permissions" : {
5432 "check" : [
5433 "admin"
5434 ]
5435 },
a55e94a6 5436 "protected" : 1,
eff914dc
DM
5437 "proxyto" : "master",
5438 "returns" : {
5439 "description" : "The object ID.",
5440 "type" : "integer"
5441 }
5442 }
5443 },
5444 "leaf" : 0,
5445 "path" : "/config/whitelist/ip",
5446 "text" : "ip"
5447 },
5448 {
5449 "children" : [
5450 {
5451 "info" : {
5452 "GET" : {
6bd70b95 5453 "allowtoken" : 1,
eff914dc
DM
5454 "description" : "Read 'IP Network' object settings.",
5455 "method" : "GET",
5456 "name" : "read_network",
5457 "parameters" : {
5458 "additionalProperties" : 0,
5459 "properties" : {
5460 "id" : {
5461 "description" : "Object ID.",
5462 "type" : "integer",
5463 "typetext" : "<integer>"
5464 }
5465 }
5466 },
c061d61d
DM
5467 "permissions" : {
5468 "check" : [
5469 "admin",
5470 "audit"
5471 ]
5472 },
eff914dc
DM
5473 "proxyto" : "master",
5474 "returns" : {
5475 "properties" : {
5476 "id" : {
5477 "type" : "integer"
5478 }
5479 },
5480 "type" : "object"
5481 }
5482 },
5483 "PUT" : {
6bd70b95 5484 "allowtoken" : 1,
eff914dc
DM
5485 "description" : "Update 'IP Network' object.",
5486 "method" : "PUT",
5487 "name" : "update_network",
5488 "parameters" : {
5489 "additionalProperties" : 0,
5490 "properties" : {
5491 "cidr" : {
5492 "description" : "Network address in CIDR notation.",
5493 "format" : "CIDR",
5494 "type" : "string",
5495 "typetext" : "<string>"
5496 },
5497 "id" : {
5498 "description" : "Object ID.",
5499 "type" : "integer",
5500 "typetext" : "<integer>"
5501 }
5502 }
5503 },
c061d61d
DM
5504 "permissions" : {
5505 "check" : [
5506 "admin"
5507 ]
5508 },
a55e94a6 5509 "protected" : 1,
eff914dc
DM
5510 "proxyto" : "master",
5511 "returns" : {
5512 "type" : "null"
5513 }
5514 }
5515 },
5516 "leaf" : 1,
5517 "path" : "/config/whitelist/network/{id}",
5518 "text" : "{id}"
5519 }
5520 ],
5521 "info" : {
5522 "POST" : {
6bd70b95 5523 "allowtoken" : 1,
eff914dc
DM
5524 "description" : "Add 'IP Network' object.",
5525 "method" : "POST",
5526 "name" : "network",
5527 "parameters" : {
5528 "additionalProperties" : 0,
5529 "properties" : {
5530 "cidr" : {
5531 "description" : "Network address in CIDR notation.",
5532 "format" : "CIDR",
5533 "type" : "string",
5534 "typetext" : "<string>"
5535 }
5536 }
5537 },
c061d61d
DM
5538 "permissions" : {
5539 "check" : [
5540 "admin"
5541 ]
5542 },
a55e94a6 5543 "protected" : 1,
eff914dc
DM
5544 "proxyto" : "master",
5545 "returns" : {
5546 "description" : "The object ID.",
5547 "type" : "integer"
5548 }
5549 }
5550 },
5551 "leaf" : 0,
5552 "path" : "/config/whitelist/network",
5553 "text" : "network"
5554 }
5555 ],
5556 "info" : {
5557 "GET" : {
6bd70b95 5558 "allowtoken" : 1,
eff914dc
DM
5559 "description" : "Directory index.",
5560 "method" : "GET",
5561 "name" : "index",
5562 "parameters" : {
5563 "additionalProperties" : 0
5564 },
732d76e1
DM
5565 "permissions" : {
5566 "check" : [
5567 "admin",
5568 "audit"
5569 ]
5570 },
eff914dc
DM
5571 "returns" : {
5572 "items" : {
5573 "properties" : {
5574 "subdir" : {
5575 "type" : "string"
5576 }
5577 },
5578 "type" : "object"
5579 },
5580 "links" : [
5581 {
5582 "href" : "{subdir}",
5583 "rel" : "child"
5584 }
5585 ],
5586 "type" : "array"
5587 }
5588 }
5589 },
5590 "leaf" : 0,
5591 "path" : "/config/whitelist",
5592 "text" : "whitelist"
5593 },
5594 {
5595 "children" : [
5596 {
a55e94a6
DM
5597 "children" : [
5598 {
5599 "info" : {
5600 "GET" : {
6bd70b95 5601 "allowtoken" : 1,
a55e94a6
DM
5602 "description" : "Get LDAP profile configuration.",
5603 "method" : "GET",
5604 "name" : "read_config",
5605 "parameters" : {
5606 "additionalProperties" : 0,
5607 "properties" : {
5608 "profile" : {
5609 "description" : "Profile ID.",
5610 "format" : "pve-configid",
5611 "type" : "string",
5612 "typetext" : "<string>"
5613 }
5614 }
5615 },
5616 "permissions" : {
5617 "check" : [
4a46ced6
DM
5618 "admin",
5619 "audit"
a55e94a6
DM
5620 ]
5621 },
5622 "proxyto" : "master",
5623 "returns" : {}
5624 },
5625 "PUT" : {
6bd70b95 5626 "allowtoken" : 1,
a55e94a6
DM
5627 "description" : "Update LDAP profile settings.",
5628 "method" : "PUT",
5629 "name" : "update_config",
5630 "parameters" : {
5631 "additionalProperties" : 0,
5632 "properties" : {
5633 "accountattr" : {
732d76e1 5634 "default" : "sAMAccountName, uid",
a55e94a6 5635 "description" : "Account attribute name name.",
274b47fc 5636 "format" : "ldap-simple-attr-list",
a55e94a6 5637 "optional" : 1,
274b47fc
DM
5638 "type" : "string",
5639 "typetext" : "<string>"
a55e94a6
DM
5640 },
5641 "basedn" : {
5642 "description" : "Base domain name.",
5643 "optional" : 1,
5644 "type" : "string",
5645 "typetext" : "<string>"
5646 },
5647 "binddn" : {
5648 "description" : "Bind domain name.",
5649 "optional" : 1,
5650 "type" : "string",
5651 "typetext" : "<string>"
5652 },
5653 "bindpw" : {
5654 "description" : "Bind password.",
5655 "optional" : 1,
5656 "type" : "string",
5657 "typetext" : "<string>"
5658 },
241ac83c
TL
5659 "cafile" : {
5660 "description" : "Path to CA file. Only useful with option 'verify'",
5661 "optional" : 1,
5662 "type" : "string",
5663 "typetext" : "<string>"
5664 },
a55e94a6
DM
5665 "comment" : {
5666 "description" : "Description.",
5667 "maxLength" : 4096,
5668 "optional" : 1,
5669 "type" : "string",
5670 "typetext" : "<string>"
5671 },
5672 "delete" : {
5673 "description" : "A list of settings you want to delete.",
5674 "format" : "pve-configid-list",
5675 "maxLength" : 4096,
5676 "optional" : 1,
5677 "type" : "string",
5678 "typetext" : "<string>"
5679 },
5680 "digest" : {
5681 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
5682 "maxLength" : 40,
5683 "optional" : 1,
5684 "type" : "string",
5685 "typetext" : "<string>"
5686 },
5687 "disable" : {
5688 "description" : "Flag to disable/deactivate the entry.",
5689 "optional" : 1,
5690 "type" : "boolean",
5691 "typetext" : "<boolean>"
5692 },
5693 "filter" : {
5694 "description" : "LDAP filter.",
5695 "optional" : 1,
5696 "type" : "string",
5697 "typetext" : "<string>"
5698 },
5699 "groupbasedn" : {
5700 "description" : "Base domain name for groups.",
5701 "optional" : 1,
5702 "type" : "string",
5703 "typetext" : "<string>"
5704 },
732d76e1
DM
5705 "groupclass" : {
5706 "default" : "group, univentionGroup, ipausergroup",
5707 "description" : "List of objectclasses for groups.",
274b47fc 5708 "format" : "ldap-simple-attr-list",
732d76e1
DM
5709 "optional" : 1,
5710 "type" : "string",
5711 "typetext" : "<string>"
5712 },
a55e94a6 5713 "mailattr" : {
274b47fc 5714 "default" : "mail, userPrincipalName, proxyAddresses, othermailbox, mailAlternativeAddress",
a55e94a6 5715 "description" : "List of mail attribute names.",
274b47fc 5716 "format" : "ldap-simple-attr-list",
a55e94a6 5717 "optional" : 1,
274b47fc
DM
5718 "type" : "string",
5719 "typetext" : "<string>"
a55e94a6
DM
5720 },
5721 "mode" : {
5722 "default" : "ldap",
241ac83c 5723 "description" : "LDAP protocol mode ('ldap', 'ldaps' or 'ldap+starttls').",
a55e94a6
DM
5724 "enum" : [
5725 "ldap",
241ac83c
TL
5726 "ldaps",
5727 "ldap+starttls"
a55e94a6
DM
5728 ],
5729 "optional" : 1,
5730 "type" : "string"
5731 },
5732 "port" : {
5733 "description" : "Specify the port to connect to.",
5734 "maximum" : 65535,
5735 "minimum" : 1,
5736 "optional" : 1,
5737 "type" : "integer",
5738 "typetext" : "<integer> (1 - 65535)"
5739 },
5740 "profile" : {
5741 "description" : "Profile ID.",
5742 "format" : "pve-configid",
5743 "type" : "string",
5744 "typetext" : "<string>"
5745 },
5746 "server1" : {
5747 "description" : "Server address.",
5748 "format" : "address",
5749 "maxLength" : 256,
5750 "optional" : 1,
5751 "type" : "string",
5752 "typetext" : "<string>"
5753 },
5754 "server2" : {
5755 "description" : "Fallback server address. Userd when the first server is not available.",
5756 "format" : "address",
5757 "maxLength" : 256,
5758 "optional" : 1,
5759 "type" : "string",
5760 "typetext" : "<string>"
241ac83c
TL
5761 },
5762 "verify" : {
5763 "default" : 0,
5764 "description" : "Verify server certificate. Only useful with ldaps or ldap+starttls.",
5765 "optional" : 1,
5766 "type" : "boolean",
5767 "typetext" : "<boolean>"
a55e94a6 5768 }
732d76e1
DM
5769 },
5770 "type" : "object"
5771 },
5772 "permissions" : {
5773 "check" : [
5774 "admin"
5775 ]
5776 },
5777 "protected" : 1,
5778 "proxyto" : "master",
5779 "returns" : {
5780 "type" : "null"
5781 }
5782 }
5783 },
5784 "leaf" : 1,
5785 "path" : "/config/ldap/{profile}/config",
5786 "text" : "config"
5787 },
5788 {
5789 "info" : {
5790 "POST" : {
6bd70b95 5791 "allowtoken" : 1,
732d76e1
DM
5792 "description" : "Synchronice LDAP users to local database.",
5793 "method" : "POST",
5794 "name" : "sync_profile",
5795 "parameters" : {
5796 "additionalProperties" : 0,
5797 "properties" : {
5798 "profile" : {
5799 "description" : "Profile ID.",
5800 "format" : "pve-configid",
5801 "type" : "string",
5802 "typetext" : "<string>"
5803 }
5804 }
5805 },
5806 "permissions" : {
5807 "check" : [
5808 "admin"
5809 ]
5810 },
5811 "protected" : 1,
5812 "proxyto" : "master",
5813 "returns" : {
5814 "type" : "null"
5815 }
5816 }
5817 },
5818 "leaf" : 1,
5819 "path" : "/config/ldap/{profile}/sync",
5820 "text" : "sync"
5821 },
5822 {
5823 "children" : [
5824 {
5825 "info" : {
5826 "GET" : {
6bd70b95 5827 "allowtoken" : 1,
732d76e1
DM
5828 "description" : "Get all email addresses for the specified user.",
5829 "method" : "GET",
5830 "name" : "address_list",
5831 "parameters" : {
5832 "additionalProperties" : 0,
5833 "properties" : {
5834 "email" : {
5835 "description" : "Email address.",
0b9926d3
TL
5836 "maxLength" : 512,
5837 "minLength" : 3,
5838 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
5839 "type" : "string"
732d76e1
DM
5840 },
5841 "profile" : {
5842 "description" : "Profile ID.",
5843 "format" : "pve-configid",
5844 "type" : "string",
5845 "typetext" : "<string>"
5846 }
5847 }
5848 },
5849 "permissions" : {
5850 "check" : [
4a46ced6
DM
5851 "admin",
5852 "audit"
732d76e1
DM
5853 ]
5854 },
5855 "protected" : 1,
5856 "proxyto" : "master",
5857 "returns" : {
5858 "items" : {
5859 "properties" : {
5860 "email" : {
5861 "type" : "string"
5862 },
5863 "primary" : {
5864 "type" : "boolean"
5865 }
5866 },
5867 "type" : "object"
5868 },
5869 "type" : "array"
5870 }
5871 }
a55e94a6 5872 },
732d76e1
DM
5873 "leaf" : 1,
5874 "path" : "/config/ldap/{profile}/users/{email}",
5875 "text" : "{email}"
a55e94a6 5876 }
732d76e1 5877 ],
a55e94a6 5878 "info" : {
732d76e1 5879 "GET" : {
6bd70b95 5880 "allowtoken" : 1,
732d76e1
DM
5881 "description" : "List LDAP users.",
5882 "method" : "GET",
5883 "name" : "profile_list_users",
a55e94a6
DM
5884 "parameters" : {
5885 "additionalProperties" : 0,
5886 "properties" : {
5887 "profile" : {
5888 "description" : "Profile ID.",
5889 "format" : "pve-configid",
5890 "type" : "string",
5891 "typetext" : "<string>"
5892 }
5893 }
5894 },
5895 "permissions" : {
5896 "check" : [
4a46ced6
DM
5897 "admin",
5898 "audit"
a55e94a6
DM
5899 ]
5900 },
5901 "protected" : 1,
5902 "proxyto" : "master",
5903 "returns" : {
732d76e1
DM
5904 "items" : {
5905 "properties" : {
5906 "account" : {
5907 "type" : "string"
5908 },
5909 "dn" : {
5910 "type" : "string"
5911 },
5912 "pmail" : {
5913 "type" : "string"
5914 }
5915 },
5916 "type" : "object"
5917 },
5918 "links" : [
5919 {
5920 "href" : "{pmail}",
5921 "rel" : "child"
5922 }
5923 ],
5924 "type" : "array"
a55e94a6
DM
5925 }
5926 }
5927 },
732d76e1
DM
5928 "leaf" : 0,
5929 "path" : "/config/ldap/{profile}/users",
5930 "text" : "users"
a55e94a6
DM
5931 },
5932 {
5933 "children" : [
5934 {
5935 "info" : {
5936 "GET" : {
6bd70b95 5937 "allowtoken" : 1,
732d76e1 5938 "description" : "List LDAP group members.",
a55e94a6 5939 "method" : "GET",
732d76e1 5940 "name" : "profile_list_group_members",
a55e94a6
DM
5941 "parameters" : {
5942 "additionalProperties" : 0,
5943 "properties" : {
732d76e1
DM
5944 "gid" : {
5945 "description" : "Group ID",
5946 "type" : "number",
5947 "typetext" : "<number>"
a55e94a6
DM
5948 },
5949 "profile" : {
5950 "description" : "Profile ID.",
5951 "format" : "pve-configid",
5952 "type" : "string",
5953 "typetext" : "<string>"
5954 }
5955 }
5956 },
5957 "permissions" : {
5958 "check" : [
4a46ced6
DM
5959 "admin",
5960 "audit"
a55e94a6
DM
5961 ]
5962 },
5963 "protected" : 1,
5964 "proxyto" : "master",
5965 "returns" : {
5966 "items" : {
5967 "properties" : {
732d76e1 5968 "account" : {
a55e94a6
DM
5969 "type" : "string"
5970 },
732d76e1
DM
5971 "dn" : {
5972 "type" : "string"
5973 },
5974 "pmail" : {
5975 "type" : "string"
a55e94a6
DM
5976 }
5977 },
5978 "type" : "object"
5979 },
5980 "type" : "array"
5981 }
5982 }
5983 },
5984 "leaf" : 1,
732d76e1
DM
5985 "path" : "/config/ldap/{profile}/groups/{gid}",
5986 "text" : "{gid}"
a55e94a6
DM
5987 }
5988 ],
5989 "info" : {
5990 "GET" : {
6bd70b95 5991 "allowtoken" : 1,
732d76e1 5992 "description" : "List LDAP groups.",
a55e94a6 5993 "method" : "GET",
732d76e1 5994 "name" : "profile_list_groups",
a55e94a6
DM
5995 "parameters" : {
5996 "additionalProperties" : 0,
5997 "properties" : {
5998 "profile" : {
5999 "description" : "Profile ID.",
6000 "format" : "pve-configid",
6001 "type" : "string",
6002 "typetext" : "<string>"
6003 }
6004 }
6005 },
6006 "permissions" : {
6007 "check" : [
4a46ced6
DM
6008 "admin",
6009 "audit"
a55e94a6
DM
6010 ]
6011 },
6012 "protected" : 1,
6013 "proxyto" : "master",
6014 "returns" : {
6015 "items" : {
6016 "properties" : {
a55e94a6
DM
6017 "dn" : {
6018 "type" : "string"
6019 },
732d76e1
DM
6020 "gid" : {
6021 "type" : "number"
a55e94a6
DM
6022 }
6023 },
6024 "type" : "object"
6025 },
732d76e1
DM
6026 "links" : [
6027 {
6028 "href" : "{gid}",
6029 "rel" : "child"
6030 }
6031 ],
a55e94a6
DM
6032 "type" : "array"
6033 }
6034 }
6035 },
732d76e1
DM
6036 "leaf" : 0,
6037 "path" : "/config/ldap/{profile}/groups",
6038 "text" : "groups"
6039 }
6040 ],
6041 "info" : {
6042 "DELETE" : {
6bd70b95 6043 "allowtoken" : 1,
732d76e1
DM
6044 "description" : "Delete an LDAP profile",
6045 "method" : "DELETE",
6046 "name" : "delete",
6047 "parameters" : {
6048 "additionalProperties" : 0,
6049 "properties" : {
6050 "profile" : {
6051 "description" : "Profile ID.",
6052 "format" : "pve-configid",
6053 "type" : "string",
6054 "typetext" : "<string>"
6055 }
6056 }
6057 },
6058 "permissions" : {
6059 "check" : [
6060 "admin"
6061 ]
6062 },
6063 "protected" : 1,
6064 "proxyto" : "master",
6065 "returns" : {
6066 "type" : "null"
6067 }
6068 },
6069 "GET" : {
6bd70b95 6070 "allowtoken" : 1,
732d76e1
DM
6071 "description" : "Directory index",
6072 "method" : "GET",
6073 "name" : "profile_index",
6074 "parameters" : {
6075 "additionalProperties" : 0,
6076 "properties" : {
6077 "profile" : {
6078 "description" : "Profile ID.",
6079 "format" : "pve-configid",
6080 "type" : "string",
6081 "typetext" : "<string>"
6082 }
6083 }
6084 },
6085 "permissions" : {
6086 "user" : "all"
6087 },
6088 "returns" : {
6089 "items" : {
6090 "properties" : {
6091 "subdir" : {
6092 "type" : "string"
6093 }
6094 },
6095 "type" : "object"
6096 },
6097 "links" : [
6098 {
6099 "href" : "{subdir}",
6100 "rel" : "child"
6101 }
6102 ],
6103 "type" : "array"
6104 }
6105 }
6106 },
6107 "leaf" : 0,
6108 "path" : "/config/ldap/{profile}",
6109 "text" : "{profile}"
6110 }
6111 ],
6112 "info" : {
6113 "GET" : {
6bd70b95 6114 "allowtoken" : 1,
732d76e1
DM
6115 "description" : "List configured LDAP profiles.",
6116 "method" : "GET",
6117 "name" : "index",
6118 "parameters" : {
6119 "additionalProperties" : 0
6120 },
6121 "permissions" : {
6122 "check" : [
4a46ced6
DM
6123 "admin",
6124 "audit"
732d76e1
DM
6125 ]
6126 },
6127 "proxyto" : "master",
6128 "returns" : {
6129 "items" : {
6130 "properties" : {
6131 "comment" : {
6132 "optional" : 1,
6133 "type" : "string"
6134 },
6135 "disable" : {
6136 "type" : "boolean"
6137 },
6138 "gcount" : {
6139 "optional" : 1,
6140 "type" : "integer"
6141 },
6142 "mcount" : {
6143 "optional" : 1,
6144 "type" : "integer"
6145 },
6146 "mode" : {
6147 "type" : "string"
6148 },
6149 "profile" : {
6150 "type" : "string"
6151 },
6152 "server1" : {
6153 "type" : "string"
6154 },
6155 "server2" : {
6156 "optional" : 1,
6157 "type" : "string"
6158 },
6159 "ucount" : {
6160 "optional" : 1,
6161 "type" : "integer"
6162 }
6163 },
6164 "type" : "object"
6165 },
6166 "links" : [
6167 {
6168 "href" : "{profile}",
6169 "rel" : "child"
6170 }
6171 ],
6172 "type" : "array"
6173 }
6174 },
6175 "POST" : {
6bd70b95 6176 "allowtoken" : 1,
732d76e1
DM
6177 "description" : "Add LDAP profile.",
6178 "method" : "POST",
6179 "name" : "create",
6180 "parameters" : {
6181 "additionalProperties" : 0,
6182 "properties" : {
6183 "accountattr" : {
6184 "default" : "sAMAccountName, uid",
6185 "description" : "Account attribute name name.",
274b47fc 6186 "format" : "ldap-simple-attr-list",
732d76e1 6187 "optional" : 1,
274b47fc
DM
6188 "type" : "string",
6189 "typetext" : "<string>"
732d76e1
DM
6190 },
6191 "basedn" : {
6192 "description" : "Base domain name.",
6193 "optional" : 1,
6194 "type" : "string",
6195 "typetext" : "<string>"
6196 },
6197 "binddn" : {
6198 "description" : "Bind domain name.",
6199 "optional" : 1,
6200 "type" : "string",
6201 "typetext" : "<string>"
6202 },
6203 "bindpw" : {
6204 "description" : "Bind password.",
6205 "optional" : 1,
6206 "type" : "string",
6207 "typetext" : "<string>"
6208 },
241ac83c
TL
6209 "cafile" : {
6210 "description" : "Path to CA file. Only useful with option 'verify'",
6211 "optional" : 1,
6212 "type" : "string",
6213 "typetext" : "<string>"
6214 },
732d76e1
DM
6215 "comment" : {
6216 "description" : "Description.",
6217 "maxLength" : 4096,
6218 "optional" : 1,
6219 "type" : "string",
6220 "typetext" : "<string>"
6221 },
6222 "disable" : {
6223 "description" : "Flag to disable/deactivate the entry.",
6224 "optional" : 1,
6225 "type" : "boolean",
6226 "typetext" : "<boolean>"
a55e94a6 6227 },
732d76e1
DM
6228 "filter" : {
6229 "description" : "LDAP filter.",
6230 "optional" : 1,
6231 "type" : "string",
6232 "typetext" : "<string>"
6233 },
6234 "groupbasedn" : {
6235 "description" : "Base domain name for groups.",
6236 "optional" : 1,
6237 "type" : "string",
6238 "typetext" : "<string>"
6239 },
6240 "groupclass" : {
6241 "default" : "group, univentionGroup, ipausergroup",
6242 "description" : "List of objectclasses for groups.",
274b47fc 6243 "format" : "ldap-simple-attr-list",
732d76e1
DM
6244 "optional" : 1,
6245 "type" : "string",
6246 "typetext" : "<string>"
6247 },
6248 "mailattr" : {
274b47fc 6249 "default" : "mail, userPrincipalName, proxyAddresses, othermailbox, mailAlternativeAddress",
732d76e1 6250 "description" : "List of mail attribute names.",
274b47fc 6251 "format" : "ldap-simple-attr-list",
732d76e1 6252 "optional" : 1,
274b47fc
DM
6253 "type" : "string",
6254 "typetext" : "<string>"
732d76e1
DM
6255 },
6256 "mode" : {
6257 "default" : "ldap",
241ac83c 6258 "description" : "LDAP protocol mode ('ldap', 'ldaps' or 'ldap+starttls').",
732d76e1
DM
6259 "enum" : [
6260 "ldap",
241ac83c
TL
6261 "ldaps",
6262 "ldap+starttls"
732d76e1
DM
6263 ],
6264 "optional" : 1,
6265 "type" : "string"
6266 },
6267 "port" : {
6268 "description" : "Specify the port to connect to.",
6269 "maximum" : 65535,
6270 "minimum" : 1,
6271 "optional" : 1,
6272 "type" : "integer",
6273 "typetext" : "<integer> (1 - 65535)"
6274 },
6275 "profile" : {
6276 "description" : "Profile ID.",
6277 "format" : "pve-configid",
6278 "type" : "string",
6279 "typetext" : "<string>"
6280 },
6281 "server1" : {
6282 "description" : "Server address.",
6283 "format" : "address",
6284 "maxLength" : 256,
6285 "optional" : 0,
6286 "type" : "string",
6287 "typetext" : "<string>"
6288 },
6289 "server2" : {
6290 "description" : "Fallback server address. Userd when the first server is not available.",
6291 "format" : "address",
6292 "maxLength" : 256,
6293 "optional" : 1,
6294 "type" : "string",
6295 "typetext" : "<string>"
241ac83c
TL
6296 },
6297 "verify" : {
6298 "default" : 0,
6299 "description" : "Verify server certificate. Only useful with ldaps or ldap+starttls.",
6300 "optional" : 1,
6301 "type" : "boolean",
6302 "typetext" : "<boolean>"
732d76e1
DM
6303 }
6304 },
6305 "type" : "object"
6306 },
6307 "permissions" : {
6308 "check" : [
6309 "admin"
6310 ]
6311 },
6312 "protected" : 1,
6313 "proxyto" : "master",
6314 "returns" : {
6315 "type" : "null"
6316 }
6317 }
6318 },
6319 "leaf" : 0,
6320 "path" : "/config/ldap",
6321 "text" : "ldap"
6322 },
6323 {
6324 "children" : [
6325 {
a55e94a6
DM
6326 "info" : {
6327 "DELETE" : {
6bd70b95 6328 "allowtoken" : 1,
732d76e1 6329 "description" : "Delete a relay domain",
a55e94a6
DM
6330 "method" : "DELETE",
6331 "name" : "delete",
6332 "parameters" : {
6333 "additionalProperties" : 0,
6334 "properties" : {
732d76e1
DM
6335 "domain" : {
6336 "description" : "Domain name.",
f225b3b4 6337 "format" : "transport-domain",
eff914dc
DM
6338 "type" : "string",
6339 "typetext" : "<string>"
6340 }
6341 }
6342 },
a55e94a6
DM
6343 "permissions" : {
6344 "check" : [
6345 "admin"
6346 ]
6347 },
eff914dc
DM
6348 "protected" : 1,
6349 "proxyto" : "master",
a55e94a6
DM
6350 "returns" : {
6351 "type" : "null"
6352 }
eff914dc 6353 },
a55e94a6 6354 "GET" : {
6bd70b95 6355 "allowtoken" : 1,
732d76e1 6356 "description" : "Read Domain data (comment).",
a55e94a6 6357 "method" : "GET",
732d76e1 6358 "name" : "read",
eff914dc
DM
6359 "parameters" : {
6360 "additionalProperties" : 0,
6361 "properties" : {
732d76e1
DM
6362 "domain" : {
6363 "description" : "Domain name.",
f225b3b4 6364 "format" : "transport-domain",
eff914dc
DM
6365 "type" : "string",
6366 "typetext" : "<string>"
a55e94a6
DM
6367 }
6368 }
6369 },
6370 "permissions" : {
732d76e1
DM
6371 "check" : [
6372 "admin",
6373 "audit"
6374 ]
a55e94a6 6375 },
732d76e1 6376 "proxyto" : "master",
a55e94a6 6377 "returns" : {
732d76e1
DM
6378 "properties" : {
6379 "comment" : {
6380 "type" : "string"
eff914dc 6381 },
732d76e1
DM
6382 "domain" : {
6383 "type" : "string"
6384 }
eff914dc 6385 },
732d76e1
DM
6386 "type" : "object"
6387 }
6388 },
6389 "PUT" : {
6bd70b95 6390 "allowtoken" : 1,
732d76e1
DM
6391 "description" : "Update relay domain data (comment).",
6392 "method" : "PUT",
6393 "name" : "write",
6394 "parameters" : {
6395 "additionalProperties" : 0,
6396 "properties" : {
6397 "comment" : {
6398 "description" : "Comment.",
6399 "type" : "string",
6400 "typetext" : "<string>"
6401 },
6402 "domain" : {
6403 "description" : "Domain name.",
f225b3b4 6404 "format" : "transport-domain",
732d76e1
DM
6405 "type" : "string",
6406 "typetext" : "<string>"
a55e94a6 6407 }
732d76e1
DM
6408 }
6409 },
6410 "permissions" : {
6411 "check" : [
6412 "admin"
6413 ]
6414 },
6415 "protected" : 1,
6416 "proxyto" : "master",
6417 "returns" : {
6418 "type" : "null"
eff914dc
DM
6419 }
6420 }
6421 },
732d76e1
DM
6422 "leaf" : 1,
6423 "path" : "/config/domains/{domain}",
6424 "text" : "{domain}"
eff914dc
DM
6425 }
6426 ],
6427 "info" : {
6428 "GET" : {
6bd70b95 6429 "allowtoken" : 1,
732d76e1 6430 "description" : "List relay domains.",
eff914dc
DM
6431 "method" : "GET",
6432 "name" : "index",
6433 "parameters" : {
6434 "additionalProperties" : 0
6435 },
a55e94a6
DM
6436 "permissions" : {
6437 "check" : [
732d76e1
DM
6438 "admin",
6439 "audit"
a55e94a6
DM
6440 ]
6441 },
eff914dc
DM
6442 "proxyto" : "master",
6443 "returns" : {
6444 "items" : {
6445 "properties" : {
a55e94a6 6446 "comment" : {
eff914dc 6447 "type" : "string"
a55e94a6 6448 },
732d76e1
DM
6449 "domain" : {
6450 "type" : "string"
eff914dc
DM
6451 }
6452 },
6453 "type" : "object"
6454 },
6455 "links" : [
6456 {
732d76e1 6457 "href" : "{domain}",
eff914dc
DM
6458 "rel" : "child"
6459 }
6460 ],
6461 "type" : "array"
6462 }
6463 },
6464 "POST" : {
6bd70b95 6465 "allowtoken" : 1,
732d76e1 6466 "description" : "Add relay domain.",
eff914dc
DM
6467 "method" : "POST",
6468 "name" : "create",
6469 "parameters" : {
6470 "additionalProperties" : 0,
6471 "properties" : {
a55e94a6 6472 "comment" : {
732d76e1 6473 "description" : "Comment.",
eff914dc 6474 "optional" : 1,
eff914dc
DM
6475 "type" : "string",
6476 "typetext" : "<string>"
6477 },
732d76e1
DM
6478 "domain" : {
6479 "description" : "Domain name.",
f225b3b4 6480 "format" : "transport-domain",
eff914dc
DM
6481 "type" : "string",
6482 "typetext" : "<string>"
6483 }
732d76e1 6484 }
eff914dc 6485 },
a55e94a6
DM
6486 "permissions" : {
6487 "check" : [
6488 "admin"
6489 ]
6490 },
eff914dc
DM
6491 "protected" : 1,
6492 "proxyto" : "master",
6493 "returns" : {
6494 "type" : "null"
6495 }
6496 }
6497 },
6498 "leaf" : 0,
732d76e1
DM
6499 "path" : "/config/domains",
6500 "text" : "domains"
eff914dc
DM
6501 },
6502 {
6503 "children" : [
6504 {
6505 "info" : {
6506 "DELETE" : {
6bd70b95 6507 "allowtoken" : 1,
732d76e1 6508 "description" : "Delete a fetchmail configuration entry.",
eff914dc
DM
6509 "method" : "DELETE",
6510 "name" : "delete",
6511 "parameters" : {
6512 "additionalProperties" : 0,
6513 "properties" : {
732d76e1
DM
6514 "id" : {
6515 "description" : "Unique ID",
6516 "maxLength" : 16,
6517 "pattern" : "[A-Za-z0-9]+",
6518 "type" : "string"
eff914dc
DM
6519 }
6520 }
6521 },
732d76e1
DM
6522 "permissions" : {
6523 "check" : [
6524 "admin"
6525 ]
6526 },
eff914dc
DM
6527 "protected" : 1,
6528 "proxyto" : "master",
6529 "returns" : {
6530 "type" : "null"
6531 }
6532 },
6533 "GET" : {
6bd70b95 6534 "allowtoken" : 1,
732d76e1 6535 "description" : "Read fetchmail user configuration.",
eff914dc
DM
6536 "method" : "GET",
6537 "name" : "read",
6538 "parameters" : {
6539 "additionalProperties" : 0,
6540 "properties" : {
732d76e1
DM
6541 "id" : {
6542 "description" : "Unique ID",
6543 "maxLength" : 16,
6544 "pattern" : "[A-Za-z0-9]+",
6545 "type" : "string"
eff914dc
DM
6546 }
6547 }
6548 },
732d76e1
DM
6549 "permissions" : {
6550 "check" : [
6551 "admin",
6552 "audit"
6553 ]
6554 },
6555 "protected" : 1,
eff914dc
DM
6556 "proxyto" : "master",
6557 "returns" : {
6558 "properties" : {
732d76e1
DM
6559 "enable" : {
6560 "default" : 0,
6561 "description" : "Flag to enable or disable polling.",
6562 "optional" : 1,
6563 "type" : "boolean"
6564 },
6565 "id" : {
6566 "description" : "Unique ID",
6567 "maxLength" : 16,
6568 "pattern" : "[A-Za-z0-9]+",
eff914dc
DM
6569 "type" : "string"
6570 },
732d76e1
DM
6571 "interval" : {
6572 "description" : "Only check this site every <interval> poll cycles. A poll cycle is 5 minutes.",
6573 "maximum" : 2016,
6574 "minimum" : 1,
6575 "optional" : 1,
6576 "type" : "integer"
6577 },
6578 "keep" : {
6579 "default" : 0,
6580 "description" : "Keep retrieved messages on the remote mailserver.",
6581 "optional" : 1,
6582 "type" : "boolean"
6583 },
6584 "pass" : {
6585 "description" : "The password used tfor server login.",
6586 "maxLength" : 64,
6587 "optional" : 1,
6588 "type" : "string"
6589 },
6590 "port" : {
6591 "description" : "Port number.",
6592 "maximum" : 65535,
6593 "minimum" : 1,
6594 "optional" : 1,
6595 "type" : "integer"
6596 },
6597 "protocol" : {
6598 "description" : "Specify the protocol to use when communicating with the remote mailserver",
6599 "enum" : [
6600 "pop3",
6601 "imap"
6602 ],
6603 "optional" : 1,
6604 "type" : "string"
6605 },
6606 "server" : {
6607 "description" : "Server address (IP or DNS name).",
6608 "format" : "address",
6609 "optional" : 1,
6610 "type" : "string"
6611 },
6612 "ssl" : {
6613 "default" : 0,
6614 "description" : "Use SSL.",
6615 "optional" : 1,
6616 "type" : "boolean"
6617 },
6618 "target" : {
6619 "description" : "The target email address (where to deliver fetched mails).",
6620 "maxLength" : 512,
6621 "minLength" : 3,
6622 "optional" : 1,
c5ccf1ab 6623 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
732d76e1
DM
6624 "type" : "string"
6625 },
6626 "user" : {
6627 "description" : "The user identification to be used when logging in to the server",
6628 "maxLength" : 64,
6629 "minLength" : 1,
6630 "optional" : 1,
eff914dc
DM
6631 "type" : "string"
6632 }
6633 },
6634 "type" : "object"
6635 }
6636 },
6637 "PUT" : {
6bd70b95 6638 "allowtoken" : 1,
732d76e1 6639 "description" : "Update fetchmail user configuration.",
eff914dc
DM
6640 "method" : "PUT",
6641 "name" : "write",
6642 "parameters" : {
6643 "additionalProperties" : 0,
6644 "properties" : {
732d76e1
DM
6645 "enable" : {
6646 "default" : 0,
6647 "description" : "Flag to enable or disable polling.",
6648 "optional" : 1,
6649 "type" : "boolean",
6650 "typetext" : "<boolean>"
6651 },
6652 "id" : {
6653 "description" : "Unique ID",
6654 "maxLength" : 16,
6655 "pattern" : "[A-Za-z0-9]+",
6656 "type" : "string"
6657 },
6658 "interval" : {
6659 "description" : "Only check this site every <interval> poll cycles. A poll cycle is 5 minutes.",
6660 "maximum" : 2016,
6661 "minimum" : 1,
6662 "optional" : 1,
6663 "type" : "integer",
6664 "typetext" : "<integer> (1 - 2016)"
6665 },
6666 "keep" : {
6667 "default" : 0,
6668 "description" : "Keep retrieved messages on the remote mailserver.",
6669 "optional" : 1,
6670 "type" : "boolean",
6671 "typetext" : "<boolean>"
6672 },
6673 "pass" : {
6674 "description" : "The password used tfor server login.",
6675 "maxLength" : 64,
6676 "optional" : 1,
eff914dc
DM
6677 "type" : "string",
6678 "typetext" : "<string>"
6679 },
732d76e1
DM
6680 "port" : {
6681 "description" : "Port number.",
6682 "maximum" : 65535,
6683 "minimum" : 1,
6684 "optional" : 1,
6685 "type" : "integer",
6686 "typetext" : "<integer> (1 - 65535)"
6687 },
6688 "protocol" : {
6689 "description" : "Specify the protocol to use when communicating with the remote mailserver",
6690 "enum" : [
6691 "pop3",
6692 "imap"
6693 ],
6694 "optional" : 1,
6695 "type" : "string"
6696 },
6697 "server" : {
6698 "description" : "Server address (IP or DNS name).",
6699 "format" : "address",
6700 "optional" : 1,
6701 "type" : "string",
6702 "typetext" : "<string>"
6703 },
6704 "ssl" : {
6705 "default" : 0,
6706 "description" : "Use SSL.",
6707 "optional" : 1,
6708 "type" : "boolean",
6709 "typetext" : "<boolean>"
6710 },
6711 "target" : {
6712 "description" : "The target email address (where to deliver fetched mails).",
6713 "maxLength" : 512,
6714 "minLength" : 3,
6715 "optional" : 1,
c5ccf1ab 6716 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
732d76e1
DM
6717 "type" : "string"
6718 },
6719 "user" : {
6720 "description" : "The user identification to be used when logging in to the server",
6721 "maxLength" : 64,
6722 "minLength" : 1,
6723 "optional" : 1,
eff914dc
DM
6724 "type" : "string",
6725 "typetext" : "<string>"
6726 }
6727 }
6728 },
732d76e1
DM
6729 "permissions" : {
6730 "check" : [
6731 "admin"
6732 ]
6733 },
eff914dc
DM
6734 "protected" : 1,
6735 "proxyto" : "master",
6736 "returns" : {
6737 "type" : "null"
6738 }
6739 }
6740 },
6741 "leaf" : 1,
732d76e1
DM
6742 "path" : "/config/fetchmail/{id}",
6743 "text" : "{id}"
eff914dc
DM
6744 }
6745 ],
6746 "info" : {
6747 "GET" : {
6bd70b95 6748 "allowtoken" : 1,
732d76e1 6749 "description" : "List fetchmail users.",
eff914dc
DM
6750 "method" : "GET",
6751 "name" : "index",
6752 "parameters" : {
6753 "additionalProperties" : 0
6754 },
732d76e1
DM
6755 "permissions" : {
6756 "check" : [
6757 "admin",
6758 "audit"
6759 ]
6760 },
6761 "protected" : 1,
eff914dc
DM
6762 "proxyto" : "master",
6763 "returns" : {
6764 "items" : {
6765 "properties" : {
732d76e1
DM
6766 "enable" : {
6767 "default" : 0,
6768 "description" : "Flag to enable or disable polling.",
6769 "optional" : 1,
6770 "type" : "boolean"
6771 },
6772 "id" : {
6773 "description" : "Unique ID",
6774 "maxLength" : 16,
6775 "pattern" : "[A-Za-z0-9]+",
eff914dc
DM
6776 "type" : "string"
6777 },
732d76e1
DM
6778 "interval" : {
6779 "description" : "Only check this site every <interval> poll cycles. A poll cycle is 5 minutes.",
6780 "maximum" : 2016,
6781 "minimum" : 1,
6782 "optional" : 1,
6783 "type" : "integer"
6784 },
6785 "keep" : {
6786 "default" : 0,
6787 "description" : "Keep retrieved messages on the remote mailserver.",
6788 "optional" : 1,
6789 "type" : "boolean"
6790 },
6791 "pass" : {
6792 "description" : "The password used tfor server login.",
6793 "maxLength" : 64,
6794 "optional" : 1,
6795 "type" : "string"
6796 },
6797 "port" : {
6798 "description" : "Port number.",
6799 "maximum" : 65535,
6800 "minimum" : 1,
6801 "optional" : 1,
6802 "type" : "integer"
6803 },
6804 "protocol" : {
6805 "description" : "Specify the protocol to use when communicating with the remote mailserver",
6806 "enum" : [
6807 "pop3",
6808 "imap"
6809 ],
6810 "optional" : 1,
6811 "type" : "string"
6812 },
6813 "server" : {
6814 "description" : "Server address (IP or DNS name).",
6815 "format" : "address",
6816 "optional" : 1,
6817 "type" : "string"
6818 },
6819 "ssl" : {
6820 "default" : 0,
6821 "description" : "Use SSL.",
6822 "optional" : 1,
6823 "type" : "boolean"
6824 },
6825 "target" : {
6826 "description" : "The target email address (where to deliver fetched mails).",
6827 "maxLength" : 512,
6828 "minLength" : 3,
6829 "optional" : 1,
c5ccf1ab 6830 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
732d76e1
DM
6831 "type" : "string"
6832 },
6833 "user" : {
6834 "description" : "The user identification to be used when logging in to the server",
6835 "maxLength" : 64,
6836 "minLength" : 1,
6837 "optional" : 1,
eff914dc
DM
6838 "type" : "string"
6839 }
6840 },
6841 "type" : "object"
6842 },
6843 "links" : [
6844 {
732d76e1 6845 "href" : "{id}",
eff914dc
DM
6846 "rel" : "child"
6847 }
6848 ],
6849 "type" : "array"
6850 }
6851 },
6852 "POST" : {
6bd70b95 6853 "allowtoken" : 1,
732d76e1 6854 "description" : "Create fetchmail user configuration.",
eff914dc
DM
6855 "method" : "POST",
6856 "name" : "create",
6857 "parameters" : {
6858 "additionalProperties" : 0,
6859 "properties" : {
732d76e1
DM
6860 "enable" : {
6861 "default" : 0,
6862 "description" : "Flag to enable or disable polling.",
6863 "optional" : 1,
6864 "type" : "boolean",
6865 "typetext" : "<boolean>"
6866 },
6867 "interval" : {
6868 "description" : "Only check this site every <interval> poll cycles. A poll cycle is 5 minutes.",
6869 "maximum" : 2016,
6870 "minimum" : 1,
6871 "optional" : 1,
6872 "type" : "integer",
6873 "typetext" : "<integer> (1 - 2016)"
6874 },
6875 "keep" : {
6876 "default" : 0,
6877 "description" : "Keep retrieved messages on the remote mailserver.",
eff914dc 6878 "optional" : 1,
732d76e1
DM
6879 "type" : "boolean",
6880 "typetext" : "<boolean>"
6881 },
6882 "pass" : {
6883 "description" : "The password used tfor server login.",
6884 "maxLength" : 64,
eff914dc
DM
6885 "type" : "string",
6886 "typetext" : "<string>"
6887 },
732d76e1
DM
6888 "port" : {
6889 "description" : "Port number.",
6890 "maximum" : 65535,
6891 "minimum" : 1,
6892 "optional" : 1,
6893 "type" : "integer",
6894 "typetext" : "<integer> (1 - 65535)"
6895 },
6896 "protocol" : {
6897 "description" : "Specify the protocol to use when communicating with the remote mailserver",
6898 "enum" : [
6899 "pop3",
6900 "imap"
6901 ],
6902 "type" : "string"
6903 },
6904 "server" : {
6905 "description" : "Server address (IP or DNS name).",
6906 "format" : "address",
6907 "type" : "string",
6908 "typetext" : "<string>"
6909 },
6910 "ssl" : {
6911 "default" : 0,
6912 "description" : "Use SSL.",
6913 "optional" : 1,
6914 "type" : "boolean",
6915 "typetext" : "<boolean>"
6916 },
6917 "target" : {
6918 "description" : "The target email address (where to deliver fetched mails).",
6919 "maxLength" : 512,
6920 "minLength" : 3,
c5ccf1ab 6921 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
732d76e1
DM
6922 "type" : "string"
6923 },
6924 "user" : {
6925 "description" : "The user identification to be used when logging in to the server",
6926 "maxLength" : 64,
6927 "minLength" : 1,
eff914dc
DM
6928 "type" : "string",
6929 "typetext" : "<string>"
6930 }
6931 }
6932 },
732d76e1
DM
6933 "permissions" : {
6934 "check" : [
6935 "admin"
6936 ]
6937 },
eff914dc
DM
6938 "protected" : 1,
6939 "proxyto" : "master",
6940 "returns" : {
732d76e1
DM
6941 "description" : "Unique ID",
6942 "maxLength" : 16,
6943 "pattern" : "[A-Za-z0-9]+",
6944 "type" : "string"
eff914dc
DM
6945 }
6946 }
6947 },
6948 "leaf" : 0,
732d76e1
DM
6949 "path" : "/config/fetchmail",
6950 "text" : "fetchmail"
eff914dc
DM
6951 },
6952 {
6953 "children" : [
6954 {
6955 "info" : {
6956 "DELETE" : {
6bd70b95 6957 "allowtoken" : 1,
eff914dc
DM
6958 "description" : "Delete a transport map entry",
6959 "method" : "DELETE",
6960 "name" : "delete",
6961 "parameters" : {
6962 "additionalProperties" : 0,
6963 "properties" : {
6964 "domain" : {
6965 "description" : "Domain name.",
f225b3b4 6966 "format" : "transport-domain-or-email",
eff914dc
DM
6967 "type" : "string",
6968 "typetext" : "<string>"
6969 }
6970 }
6971 },
732d76e1
DM
6972 "permissions" : {
6973 "check" : [
6974 "admin"
6975 ]
6976 },
eff914dc
DM
6977 "protected" : 1,
6978 "proxyto" : "master",
6979 "returns" : {
6980 "type" : "null"
6981 }
6982 },
6983 "GET" : {
6bd70b95 6984 "allowtoken" : 1,
eff914dc
DM
6985 "description" : "Read transport map entry.",
6986 "method" : "GET",
6987 "name" : "read",
6988 "parameters" : {
6989 "additionalProperties" : 0,
6990 "properties" : {
6991 "domain" : {
6992 "description" : "Domain name.",
f225b3b4 6993 "format" : "transport-domain-or-email",
eff914dc
DM
6994 "type" : "string",
6995 "typetext" : "<string>"
6996 }
6997 }
6998 },
732d76e1
DM
6999 "permissions" : {
7000 "check" : [
7001 "admin",
7002 "audit"
7003 ]
7004 },
eff914dc
DM
7005 "proxyto" : "master",
7006 "returns" : {
7007 "properties" : {
7008 "comment" : {
7009 "type" : "string"
7010 },
7011 "domain" : {
7012 "type" : "string"
410dc2c9 7013 },
eff914dc
DM
7014 "host" : {
7015 "type" : "string"
7016 },
7017 "port" : {
7018 "type" : "integer"
7019 },
6bd70b95
TL
7020 "protocol" : {
7021 "type" : "string"
7022 },
eff914dc
DM
7023 "use_mx" : {
7024 "type" : "boolean"
7025 }
7026 },
7027 "type" : "object"
7028 }
7029 },
7030 "PUT" : {
6bd70b95 7031 "allowtoken" : 1,
eff914dc
DM
7032 "description" : "Update transport map entry.",
7033 "method" : "PUT",
7034 "name" : "write",
7035 "parameters" : {
7036 "additionalProperties" : 0,
7037 "properties" : {
7038 "comment" : {
7039 "description" : "Comment.",
410dc2c9
DM
7040 "optional" : 1,
7041 "type" : "string",
7042 "typetext" : "<string>"
7043 },
eff914dc
DM
7044 "domain" : {
7045 "description" : "Domain name.",
f225b3b4 7046 "format" : "transport-domain-or-email",
410dc2c9
DM
7047 "type" : "string",
7048 "typetext" : "<string>"
7049 },
eff914dc
DM
7050 "host" : {
7051 "description" : "Target host (name or IP address).",
549cfb68 7052 "format" : "transport-address",
410dc2c9
DM
7053 "optional" : 1,
7054 "type" : "string",
7055 "typetext" : "<string>"
7056 },
410dc2c9 7057 "port" : {
6bd70b95 7058 "description" : "Transport port.",
410dc2c9
DM
7059 "maximum" : 65535,
7060 "minimum" : 1,
7061 "optional" : 1,
7062 "type" : "integer",
7063 "typetext" : "<integer> (1 - 65535)"
7064 },
6bd70b95
TL
7065 "protocol" : {
7066 "default" : "smtp",
7067 "description" : "Transport protocol.",
7068 "enum" : [
7069 "smtp",
7070 "lmtp"
7071 ],
7072 "optional" : 1,
7073 "type" : "string"
7074 },
eff914dc 7075 "use_mx" : {
6bd70b95 7076 "description" : "Enable MX lookups (SMTP).",
410dc2c9 7077 "optional" : 1,
eff914dc
DM
7078 "type" : "boolean",
7079 "typetext" : "<boolean>"
410dc2c9 7080 }
eff914dc 7081 }
410dc2c9 7082 },
732d76e1
DM
7083 "permissions" : {
7084 "check" : [
7085 "admin"
7086 ]
7087 },
410dc2c9
DM
7088 "protected" : 1,
7089 "proxyto" : "master",
7090 "returns" : {
7091 "type" : "null"
7092 }
7093 }
7094 },
7095 "leaf" : 1,
eff914dc
DM
7096 "path" : "/config/transport/{domain}",
7097 "text" : "{domain}"
410dc2c9
DM
7098 }
7099 ],
7100 "info" : {
7101 "GET" : {
6bd70b95 7102 "allowtoken" : 1,
eff914dc 7103 "description" : "List transport map entries.",
410dc2c9
DM
7104 "method" : "GET",
7105 "name" : "index",
7106 "parameters" : {
7107 "additionalProperties" : 0
7108 },
732d76e1
DM
7109 "permissions" : {
7110 "check" : [
7111 "admin",
7112 "audit"
7113 ]
7114 },
410dc2c9
DM
7115 "proxyto" : "master",
7116 "returns" : {
7117 "items" : {
7118 "properties" : {
eff914dc 7119 "comment" : {
410dc2c9
DM
7120 "type" : "string"
7121 },
eff914dc 7122 "domain" : {
410dc2c9
DM
7123 "type" : "string"
7124 },
eff914dc 7125 "host" : {
410dc2c9 7126 "type" : "string"
eff914dc
DM
7127 },
7128 "port" : {
7129 "type" : "integer"
7130 },
6bd70b95
TL
7131 "protocol" : {
7132 "type" : "string"
7133 },
eff914dc
DM
7134 "use_mx" : {
7135 "type" : "boolean"
410dc2c9
DM
7136 }
7137 },
7138 "type" : "object"
7139 },
7140 "links" : [
7141 {
c061d61d 7142 "href" : "{domain}",
410dc2c9
DM
7143 "rel" : "child"
7144 }
7145 ],
7146 "type" : "array"
7147 }
7148 },
7149 "POST" : {
6bd70b95 7150 "allowtoken" : 1,
eff914dc 7151 "description" : "Add transport map entry.",
410dc2c9
DM
7152 "method" : "POST",
7153 "name" : "create",
7154 "parameters" : {
7155 "additionalProperties" : 0,
7156 "properties" : {
eff914dc
DM
7157 "comment" : {
7158 "description" : "Comment.",
410dc2c9
DM
7159 "optional" : 1,
7160 "type" : "string",
7161 "typetext" : "<string>"
7162 },
eff914dc
DM
7163 "domain" : {
7164 "description" : "Domain name.",
f225b3b4 7165 "format" : "transport-domain-or-email",
410dc2c9
DM
7166 "type" : "string",
7167 "typetext" : "<string>"
7168 },
eff914dc
DM
7169 "host" : {
7170 "description" : "Target host (name or IP address).",
549cfb68 7171 "format" : "transport-address",
410dc2c9
DM
7172 "type" : "string",
7173 "typetext" : "<string>"
7174 },
410dc2c9 7175 "port" : {
eff914dc 7176 "default" : 25,
6bd70b95 7177 "description" : "Transport port.",
410dc2c9
DM
7178 "maximum" : 65535,
7179 "minimum" : 1,
7180 "optional" : 1,
7181 "type" : "integer",
7182 "typetext" : "<integer> (1 - 65535)"
7183 },
6bd70b95
TL
7184 "protocol" : {
7185 "default" : "smtp",
7186 "description" : "Transport protocol.",
7187 "enum" : [
7188 "smtp",
7189 "lmtp"
7190 ],
7191 "optional" : 1,
7192 "type" : "string"
7193 },
eff914dc
DM
7194 "use_mx" : {
7195 "default" : 1,
6bd70b95 7196 "description" : "Enable MX lookups (SMTP).",
410dc2c9 7197 "optional" : 1,
eff914dc
DM
7198 "type" : "boolean",
7199 "typetext" : "<boolean>"
410dc2c9 7200 }
eff914dc 7201 }
410dc2c9 7202 },
732d76e1
DM
7203 "permissions" : {
7204 "check" : [
7205 "admin"
7206 ]
7207 },
410dc2c9
DM
7208 "protected" : 1,
7209 "proxyto" : "master",
7210 "returns" : {
7211 "type" : "null"
7212 }
7213 }
7214 },
7215 "leaf" : 0,
eff914dc
DM
7216 "path" : "/config/transport",
7217 "text" : "transport"
410dc2c9
DM
7218 },
7219 {
7220 "children" : [
7221 {
7222 "info" : {
7223 "DELETE" : {
6bd70b95 7224 "allowtoken" : 1,
eff914dc 7225 "description" : "Delete a truster network",
410dc2c9
DM
7226 "method" : "DELETE",
7227 "name" : "delete",
7228 "parameters" : {
7229 "additionalProperties" : 0,
7230 "properties" : {
eff914dc
DM
7231 "cidr" : {
7232 "description" : "IPv4 or IPv6 network in CIDR notation.",
7233 "format" : "CIDR",
7234 "type" : "string",
7235 "typetext" : "<string>"
7236 }
7237 }
7238 },
732d76e1
DM
7239 "permissions" : {
7240 "check" : [
7241 "admin"
7242 ]
7243 },
eff914dc
DM
7244 "protected" : 1,
7245 "proxyto" : "master",
7246 "returns" : {
7247 "type" : "null"
7248 }
7249 },
7250 "GET" : {
6bd70b95 7251 "allowtoken" : 1,
eff914dc
DM
7252 "description" : "Read trusted network data (comment).",
7253 "method" : "GET",
7254 "name" : "read",
7255 "parameters" : {
7256 "additionalProperties" : 0,
7257 "properties" : {
7258 "cidr" : {
7259 "description" : "IPv4 or IPv6 network in CIDR notation.",
7260 "format" : "CIDR",
7261 "type" : "string",
7262 "typetext" : "<string>"
7263 }
7264 }
7265 },
732d76e1
DM
7266 "permissions" : {
7267 "check" : [
7268 "admin",
7269 "audit"
7270 ]
7271 },
eff914dc
DM
7272 "proxyto" : "master",
7273 "returns" : {
7274 "properties" : {
7275 "cidr" : {
7276 "type" : "string"
7277 },
7278 "comment" : {
7279 "type" : "string"
7280 }
7281 },
7282 "type" : "object"
7283 }
7284 },
7285 "PUT" : {
6bd70b95 7286 "allowtoken" : 1,
eff914dc
DM
7287 "description" : "Update trusted data (comment).",
7288 "method" : "PUT",
7289 "name" : "write",
7290 "parameters" : {
7291 "additionalProperties" : 0,
7292 "properties" : {
7293 "cidr" : {
7294 "description" : "IPv4 or IPv6 network in CIDR notation.",
7295 "type" : "string",
7296 "typetext" : "<string>"
7297 },
7298 "comment" : {
7299 "description" : "Comment.",
410dc2c9
DM
7300 "type" : "string",
7301 "typetext" : "<string>"
7302 }
7303 }
7304 },
732d76e1
DM
7305 "permissions" : {
7306 "check" : [
7307 "admin"
7308 ]
7309 },
410dc2c9
DM
7310 "protected" : 1,
7311 "proxyto" : "master",
7312 "returns" : {
7313 "type" : "null"
7314 }
7315 }
7316 },
7317 "leaf" : 1,
eff914dc
DM
7318 "path" : "/config/mynetworks/{cidr}",
7319 "text" : "{cidr}"
410dc2c9
DM
7320 }
7321 ],
7322 "info" : {
7323 "GET" : {
6bd70b95 7324 "allowtoken" : 1,
eff914dc 7325 "description" : "List of trusted networks from where SMTP clients are allowed to relay mail through Proxmox Mail Gateway.",
410dc2c9
DM
7326 "method" : "GET",
7327 "name" : "index",
7328 "parameters" : {
7329 "additionalProperties" : 0
7330 },
732d76e1
DM
7331 "permissions" : {
7332 "check" : [
7333 "admin",
7334 "audit"
7335 ]
7336 },
410dc2c9
DM
7337 "proxyto" : "master",
7338 "returns" : {
7339 "items" : {
7340 "properties" : {
eff914dc 7341 "cidr" : {
410dc2c9
DM
7342 "type" : "string"
7343 }
7344 },
7345 "type" : "object"
7346 },
7347 "links" : [
7348 {
c061d61d 7349 "href" : "{cidr}",
410dc2c9
DM
7350 "rel" : "child"
7351 }
7352 ],
7353 "type" : "array"
7354 }
7355 },
7356 "POST" : {
6bd70b95 7357 "allowtoken" : 1,
eff914dc 7358 "description" : "Add a trusted network.",
410dc2c9
DM
7359 "method" : "POST",
7360 "name" : "create",
7361 "parameters" : {
7362 "additionalProperties" : 0,
7363 "properties" : {
eff914dc
DM
7364 "cidr" : {
7365 "description" : "IPv4 or IPv6 network in CIDR notation.",
7366 "format" : "CIDR",
7367 "type" : "string",
7368 "typetext" : "<string>"
7369 },
7370 "comment" : {
7371 "description" : "Comment.",
7372 "optional" : 1,
410dc2c9
DM
7373 "type" : "string",
7374 "typetext" : "<string>"
7375 }
7376 }
7377 },
732d76e1
DM
7378 "permissions" : {
7379 "check" : [
7380 "admin"
7381 ]
7382 },
410dc2c9
DM
7383 "protected" : 1,
7384 "proxyto" : "master",
7385 "returns" : {
7386 "type" : "null"
7387 }
7388 }
7389 },
7390 "leaf" : 0,
eff914dc
DM
7391 "path" : "/config/mynetworks",
7392 "text" : "mynetworks"
410dc2c9
DM
7393 },
7394 {
d7cd791b
DM
7395 "children" : [
7396 {
7397 "info" : {
7398 "GET" : {
6bd70b95 7399 "allowtoken" : 1,
d7cd791b
DM
7400 "description" : "Cluster node index.",
7401 "method" : "GET",
7402 "name" : "nodes",
7403 "parameters" : {
7404 "additionalProperties" : 0
7405 },
7406 "permissions" : {
7407 "check" : [
bb6e6e0d
DM
7408 "admin",
7409 "qmanager",
7410 "audit"
d7cd791b
DM
7411 ]
7412 },
7413 "returns" : {
7414 "items" : {
7415 "properties" : {
7416 "cid" : {
7417 "type" : "integer"
7418 },
7419 "fingerprint" : {
7420 "type" : "string"
7421 },
7422 "hostrsapubkey" : {
7423 "type" : "string"
7424 },
7425 "ip" : {
7426 "type" : "string"
7427 },
7428 "name" : {
7429 "type" : "string"
7430 },
7431 "rootrsapubkey" : {
7432 "type" : "string"
7433 },
7434 "type" : {
7435 "type" : "string"
7436 }
7437 },
7438 "type" : "object"
7439 },
d7cd791b
DM
7440 "type" : "array"
7441 }
7442 },
7443 "POST" : {
6bd70b95 7444 "allowtoken" : 1,
d7cd791b
DM
7445 "description" : "Add an node to the cluster config.",
7446 "method" : "POST",
7447 "name" : "add_node",
7448 "parameters" : {
7449 "additionalProperties" : 0,
7450 "properties" : {
7451 "fingerprint" : {
7452 "description" : "SSL certificate fingerprint.",
7453 "optional" : 0,
7454 "pattern" : "^(:?[A-Z0-9][A-Z0-9]:){31}[A-Z0-9][A-Z0-9]$",
7455 "type" : "string"
7456 },
7457 "hostrsapubkey" : {
7458 "description" : "Public SSH RSA key for the host.",
7459 "optional" : 0,
e0e71e6a 7460 "pattern" : "^[A-Za-z0-9\\.\\/\\+=]{200,}$",
d7cd791b
DM
7461 "type" : "string"
7462 },
7463 "ip" : {
7464 "description" : "IP address.",
7465 "format" : "ip",
7466 "optional" : 0,
7467 "type" : "string",
7468 "typetext" : "<string>"
7469 },
7470 "maxcid" : {
7471 "description" : "Maximum used cluster node ID (used internally, do not modify).",
7472 "minimum" : 1,
7473 "optional" : 1,
7474 "type" : "integer",
7475 "typetext" : "<integer> (1 - N)"
7476 },
7477 "name" : {
7478 "description" : "Node name.",
7479 "format" : "pve-node",
7480 "optional" : 0,
7481 "type" : "string",
7482 "typetext" : "<string>"
7483 },
7484 "rootrsapubkey" : {
7485 "description" : "Public SSH RSA key for the root user.",
7486 "optional" : 0,
e0e71e6a 7487 "pattern" : "^[A-Za-z0-9\\.\\/\\+=]{200,}$",
d7cd791b
DM
7488 "type" : "string"
7489 }
7490 },
7491 "type" : "object"
7492 },
7493 "protected" : 1,
7494 "proxyto" : "master",
7495 "returns" : {
7496 "description" : "Returns the resulting node list.",
7497 "items" : {
7498 "properties" : {
7499 "cid" : {
7500 "type" : "integer"
7501 }
7502 },
7503 "type" : "object"
7504 },
7505 "type" : "array"
7506 }
7507 }
7508 },
7509 "leaf" : 1,
7510 "path" : "/config/cluster/nodes",
7511 "text" : "nodes"
7512 },
7513 {
7514 "info" : {
7515 "GET" : {
6bd70b95 7516 "allowtoken" : 1,
d7cd791b
DM
7517 "description" : "Cluster node status.",
7518 "method" : "GET",
7519 "name" : "status",
7520 "parameters" : {
bb6e6e0d
DM
7521 "additionalProperties" : 0,
7522 "properties" : {
7523 "list_single_node" : {
7524 "default" : 0,
7525 "description" : "List local node if there is no cluster defined. Please note that RSA keys and fingerprint are not valid in that case.",
7526 "optional" : 1,
7527 "type" : "boolean",
7528 "typetext" : "<boolean>"
7529 }
7530 }
d7cd791b
DM
7531 },
7532 "permissions" : {
7533 "check" : [
bb6e6e0d
DM
7534 "admin",
7535 "qmanager",
7536 "audit"
d7cd791b
DM
7537 ]
7538 },
7539 "returns" : {
7540 "items" : {
7541 "properties" : {
7542 "cid" : {
7543 "type" : "integer"
7544 },
7545 "fingerprint" : {
7546 "type" : "string"
7547 },
7548 "hostrsapubkey" : {
7549 "type" : "string"
7550 },
7551 "ip" : {
7552 "type" : "string"
7553 },
7554 "name" : {
7555 "type" : "string"
7556 },
7557 "rootrsapubkey" : {
7558 "type" : "string"
7559 },
7560 "type" : {
7561 "type" : "string"
7562 }
7563 },
7564 "type" : "object"
7565 },
7566 "links" : [
7567 {
7568 "href" : "{cid}",
7569 "rel" : "child"
7570 }
7571 ],
7572 "type" : "array"
7573 }
7574 }
7575 },
7576 "leaf" : 1,
7577 "path" : "/config/cluster/status",
7578 "text" : "status"
7579 },
7580 {
7581 "info" : {
7582 "POST" : {
6bd70b95 7583 "allowtoken" : 1,
d7cd791b
DM
7584 "description" : "Create initial cluster config with current node as master.",
7585 "method" : "POST",
7586 "name" : "create",
7587 "parameters" : {
7588 "additionalProperties" : 0
7589 },
7590 "protected" : 1,
7591 "returns" : {
7592 "type" : "string"
7593 }
7594 }
7595 },
7596 "leaf" : 1,
7597 "path" : "/config/cluster/create",
7598 "text" : "create"
7599 },
7600 {
7601 "info" : {
7602 "POST" : {
6bd70b95 7603 "allowtoken" : 1,
d7cd791b
DM
7604 "description" : "Join local node to an existing cluster.",
7605 "method" : "POST",
7606 "name" : "join",
7607 "parameters" : {
7608 "additionalProperties" : 0,
7609 "properties" : {
7610 "fingerprint" : {
7611 "description" : "SSL certificate fingerprint.",
7612 "pattern" : "^(:?[A-Z0-9][A-Z0-9]:){31}[A-Z0-9][A-Z0-9]$",
7613 "type" : "string"
7614 },
7615 "master_ip" : {
7616 "description" : "IP address.",
7617 "format" : "ip",
7618 "type" : "string",
7619 "typetext" : "<string>"
7620 },
7621 "password" : {
7622 "description" : "Superuser password.",
7623 "maxLength" : 128,
7624 "type" : "string",
7625 "typetext" : "<string>"
7626 }
7627 }
7628 },
7629 "protected" : 1,
7630 "returns" : {
7631 "type" : "string"
7632 }
7633 }
7634 },
7635 "leaf" : 1,
7636 "path" : "/config/cluster/join",
7637 "text" : "join"
c5ccf1ab
TL
7638 },
7639 {
7640 "info" : {
7641 "POST" : {
7642 "allowtoken" : 1,
7643 "description" : "Update API certificate fingerprints (by fetching it via ssh).",
7644 "method" : "POST",
7645 "name" : "update_fingerprints",
7646 "parameters" : {
7647 "additionalProperties" : 0
7648 },
7649 "protected" : 1,
7650 "proxyto" : "master",
7651 "returns" : {
7652 "type" : "null"
7653 }
7654 }
7655 },
7656 "leaf" : 1,
7657 "path" : "/config/cluster/update-fingerprints",
7658 "text" : "update-fingerprints"
d7cd791b
DM
7659 }
7660 ],
410dc2c9
DM
7661 "info" : {
7662 "GET" : {
6bd70b95 7663 "allowtoken" : 1,
d7cd791b 7664 "description" : "Directory index.",
410dc2c9
DM
7665 "method" : "GET",
7666 "name" : "index",
7667 "parameters" : {
7668 "additionalProperties" : 0
7669 },
d7cd791b
DM
7670 "permissions" : {
7671 "user" : "all"
7672 },
410dc2c9
DM
7673 "returns" : {
7674 "items" : {
d7cd791b 7675 "properties" : {},
410dc2c9
DM
7676 "type" : "object"
7677 },
7678 "links" : [
7679 {
d7cd791b 7680 "href" : "{name}",
410dc2c9
DM
7681 "rel" : "child"
7682 }
7683 ],
7684 "type" : "array"
7685 }
7686 }
7687 },
d7cd791b 7688 "leaf" : 0,
410dc2c9
DM
7689 "path" : "/config/cluster",
7690 "text" : "cluster"
7691 },
9fda36b0
DM
7692 {
7693 "info" : {
7694 "GET" : {
6bd70b95 7695 "allowtoken" : 1,
9fda36b0
DM
7696 "description" : "Get Mime Types List",
7697 "method" : "GET",
7698 "name" : "index",
7699 "parameters" : {
7700 "additionalProperties" : 0
7701 },
7702 "returns" : {
7703 "items" : {
7704 "properties" : {
7705 "mimetype" : {
7706 "type" : "string"
7707 },
7708 "text" : {
7709 "type" : "string"
7710 }
7711 },
7712 "type" : "object"
7713 },
7714 "type" : "array"
7715 }
7716 }
7717 },
7718 "leaf" : 1,
7719 "path" : "/config/mimetypes",
7720 "text" : "mimetypes"
7721 },
241ac83c
TL
7722 {
7723 "children" : [
7724 {
7725 "info" : {
7726 "DELETE" : {
6bd70b95 7727 "allowtoken" : 1,
241ac83c
TL
7728 "description" : "Delete a tls_policy entry",
7729 "method" : "DELETE",
7730 "name" : "delete",
7731 "parameters" : {
7732 "additionalProperties" : 0,
7733 "properties" : {
549cfb68
TL
7734 "destination" : {
7735 "description" : "Destination (Domain or next-hop).",
7736 "format" : "transport-domain-or-nexthop",
241ac83c
TL
7737 "type" : "string",
7738 "typetext" : "<string>"
7739 }
7740 }
7741 },
7742 "permissions" : {
7743 "check" : [
7744 "admin"
7745 ]
7746 },
7747 "protected" : 1,
7748 "proxyto" : "master",
7749 "returns" : {
7750 "type" : "null"
7751 }
7752 },
7753 "GET" : {
6bd70b95 7754 "allowtoken" : 1,
241ac83c
TL
7755 "description" : "Read tls_policy entry.",
7756 "method" : "GET",
7757 "name" : "read",
7758 "parameters" : {
7759 "additionalProperties" : 0,
7760 "properties" : {
549cfb68
TL
7761 "destination" : {
7762 "description" : "Destination (Domain or next-hop).",
7763 "format" : "transport-domain-or-nexthop",
241ac83c
TL
7764 "type" : "string",
7765 "typetext" : "<string>"
7766 }
7767 }
7768 },
7769 "permissions" : {
7770 "check" : [
7771 "admin",
7772 "audit"
7773 ]
7774 },
7775 "proxyto" : "master",
7776 "returns" : {
7777 "properties" : {
549cfb68
TL
7778 "destination" : {
7779 "format" : "transport-domain-or-nexthop",
7780 "type" : "string"
7781 },
241ac83c
TL
7782 "policy" : {
7783 "format" : "tls-policy",
7784 "type" : "string"
7785 }
7786 },
7787 "type" : "object"
7788 }
7789 },
7790 "PUT" : {
6bd70b95 7791 "allowtoken" : 1,
241ac83c
TL
7792 "description" : "Update tls_policy entry.",
7793 "method" : "PUT",
7794 "name" : "write",
7795 "parameters" : {
7796 "additionalProperties" : 0,
7797 "properties" : {
549cfb68
TL
7798 "destination" : {
7799 "description" : "Destination (Domain or next-hop).",
7800 "format" : "transport-domain-or-nexthop",
241ac83c
TL
7801 "type" : "string",
7802 "typetext" : "<string>"
7803 },
7804 "policy" : {
7805 "description" : "TLS policy",
7806 "format" : "tls-policy-strict",
7807 "type" : "string",
7808 "typetext" : "<string>"
7809 }
7810 }
7811 },
7812 "permissions" : {
7813 "check" : [
7814 "admin"
7815 ]
7816 },
7817 "protected" : 1,
7818 "proxyto" : "master",
7819 "returns" : {
7820 "type" : "null"
7821 }
7822 }
7823 },
7824 "leaf" : 1,
549cfb68
TL
7825 "path" : "/config/tlspolicy/{destination}",
7826 "text" : "{destination}"
241ac83c
TL
7827 }
7828 ],
7829 "info" : {
7830 "GET" : {
6bd70b95 7831 "allowtoken" : 1,
241ac83c
TL
7832 "description" : "List tls_policy entries.",
7833 "method" : "GET",
7834 "name" : "index",
7835 "parameters" : {
7836 "additionalProperties" : 0
7837 },
7838 "permissions" : {
7839 "check" : [
7840 "admin",
7841 "audit"
7842 ]
7843 },
7844 "proxyto" : "master",
7845 "returns" : {
7846 "items" : {
7847 "properties" : {
549cfb68
TL
7848 "destination" : {
7849 "format" : "transport-domain-or-nexthop",
7850 "type" : "string"
7851 },
241ac83c
TL
7852 "policy" : {
7853 "format" : "tls-policy",
7854 "type" : "string"
7855 }
7856 },
7857 "type" : "object"
7858 },
7859 "links" : [
7860 {
549cfb68 7861 "href" : "{destination}",
241ac83c
TL
7862 "rel" : "child"
7863 }
7864 ],
7865 "type" : "array"
7866 }
7867 },
7868 "POST" : {
6bd70b95 7869 "allowtoken" : 1,
241ac83c
TL
7870 "description" : "Add tls_policy entry.",
7871 "method" : "POST",
7872 "name" : "create",
7873 "parameters" : {
7874 "additionalProperties" : 0,
7875 "properties" : {
549cfb68
TL
7876 "destination" : {
7877 "description" : "Destination (Domain or next-hop).",
7878 "format" : "transport-domain-or-nexthop",
241ac83c
TL
7879 "type" : "string",
7880 "typetext" : "<string>"
7881 },
7882 "policy" : {
7883 "description" : "TLS policy",
7884 "format" : "tls-policy-strict",
7885 "type" : "string",
7886 "typetext" : "<string>"
7887 }
7888 }
7889 },
7890 "permissions" : {
7891 "check" : [
7892 "admin"
7893 ]
7894 },
7895 "protected" : 1,
7896 "proxyto" : "master",
7897 "returns" : {
7898 "type" : "null"
7899 }
7900 }
7901 },
7902 "leaf" : 0,
7903 "path" : "/config/tlspolicy",
7904 "text" : "tlspolicy"
7905 },
410dc2c9 7906 {
d210277a
TL
7907 "children" : [
7908 {
7909 "children" : [
7910 {
7911 "info" : {
7912 "DELETE" : {
6bd70b95 7913 "allowtoken" : 1,
d210277a
TL
7914 "description" : "Delete a DKIM-sign domain",
7915 "method" : "DELETE",
7916 "name" : "delete",
7917 "parameters" : {
7918 "additionalProperties" : 0,
7919 "properties" : {
7920 "domain" : {
7921 "description" : "Domain name.",
7922 "format" : "transport-domain",
7923 "type" : "string",
7924 "typetext" : "<string>"
7925 }
7926 }
7927 },
7928 "permissions" : {
7929 "check" : [
7930 "admin"
7931 ]
7932 },
7933 "protected" : 1,
7934 "proxyto" : "master",
7935 "returns" : {
7936 "type" : "null"
7937 }
7938 },
7939 "GET" : {
6bd70b95 7940 "allowtoken" : 1,
d210277a
TL
7941 "description" : "Read Domain data (comment).",
7942 "method" : "GET",
7943 "name" : "read",
7944 "parameters" : {
7945 "additionalProperties" : 0,
7946 "properties" : {
7947 "domain" : {
7948 "description" : "Domain name.",
7949 "format" : "transport-domain",
7950 "type" : "string",
7951 "typetext" : "<string>"
7952 }
7953 }
7954 },
7955 "permissions" : {
7956 "check" : [
7957 "admin",
7958 "audit"
7959 ]
7960 },
7961 "proxyto" : "master",
7962 "returns" : {
7963 "properties" : {
7964 "comment" : {
7965 "type" : "string"
7966 },
7967 "domain" : {
7968 "type" : "string"
7969 }
7970 },
7971 "type" : "object"
7972 }
7973 },
7974 "PUT" : {
6bd70b95 7975 "allowtoken" : 1,
d210277a
TL
7976 "description" : "Update DKIM-sign domain data (comment).",
7977 "method" : "PUT",
7978 "name" : "write",
7979 "parameters" : {
7980 "additionalProperties" : 0,
7981 "properties" : {
7982 "comment" : {
7983 "description" : "Comment.",
7984 "type" : "string",
7985 "typetext" : "<string>"
7986 },
7987 "domain" : {
7988 "description" : "Domain name.",
7989 "format" : "transport-domain",
7990 "type" : "string",
7991 "typetext" : "<string>"
7992 }
7993 }
7994 },
7995 "permissions" : {
7996 "check" : [
7997 "admin"
7998 ]
7999 },
8000 "protected" : 1,
8001 "proxyto" : "master",
8002 "returns" : {
8003 "type" : "null"
8004 }
8005 }
8006 },
8007 "leaf" : 1,
8008 "path" : "/config/dkim/domains/{domain}",
8009 "text" : "{domain}"
8010 }
8011 ],
8012 "info" : {
8013 "GET" : {
6bd70b95 8014 "allowtoken" : 1,
d210277a
TL
8015 "description" : "List DKIM-sign domains.",
8016 "method" : "GET",
8017 "name" : "index",
8018 "parameters" : {
8019 "additionalProperties" : 0
8020 },
8021 "permissions" : {
8022 "check" : [
8023 "admin",
8024 "audit"
8025 ]
8026 },
8027 "proxyto" : "master",
8028 "returns" : {
8029 "items" : {
8030 "properties" : {
8031 "comment" : {
8032 "type" : "string"
8033 },
8034 "domain" : {
8035 "type" : "string"
8036 }
8037 },
8038 "type" : "object"
8039 },
8040 "links" : [
8041 {
8042 "href" : "{domain}",
8043 "rel" : "child"
8044 }
8045 ],
8046 "type" : "array"
8047 }
8048 },
8049 "POST" : {
6bd70b95 8050 "allowtoken" : 1,
d210277a
TL
8051 "description" : "Add DKIM-sign domain.",
8052 "method" : "POST",
8053 "name" : "create",
8054 "parameters" : {
8055 "additionalProperties" : 0,
8056 "properties" : {
8057 "comment" : {
8058 "description" : "Comment.",
8059 "optional" : 1,
8060 "type" : "string",
8061 "typetext" : "<string>"
8062 },
8063 "domain" : {
8064 "description" : "Domain name.",
8065 "format" : "transport-domain",
8066 "type" : "string",
8067 "typetext" : "<string>"
8068 }
8069 }
8070 },
8071 "permissions" : {
8072 "check" : [
8073 "admin"
8074 ]
8075 },
8076 "protected" : 1,
8077 "proxyto" : "master",
8078 "returns" : {
8079 "type" : "null"
8080 }
8081 }
8082 },
8083 "leaf" : 0,
8084 "path" : "/config/dkim/domains",
8085 "text" : "domains"
8086 },
8087 {
8088 "info" : {
8089 "GET" : {
6bd70b95 8090 "allowtoken" : 1,
d210277a
TL
8091 "description" : "Get the public key for the configured selector, prepared as DKIM TXT record",
8092 "method" : "GET",
8093 "name" : "get_selector_info",
8094 "parameters" : {
8095 "additionalProperties" : 0
8096 },
8097 "permissions" : {
8098 "check" : [
8099 "admin"
8100 ]
8101 },
8102 "protected" : 1,
8103 "proxyto" : "master",
8104 "returns" : {
8105 "properties" : {
8106 "keysize" : {
8107 "minimum" : 1024,
8108 "optional" : 1,
8109 "type" : "integer"
8110 },
8111 "record" : {
8112 "format" : "pmg-dkim-record",
8113 "optional" : 1,
8114 "type" : "string"
8115 },
8116 "selector" : {
8117 "format" : "dns-name",
8118 "optional" : 1,
8119 "type" : "string"
8120 }
8121 },
8122 "type" : "object"
8123 }
8124 },
8125 "POST" : {
6bd70b95 8126 "allowtoken" : 1,
d210277a
TL
8127 "description" : "Generate a new private key for selector. All future mail will be signed with the new key!",
8128 "method" : "POST",
8129 "name" : "set_selector",
8130 "parameters" : {
8131 "additionalProperties" : 0,
8132 "properties" : {
6bd70b95
TL
8133 "force" : {
8134 "description" : "Overwrite existing key",
8135 "optional" : 1,
8136 "type" : "boolean",
8137 "typetext" : "<boolean>"
8138 },
d210277a
TL
8139 "keysize" : {
8140 "description" : "Number of bits for the RSA-Key",
8141 "minimum" : 1024,
8142 "type" : "integer",
8143 "typetext" : "<integer> (1024 - N)"
8144 },
8145 "selector" : {
8146 "description" : "DKIM Selector",
8147 "format" : "dns-name",
8148 "type" : "string",
8149 "typetext" : "<string>"
8150 }
8151 }
8152 },
8153 "permissions" : {
8154 "check" : [
8155 "admin"
8156 ]
8157 },
8158 "protected" : 1,
8159 "proxyto" : "master",
8160 "returns" : {
8161 "type" : "null"
8162 }
8163 }
8164 },
8165 "leaf" : 1,
8166 "path" : "/config/dkim/selector",
8167 "text" : "selector"
6bd70b95
TL
8168 },
8169 {
8170 "info" : {
8171 "GET" : {
8172 "allowtoken" : 1,
8173 "description" : "Get a list of all existing selectors",
8174 "method" : "GET",
8175 "name" : "get_selector_list",
8176 "parameters" : {
8177 "additionalProperties" : 0
8178 },
8179 "permissions" : {
8180 "check" : [
8181 "admin"
8182 ]
8183 },
8184 "protected" : 1,
8185 "proxyto" : "master",
8186 "returns" : {
8187 "items" : {
8188 "properties" : {
8189 "selector" : {
8190 "format" : "dns-name",
8191 "type" : "string"
8192 }
8193 },
8194 "type" : "object"
8195 },
8196 "links" : [
8197 {
8198 "href" : "{selector}",
8199 "rel" : "child"
8200 }
8201 ],
8202 "type" : "array"
8203 }
8204 }
8205 },
8206 "leaf" : 1,
8207 "path" : "/config/dkim/selectors",
8208 "text" : "selectors"
d210277a
TL
8209 }
8210 ],
410dc2c9
DM
8211 "info" : {
8212 "GET" : {
6bd70b95 8213 "allowtoken" : 1,
d210277a 8214 "description" : "Directory index.",
410dc2c9 8215 "method" : "GET",
d210277a 8216 "name" : "index",
410dc2c9
DM
8217 "parameters" : {
8218 "additionalProperties" : 0
8219 },
410dc2c9 8220 "returns" : {
d210277a
TL
8221 "items" : {
8222 "properties" : {
8223 "section" : {
8224 "type" : "string"
8225 }
9fda36b0 8226 },
d210277a
TL
8227 "type" : "object"
8228 },
8229 "links" : [
8230 {
8231 "href" : "{section}",
8232 "rel" : "child"
8233 }
8234 ],
8235 "type" : "array"
8236 }
8237 }
8238 },
8239 "leaf" : 0,
8240 "path" : "/config/dkim",
8241 "text" : "dkim"
8242 },
8243 {
8244 "children" : [
8245 {
8246 "info" : {
8247 "DELETE" : {
6bd70b95 8248 "allowtoken" : 1,
d210277a
TL
8249 "description" : "Edit custom SpamAssassin score",
8250 "method" : "DELETE",
8251 "name" : "delete_score",
8252 "parameters" : {
8253 "additionalProperties" : 0,
8254 "properties" : {
8255 "digest" : {
8256 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
8257 "maxLength" : 40,
8258 "optional" : 1,
8259 "type" : "string",
8260 "typetext" : "<string>"
8261 },
8262 "name" : {
8263 "description" : "The name of the rule.",
8264 "pattern" : "[a-zA-Z\\_\\-\\.0-9]+",
8265 "type" : "string"
8266 }
8267 }
8268 },
8269 "protected" : 1,
8270 "proxyto" : "master",
8271 "returns" : {
8272 "type" : "null"
8273 }
8274 },
8275 "GET" : {
6bd70b95 8276 "allowtoken" : 1,
d210277a
TL
8277 "description" : "Get custom SpamAssassin score",
8278 "method" : "GET",
8279 "name" : "get_score",
8280 "parameters" : {
8281 "additionalProperties" : 0,
8282 "properties" : {
8283 "name" : {
8284 "description" : "The name of the rule.",
8285 "pattern" : "[a-zA-Z\\_\\-\\.0-9]+",
8286 "type" : "string"
8287 }
8288 }
8289 },
8290 "protected" : 1,
8291 "proxyto" : "master",
8292 "returns" : {
8293 "properties" : {
8294 "comment" : {
8295 "description" : "The Comment.",
8296 "optional" : 1,
8297 "type" : "string"
8298 },
8299 "name" : {
8300 "description" : "The name of the rule.",
8301 "pattern" : "[a-zA-Z\\_\\-\\.0-9]+",
8302 "type" : "string"
8303 },
8304 "score" : {
8305 "description" : "The score the rule should be valued at.",
8306 "type" : "number"
8307 }
8308 },
8309 "type" : "object"
8310 }
8311 },
8312 "PUT" : {
6bd70b95 8313 "allowtoken" : 1,
d210277a
TL
8314 "description" : "Edit custom SpamAssassin score",
8315 "method" : "PUT",
8316 "name" : "edit_score",
8317 "parameters" : {
8318 "additionalProperties" : 0,
8319 "properties" : {
8320 "comment" : {
8321 "description" : "The Comment.",
8322 "optional" : 1,
8323 "type" : "string",
8324 "typetext" : "<string>"
8325 },
8326 "digest" : {
8327 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
8328 "maxLength" : 40,
8329 "optional" : 1,
8330 "type" : "string",
8331 "typetext" : "<string>"
8332 },
8333 "name" : {
8334 "description" : "The name of the rule.",
8335 "pattern" : "[a-zA-Z\\_\\-\\.0-9]+",
8336 "type" : "string"
8337 },
8338 "score" : {
8339 "description" : "The score the rule should be valued at.",
8340 "type" : "number",
8341 "typetext" : "<number>"
8342 }
8343 }
8344 },
8345 "protected" : 1,
8346 "proxyto" : "master",
8347 "returns" : {
8348 "type" : "null"
8349 }
8350 }
8351 },
8352 "leaf" : 1,
8353 "path" : "/config/customscores/{name}",
8354 "text" : "{name}"
8355 }
8356 ],
8357 "info" : {
8358 "DELETE" : {
6bd70b95 8359 "allowtoken" : 1,
d210277a
TL
8360 "description" : "Revert custom score changes.",
8361 "method" : "DELETE",
8362 "name" : "revert_score_changes",
8363 "parameters" : {
8364 "additionalProperties" : 0
8365 },
8366 "permissions" : {
8367 "check" : [
8368 "admin"
8369 ]
8370 },
8371 "protected" : 1,
8372 "proxyto" : "master",
8373 "returns" : {
8374 "type" : "null"
8375 }
8376 },
8377 "GET" : {
6bd70b95 8378 "allowtoken" : 1,
d210277a
TL
8379 "description" : "List custom scores.",
8380 "method" : "GET",
8381 "name" : "list_scores",
8382 "parameters" : {
8383 "additionalProperties" : 0
8384 },
8385 "permissions" : {
8386 "check" : [
8387 "admin",
8388 "audit"
8389 ]
8390 },
8391 "proxyto" : "master",
8392 "returns" : {
8393 "items" : {
8394 "properties" : {
8395 "comment" : {
8396 "description" : "The Comment.",
8397 "optional" : 1,
8398 "type" : "string"
8399 },
8400 "digest" : {
8401 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
8402 "maxLength" : 40,
8403 "optional" : 1,
8404 "type" : "string"
8405 },
8406 "name" : {
8407 "description" : "The name of the rule.",
8408 "optional" : 1,
8409 "pattern" : "[a-zA-Z\\_\\-\\.0-9]+",
8410 "type" : "string"
8411 },
8412 "score" : {
8413 "description" : "The score the rule should be valued at.",
8414 "optional" : 1,
8415 "type" : "number"
8416 }
8417 },
8418 "type" : "object"
8419 },
8420 "links" : [
8421 {
8422 "href" : "{name}",
8423 "rel" : "child"
8424 }
8425 ],
8426 "type" : "array"
8427 }
8428 },
8429 "POST" : {
6bd70b95 8430 "allowtoken" : 1,
d210277a
TL
8431 "description" : "Create custom SpamAssassin score",
8432 "method" : "POST",
8433 "name" : "create_score",
8434 "parameters" : {
8435 "additionalProperties" : 0,
8436 "properties" : {
8437 "comment" : {
8438 "description" : "The Comment.",
8439 "optional" : 1,
8440 "type" : "string",
8441 "typetext" : "<string>"
8442 },
8443 "digest" : {
8444 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
8445 "maxLength" : 40,
8446 "optional" : 1,
8447 "type" : "string",
8448 "typetext" : "<string>"
8449 },
8450 "name" : {
8451 "description" : "The name of the rule.",
8452 "pattern" : "[a-zA-Z\\_\\-\\.0-9]+",
8453 "type" : "string"
8454 },
8455 "score" : {
8456 "description" : "The score the rule should be valued at.",
8457 "type" : "number",
8458 "typetext" : "<number>"
8459 }
8460 }
8461 },
8462 "protected" : 1,
8463 "proxyto" : "master",
8464 "returns" : {
8465 "type" : "null"
8466 }
8467 },
8468 "PUT" : {
6bd70b95 8469 "allowtoken" : 1,
d210277a
TL
8470 "description" : "Apply custom score changes.",
8471 "method" : "PUT",
8472 "name" : "apply_score_changes",
8473 "parameters" : {
8474 "additionalProperties" : 0,
8475 "properties" : {
8476 "digest" : {
8477 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
8478 "maxLength" : 40,
8479 "optional" : 1,
8480 "type" : "string",
8481 "typetext" : "<string>"
8482 },
8483 "restart-daemon" : {
8484 "default" : 0,
8485 "description" : "If set, also restarts pmg-smtp-filter. This is necessary for the changes to work.",
8486 "optional" : 1,
8487 "type" : "boolean",
8488 "typetext" : "<boolean>"
8489 }
8490 }
8491 },
8492 "permissions" : {
8493 "check" : [
8494 "admin"
8495 ]
8496 },
8497 "protected" : 1,
8498 "proxyto" : "master",
8499 "returns" : {
8500 "type" : "string"
8501 }
8502 }
8503 },
8504 "leaf" : 0,
8505 "path" : "/config/customscores",
8506 "text" : "customscores"
8507 },
8508 {
ab2b846b
TL
8509 "children" : [
8510 {
8511 "info" : {
8512 "DELETE" : {
8513 "allowtoken" : 1,
8514 "description" : "Delete an PBS remote",
8515 "method" : "DELETE",
8516 "name" : "delete",
8517 "parameters" : {
8518 "additionalProperties" : 0,
8519 "properties" : {
8520 "remote" : {
8521 "description" : "Profile ID.",
8522 "format" : "pve-configid",
8523 "type" : "string",
8524 "typetext" : "<string>"
8525 }
8526 }
8527 },
8528 "permissions" : {
8529 "check" : [
8530 "admin"
8531 ]
8532 },
8533 "protected" : 1,
8534 "proxyto" : "master",
8535 "returns" : {
8536 "type" : "null"
8537 }
8538 },
8539 "GET" : {
8540 "allowtoken" : 1,
8541 "description" : "Get Proxmox Backup Server remote configuration.",
8542 "method" : "GET",
8543 "name" : "read_config",
8544 "parameters" : {
8545 "additionalProperties" : 1,
8546 "properties" : {
8547 "remote" : {
8548 "description" : "Proxmox Backup Server ID.",
8549 "format" : "pve-configid",
8550 "type" : "string",
8551 "typetext" : "<string>"
8552 }
8553 }
8554 },
8555 "permissions" : {
8556 "check" : [
8557 "admin",
8558 "audit"
8559 ]
8560 },
8561 "proxyto" : "master",
8562 "returns" : {}
8563 },
8564 "PUT" : {
8565 "allowtoken" : 1,
8566 "description" : "Update PBS remote settings.",
8567 "method" : "PUT",
8568 "name" : "update_config",
8569 "parameters" : {
8570 "additionalProperties" : 0,
8571 "properties" : {
8572 "datastore" : {
8573 "description" : "Proxmox Backup Server datastore name.",
8574 "optional" : 1,
0b9926d3
TL
8575 "pattern" : "(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)",
8576 "type" : "string"
ab2b846b
TL
8577 },
8578 "delete" : {
8579 "description" : "A list of settings you want to delete.",
8580 "format" : "pve-configid-list",
8581 "maxLength" : 4096,
8582 "optional" : 1,
8583 "type" : "string",
8584 "typetext" : "<string>"
8585 },
8586 "digest" : {
8587 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
8588 "maxLength" : 40,
8589 "optional" : 1,
8590 "type" : "string",
8591 "typetext" : "<string>"
8592 },
8593 "disable" : {
8594 "description" : "Flag to disable (deactivate) the entry.",
8595 "optional" : 1,
8596 "type" : "boolean",
8597 "typetext" : "<boolean>"
8598 },
8599 "fingerprint" : {
8600 "description" : "Certificate SHA 256 fingerprint.",
8601 "optional" : 1,
8602 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
8603 "type" : "string"
8604 },
c5ccf1ab
TL
8605 "include-statistics" : {
8606 "description" : "Include statistics in scheduled backups",
8607 "optional" : 1,
8608 "type" : "boolean",
8609 "typetext" : "<boolean>"
8610 },
ab2b846b
TL
8611 "keep-daily" : {
8612 "description" : "Keep backups for the last <N> different days. If there is more than one backup for a single day, only the latest one is kept.",
8613 "format_description" : "N",
8614 "minimum" : "0",
8615 "optional" : 1,
8616 "type" : "integer",
8617 "typetext" : "<N>"
8618 },
8619 "keep-hourly" : {
8620 "description" : "Keep backups for the last <N> different hours. If there is more than one backup for a single hour, only the latest one is kept.",
8621 "format_description" : "N",
8622 "minimum" : "0",
8623 "optional" : 1,
8624 "type" : "integer",
8625 "typetext" : "<N>"
8626 },
8627 "keep-last" : {
8628 "description" : "Keep the last <N> backups.",
8629 "format_description" : "N",
8630 "minimum" : "0",
8631 "optional" : 1,
8632 "type" : "integer",
8633 "typetext" : "<N>"
8634 },
8635 "keep-monthly" : {
8636 "description" : "Keep backups for the last <N> different months. If there is more than one backup for a single month, only the latest one is kept.",
8637 "format_description" : "N",
8638 "minimum" : "0",
8639 "optional" : 1,
8640 "type" : "integer",
8641 "typetext" : "<N>"
8642 },
8643 "keep-weekly" : {
8644 "description" : "Keep backups for the last <N> different weeks. If there ismore than one backup for a single week, only the latest one is kept.",
8645 "format_description" : "N",
8646 "minimum" : "0",
8647 "optional" : 1,
8648 "type" : "integer",
8649 "typetext" : "<N>"
8650 },
8651 "keep-yearly" : {
8652 "description" : "Keep backups for the last <N> different years. If there is more than one backup for a single year, only the latest one is kept.",
8653 "format_description" : "N",
8654 "minimum" : "0",
8655 "optional" : 1,
8656 "type" : "integer",
8657 "typetext" : "<N>"
8658 },
0b9926d3
TL
8659 "namespace" : {
8660 "description" : "Proxmox Backup Server namespace in the datastore, defaults to the root NS.",
8661 "maxLength" : 256,
8662 "optional" : 1,
8663 "pattern" : "(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)/){0,7}(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*))?",
8664 "type" : "string"
8665 },
c5ccf1ab
TL
8666 "notify" : {
8667 "description" : "Specify when to notify via e-mail",
8668 "enum" : [
8669 "always",
8670 "error",
8671 "never"
8672 ],
8673 "optional" : 1,
8674 "type" : "string"
8675 },
ab2b846b
TL
8676 "password" : {
8677 "description" : "Password or API token secret for the user on the Proxmox Backup Server.",
8678 "optional" : 1,
8679 "type" : "string",
8680 "typetext" : "<string>"
8681 },
8682 "remote" : {
8683 "description" : "Proxmox Backup Server ID.",
8684 "format" : "pve-configid",
8685 "type" : "string",
8686 "typetext" : "<string>"
8687 },
8688 "server" : {
8689 "description" : "Proxmox Backup Server address.",
8690 "format" : "address",
8691 "maxLength" : 256,
8692 "optional" : 1,
8693 "type" : "string",
8694 "typetext" : "<string>"
8695 },
8696 "username" : {
8697 "description" : "Username or API token ID on the Proxmox Backup Server",
8698 "maxLength" : 512,
8699 "minLength" : 3,
8700 "optional" : 1,
c5ccf1ab 8701 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
ab2b846b
TL
8702 "type" : "string"
8703 }
8704 },
8705 "type" : "object"
8706 },
8707 "permissions" : {
8708 "check" : [
8709 "admin"
8710 ]
8711 },
8712 "protected" : 1,
8713 "proxyto" : "master",
8714 "returns" : {
8715 "type" : "null"
8716 }
8717 }
8718 },
8719 "leaf" : 1,
8720 "path" : "/config/pbs/{remote}",
8721 "text" : "{remote}"
8722 }
8723 ],
d210277a
TL
8724 "info" : {
8725 "GET" : {
6bd70b95 8726 "allowtoken" : 1,
ab2b846b 8727 "description" : "List all configured Proxmox Backup Server instances.",
d210277a 8728 "method" : "GET",
ab2b846b 8729 "name" : "list",
d210277a
TL
8730 "parameters" : {
8731 "additionalProperties" : 0
8732 },
8733 "permissions" : {
8734 "check" : [
8735 "admin",
8736 "audit"
8737 ]
8738 },
ab2b846b 8739 "protected" : 1,
d210277a
TL
8740 "proxyto" : "master",
8741 "returns" : {
ab2b846b
TL
8742 "items" : {
8743 "additionalProperties" : 0,
8744 "properties" : {
8745 "datastore" : {
8746 "description" : "Proxmox Backup Server datastore name.",
8747 "optional" : 0,
0b9926d3 8748 "pattern" : "(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)",
ab2b846b
TL
8749 "type" : "string"
8750 },
8751 "disable" : {
8752 "description" : "Flag to disable (deactivate) the entry.",
8753 "optional" : 1,
8754 "type" : "boolean"
8755 },
8756 "fingerprint" : {
8757 "description" : "Certificate SHA 256 fingerprint.",
8758 "optional" : 1,
8759 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
8760 "type" : "string"
8761 },
c5ccf1ab
TL
8762 "include-statistics" : {
8763 "description" : "Include statistics in scheduled backups",
8764 "optional" : 1,
8765 "type" : "boolean"
8766 },
ab2b846b
TL
8767 "keep-daily" : {
8768 "description" : "Keep backups for the last <N> different days. If there is more than one backup for a single day, only the latest one is kept.",
8769 "format_description" : "N",
8770 "minimum" : "0",
8771 "optional" : 1,
8772 "type" : "integer"
8773 },
8774 "keep-hourly" : {
8775 "description" : "Keep backups for the last <N> different hours. If there is more than one backup for a single hour, only the latest one is kept.",
8776 "format_description" : "N",
8777 "minimum" : "0",
8778 "optional" : 1,
8779 "type" : "integer"
8780 },
8781 "keep-last" : {
8782 "description" : "Keep the last <N> backups.",
8783 "format_description" : "N",
8784 "minimum" : "0",
8785 "optional" : 1,
8786 "type" : "integer"
8787 },
8788 "keep-monthly" : {
8789 "description" : "Keep backups for the last <N> different months. If there is more than one backup for a single month, only the latest one is kept.",
8790 "format_description" : "N",
8791 "minimum" : "0",
8792 "optional" : 1,
8793 "type" : "integer"
8794 },
8795 "keep-weekly" : {
8796 "description" : "Keep backups for the last <N> different weeks. If there ismore than one backup for a single week, only the latest one is kept.",
8797 "format_description" : "N",
8798 "minimum" : "0",
8799 "optional" : 1,
8800 "type" : "integer"
8801 },
8802 "keep-yearly" : {
8803 "description" : "Keep backups for the last <N> different years. If there is more than one backup for a single year, only the latest one is kept.",
8804 "format_description" : "N",
8805 "minimum" : "0",
8806 "optional" : 1,
8807 "type" : "integer"
8808 },
0b9926d3
TL
8809 "namespace" : {
8810 "description" : "Proxmox Backup Server namespace in the datastore, defaults to the root NS.",
8811 "maxLength" : 256,
8812 "optional" : 1,
8813 "pattern" : "(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)/){0,7}(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*))?",
8814 "type" : "string"
8815 },
c5ccf1ab
TL
8816 "notify" : {
8817 "description" : "Specify when to notify via e-mail",
8818 "enum" : [
8819 "always",
8820 "error",
8821 "never"
8822 ],
8823 "optional" : 1,
8824 "type" : "string"
8825 },
ab2b846b
TL
8826 "password" : {
8827 "description" : "Password or API token secret for the user on the Proxmox Backup Server.",
8828 "optional" : 1,
8829 "type" : "string"
8830 },
8831 "remote" : {
8832 "description" : "Proxmox Backup Server ID.",
8833 "format" : "pve-configid",
8834 "type" : "string"
8835 },
8836 "server" : {
8837 "description" : "Proxmox Backup Server address.",
8838 "format" : "address",
8839 "maxLength" : 256,
8840 "optional" : 0,
8841 "type" : "string"
8842 },
8843 "username" : {
8844 "description" : "Username or API token ID on the Proxmox Backup Server",
8845 "maxLength" : 512,
8846 "minLength" : 3,
8847 "optional" : 1,
c5ccf1ab 8848 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
ab2b846b
TL
8849 "type" : "string"
8850 }
8851 },
8852 "type" : "object"
8853 },
8854 "links" : [
8855 {
8856 "href" : "{remote}",
8857 "rel" : "child"
8858 }
8859 ],
8860 "type" : "array"
d210277a
TL
8861 }
8862 },
ab2b846b 8863 "POST" : {
6bd70b95 8864 "allowtoken" : 1,
ab2b846b
TL
8865 "description" : "Add Proxmox Backup Server remote instance.",
8866 "method" : "POST",
8867 "name" : "create",
d210277a
TL
8868 "parameters" : {
8869 "additionalProperties" : 0,
8870 "properties" : {
ab2b846b
TL
8871 "datastore" : {
8872 "description" : "Proxmox Backup Server datastore name.",
8873 "optional" : 0,
0b9926d3
TL
8874 "pattern" : "(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)",
8875 "type" : "string"
d210277a 8876 },
ab2b846b
TL
8877 "disable" : {
8878 "description" : "Flag to disable (deactivate) the entry.",
f225b3b4
DM
8879 "optional" : 1,
8880 "type" : "boolean",
8881 "typetext" : "<boolean>"
8882 },
ab2b846b
TL
8883 "fingerprint" : {
8884 "description" : "Certificate SHA 256 fingerprint.",
f225b3b4 8885 "optional" : 1,
ab2b846b
TL
8886 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
8887 "type" : "string"
f225b3b4 8888 },
c5ccf1ab
TL
8889 "include-statistics" : {
8890 "description" : "Include statistics in scheduled backups",
8891 "optional" : 1,
8892 "type" : "boolean",
8893 "typetext" : "<boolean>"
8894 },
ab2b846b
TL
8895 "keep-daily" : {
8896 "description" : "Keep backups for the last <N> different days. If there is more than one backup for a single day, only the latest one is kept.",
8897 "format_description" : "N",
8898 "minimum" : "0",
241ac83c 8899 "optional" : 1,
ab2b846b
TL
8900 "type" : "integer",
8901 "typetext" : "<N>"
241ac83c 8902 },
ab2b846b
TL
8903 "keep-hourly" : {
8904 "description" : "Keep backups for the last <N> different hours. If there is more than one backup for a single hour, only the latest one is kept.",
8905 "format_description" : "N",
8906 "minimum" : "0",
241ac83c 8907 "optional" : 1,
ab2b846b
TL
8908 "type" : "integer",
8909 "typetext" : "<N>"
241ac83c 8910 },
ab2b846b
TL
8911 "keep-last" : {
8912 "description" : "Keep the last <N> backups.",
8913 "format_description" : "N",
8914 "minimum" : "0",
410dc2c9 8915 "optional" : 1,
ab2b846b
TL
8916 "type" : "integer",
8917 "typetext" : "<N>"
410dc2c9 8918 },
ab2b846b
TL
8919 "keep-monthly" : {
8920 "description" : "Keep backups for the last <N> different months. If there is more than one backup for a single month, only the latest one is kept.",
8921 "format_description" : "N",
8922 "minimum" : "0",
410dc2c9 8923 "optional" : 1,
ab2b846b
TL
8924 "type" : "integer",
8925 "typetext" : "<N>"
410dc2c9 8926 },
ab2b846b
TL
8927 "keep-weekly" : {
8928 "description" : "Keep backups for the last <N> different weeks. If there ismore than one backup for a single week, only the latest one is kept.",
8929 "format_description" : "N",
8930 "minimum" : "0",
410dc2c9 8931 "optional" : 1,
ab2b846b
TL
8932 "type" : "integer",
8933 "typetext" : "<N>"
410dc2c9 8934 },
ab2b846b
TL
8935 "keep-yearly" : {
8936 "description" : "Keep backups for the last <N> different years. If there is more than one backup for a single year, only the latest one is kept.",
8937 "format_description" : "N",
8938 "minimum" : "0",
8939 "optional" : 1,
8940 "type" : "integer",
8941 "typetext" : "<N>"
8942 },
0b9926d3
TL
8943 "namespace" : {
8944 "description" : "Proxmox Backup Server namespace in the datastore, defaults to the root NS.",
8945 "maxLength" : 256,
8946 "optional" : 1,
8947 "pattern" : "(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)/){0,7}(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*))?",
8948 "type" : "string"
8949 },
c5ccf1ab
TL
8950 "notify" : {
8951 "description" : "Specify when to notify via e-mail",
8952 "enum" : [
8953 "always",
8954 "error",
8955 "never"
8956 ],
8957 "optional" : 1,
8958 "type" : "string"
8959 },
ab2b846b
TL
8960 "password" : {
8961 "description" : "Password or API token secret for the user on the Proxmox Backup Server.",
8962 "optional" : 1,
8963 "type" : "string",
8964 "typetext" : "<string>"
8965 },
8966 "remote" : {
8967 "description" : "Proxmox Backup Server ID.",
8968 "format" : "pve-configid",
8969 "type" : "string",
8970 "typetext" : "<string>"
8971 },
8972 "server" : {
8973 "description" : "Proxmox Backup Server address.",
8974 "format" : "address",
8975 "maxLength" : 256,
8976 "optional" : 0,
8977 "type" : "string",
8978 "typetext" : "<string>"
8979 },
8980 "username" : {
8981 "description" : "Username or API token ID on the Proxmox Backup Server",
8982 "maxLength" : 512,
8983 "minLength" : 3,
8984 "optional" : 1,
c5ccf1ab 8985 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
ab2b846b
TL
8986 "type" : "string"
8987 }
8988 },
8989 "type" : "object"
8990 },
8991 "permissions" : {
8992 "check" : [
8993 "admin"
8994 ]
8995 },
8996 "protected" : 1,
8997 "proxyto" : "master",
8998 "returns" : {
8999 "type" : "null"
9000 }
9001 }
9002 },
9003 "leaf" : 0,
9004 "path" : "/config/pbs",
9005 "text" : "pbs"
9006 },
9007 {
c5ccf1ab
TL
9008 "children" : [
9009 {
9010 "children" : [
9011 {
9012 "info" : {
9013 "DELETE" : {
9014 "allowtoken" : 1,
9015 "description" : "Delete ACME plugin configuration.",
9016 "method" : "DELETE",
9017 "name" : "delete_plugin",
9018 "parameters" : {
9019 "additionalProperties" : 0,
9020 "properties" : {
9021 "id" : {
9022 "description" : "Unique identifier for ACME plugin instance.",
9023 "format" : "pve-configid",
9024 "type" : "string",
9025 "typetext" : "<string>"
9026 }
9027 }
9028 },
9029 "permissions" : {
9030 "check" : [
9031 "admin"
9032 ]
9033 },
9034 "protected" : 1,
9035 "returns" : {
9036 "type" : "null"
9037 }
9038 },
9039 "GET" : {
9040 "allowtoken" : 1,
9041 "description" : "Get ACME plugin configuration.",
9042 "method" : "GET",
9043 "name" : "get_plugin_config",
9044 "parameters" : {
9045 "additionalProperties" : 0,
9046 "properties" : {
9047 "id" : {
9048 "description" : "Unique identifier for ACME plugin instance.",
9049 "format" : "pve-configid",
9050 "type" : "string",
9051 "typetext" : "<string>"
9052 }
9053 }
9054 },
9055 "permissions" : {
9056 "check" : [
9057 "admin"
9058 ]
9059 },
9060 "protected" : 1,
9061 "returns" : {
9062 "type" : "object"
9063 }
9064 },
9065 "PUT" : {
9066 "allowtoken" : 1,
9067 "description" : "Update ACME plugin configuration.",
9068 "method" : "PUT",
9069 "name" : "update_plugin",
9070 "parameters" : {
9071 "additionalProperties" : 0,
9072 "properties" : {
9073 "api" : {
9074 "description" : "API plugin name",
9075 "enum" : [
9076 "1984hosting",
9077 "acmedns",
9078 "acmeproxy",
9079 "active24",
9080 "ad",
9081 "ali",
9082 "anx",
9083 "arvan",
0362f73f 9084 "aurora",
c5ccf1ab
TL
9085 "autodns",
9086 "aws",
e0e71e6a 9087 "azion",
c5ccf1ab
TL
9088 "azure",
9089 "cf",
9090 "clouddns",
9091 "cloudns",
9092 "cn",
9093 "conoha",
9094 "constellix",
9095 "cx",
9096 "cyon",
9097 "da",
9098 "ddnss",
9099 "desec",
9100 "df",
9101 "dgon",
9102 "dnsimple",
9103 "do",
9104 "doapi",
9105 "domeneshop",
9106 "dp",
9107 "dpi",
9108 "dreamhost",
9109 "duckdns",
9110 "durabledns",
9111 "dyn",
9112 "dynu",
9113 "dynv6",
9114 "easydns",
9115 "edgedns",
9116 "euserv",
9117 "exoscale",
9118 "freedns",
9119 "gandi_livedns",
9120 "gcloud",
9121 "gd",
9122 "gdnsdk",
9123 "he",
9124 "hetzner",
9125 "hexonet",
9126 "hostingde",
9127 "huaweicloud",
9128 "infoblox",
9129 "infomaniak",
9130 "internetbs",
9131 "inwx",
9132 "ionos",
9133 "ispconfig",
9134 "jd",
9135 "joker",
9136 "kappernet",
9137 "kas",
9138 "kinghost",
9139 "knot",
9140 "leaseweb",
9141 "lexicon",
9142 "linode",
9143 "linode_v4",
9144 "loopia",
9145 "lua",
9146 "maradns",
9147 "me",
9148 "miab",
9149 "misaka",
9150 "myapi",
9151 "mydevil",
9152 "mydnsjp",
9153 "namecheap",
9154 "namecom",
9155 "namesilo",
9156 "nederhost",
9157 "neodigit",
9158 "netcup",
9159 "netlify",
9160 "nic",
9161 "njalla",
9162 "nm",
9163 "nsd",
9164 "nsone",
9165 "nsupdate",
9166 "nw",
e0e71e6a 9167 "oci",
c5ccf1ab
TL
9168 "one",
9169 "online",
9170 "openprovider",
9171 "openstack",
9172 "opnsense",
9173 "ovh",
9174 "pdns",
9175 "pleskxml",
9176 "pointhq",
0362f73f 9177 "porkbun",
c5ccf1ab
TL
9178 "rackcorp",
9179 "rackspace",
9180 "rcode0",
9181 "regru",
9182 "scaleway",
9183 "schlundtech",
9184 "selectel",
9185 "servercow",
9186 "simply",
9187 "tele3",
9188 "transip",
9189 "ultra",
9190 "unoeuro",
9191 "variomedia",
e0e71e6a 9192 "veesp",
c5ccf1ab
TL
9193 "vscale",
9194 "vultr",
0362f73f 9195 "websupport",
c5ccf1ab
TL
9196 "world4you",
9197 "yandex",
9198 "zilore",
9199 "zone",
9200 "zonomi"
9201 ],
9202 "optional" : 1,
9203 "type" : "string"
9204 },
9205 "data" : {
9206 "description" : "DNS plugin data. (base64 encoded)",
9207 "optional" : 1,
9208 "type" : "string",
9209 "typetext" : "<string>"
9210 },
9211 "delete" : {
9212 "description" : "A list of settings you want to delete.",
9213 "format" : "pve-configid-list",
9214 "maxLength" : 4096,
9215 "optional" : 1,
9216 "type" : "string",
9217 "typetext" : "<string>"
9218 },
9219 "digest" : {
9220 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
9221 "maxLength" : 40,
9222 "optional" : 1,
9223 "type" : "string",
9224 "typetext" : "<string>"
9225 },
9226 "disable" : {
9227 "description" : "Flag to disable the config.",
9228 "optional" : 1,
9229 "type" : "boolean",
9230 "typetext" : "<boolean>"
9231 },
9232 "id" : {
9233 "description" : "ACME Plugin ID name",
9234 "format" : "pve-configid",
9235 "type" : "string",
9236 "typetext" : "<string>"
9237 },
9238 "nodes" : {
9239 "description" : "List of cluster node names.",
9240 "format" : "pve-node-list",
9241 "optional" : 1,
9242 "type" : "string",
9243 "typetext" : "<string>"
9244 },
9245 "validation-delay" : {
9246 "default" : 30,
9247 "description" : "Extra delay in seconds to wait before requesting validation. Allows to cope with a long TTL of DNS records.",
9248 "maximum" : 172800,
9249 "minimum" : 0,
9250 "optional" : 1,
9251 "type" : "integer",
9252 "typetext" : "<integer> (0 - 172800)"
9253 }
9254 },
9255 "type" : "object"
9256 },
9257 "permissions" : {
9258 "check" : [
9259 "admin"
9260 ]
9261 },
9262 "protected" : 1,
9263 "returns" : {
9264 "type" : "null"
9265 }
9266 }
ab2b846b 9267 },
c5ccf1ab
TL
9268 "leaf" : 1,
9269 "path" : "/config/acme/plugins/{id}",
9270 "text" : "{id}"
9271 }
9272 ],
9273 "info" : {
9274 "GET" : {
9275 "allowtoken" : 1,
9276 "description" : "ACME plugin index.",
9277 "method" : "GET",
9278 "name" : "index",
9279 "parameters" : {
9280 "additionalProperties" : 0,
9281 "properties" : {
9282 "type" : {
9283 "description" : "Only list ACME plugins of a specific type",
9284 "enum" : [
9285 "dns",
9286 "standalone"
9287 ],
9288 "optional" : 1,
9289 "type" : "string"
9290 }
9291 }
ab2b846b 9292 },
c5ccf1ab
TL
9293 "permissions" : {
9294 "check" : [
9295 "admin"
9296 ]
ab2b846b 9297 },
c5ccf1ab
TL
9298 "protected" : 1,
9299 "returns" : {
9300 "items" : {
9301 "properties" : {
9302 "plugin" : {
9303 "description" : "Unique identifier for ACME plugin instance.",
9304 "format" : "pve-configid",
9305 "type" : "string"
9306 }
9307 },
9308 "type" : "object"
9309 },
9310 "links" : [
9311 {
9312 "href" : "{plugin}",
9313 "rel" : "child"
9314 }
9315 ],
9316 "type" : "array"
9317 }
9318 },
9319 "POST" : {
9320 "allowtoken" : 1,
9321 "description" : "Add ACME plugin configuration.",
9322 "method" : "POST",
9323 "name" : "add_plugin",
9324 "parameters" : {
9325 "additionalProperties" : 0,
9326 "properties" : {
9327 "api" : {
9328 "description" : "API plugin name",
9329 "enum" : [
9330 "1984hosting",
9331 "acmedns",
9332 "acmeproxy",
9333 "active24",
9334 "ad",
9335 "ali",
9336 "anx",
9337 "arvan",
0362f73f 9338 "aurora",
c5ccf1ab
TL
9339 "autodns",
9340 "aws",
e0e71e6a 9341 "azion",
c5ccf1ab
TL
9342 "azure",
9343 "cf",
9344 "clouddns",
9345 "cloudns",
9346 "cn",
9347 "conoha",
9348 "constellix",
9349 "cx",
9350 "cyon",
9351 "da",
9352 "ddnss",
9353 "desec",
9354 "df",
9355 "dgon",
9356 "dnsimple",
9357 "do",
9358 "doapi",
9359 "domeneshop",
9360 "dp",
9361 "dpi",
9362 "dreamhost",
9363 "duckdns",
9364 "durabledns",
9365 "dyn",
9366 "dynu",
9367 "dynv6",
9368 "easydns",
9369 "edgedns",
9370 "euserv",
9371 "exoscale",
9372 "freedns",
9373 "gandi_livedns",
9374 "gcloud",
9375 "gd",
9376 "gdnsdk",
9377 "he",
9378 "hetzner",
9379 "hexonet",
9380 "hostingde",
9381 "huaweicloud",
9382 "infoblox",
9383 "infomaniak",
9384 "internetbs",
9385 "inwx",
9386 "ionos",
9387 "ispconfig",
9388 "jd",
9389 "joker",
9390 "kappernet",
9391 "kas",
9392 "kinghost",
9393 "knot",
9394 "leaseweb",
9395 "lexicon",
9396 "linode",
9397 "linode_v4",
9398 "loopia",
9399 "lua",
9400 "maradns",
9401 "me",
9402 "miab",
9403 "misaka",
9404 "myapi",
9405 "mydevil",
9406 "mydnsjp",
9407 "namecheap",
9408 "namecom",
9409 "namesilo",
9410 "nederhost",
9411 "neodigit",
9412 "netcup",
9413 "netlify",
9414 "nic",
9415 "njalla",
9416 "nm",
9417 "nsd",
9418 "nsone",
9419 "nsupdate",
9420 "nw",
e0e71e6a 9421 "oci",
c5ccf1ab
TL
9422 "one",
9423 "online",
9424 "openprovider",
9425 "openstack",
9426 "opnsense",
9427 "ovh",
9428 "pdns",
9429 "pleskxml",
9430 "pointhq",
0362f73f 9431 "porkbun",
c5ccf1ab
TL
9432 "rackcorp",
9433 "rackspace",
9434 "rcode0",
9435 "regru",
9436 "scaleway",
9437 "schlundtech",
9438 "selectel",
9439 "servercow",
9440 "simply",
9441 "tele3",
9442 "transip",
9443 "ultra",
9444 "unoeuro",
9445 "variomedia",
e0e71e6a 9446 "veesp",
c5ccf1ab
TL
9447 "vscale",
9448 "vultr",
0362f73f 9449 "websupport",
c5ccf1ab
TL
9450 "world4you",
9451 "yandex",
9452 "zilore",
9453 "zone",
9454 "zonomi"
9455 ],
9456 "optional" : 1,
9457 "type" : "string"
9458 },
9459 "data" : {
9460 "description" : "DNS plugin data. (base64 encoded)",
9461 "optional" : 1,
9462 "type" : "string",
9463 "typetext" : "<string>"
9464 },
9465 "disable" : {
9466 "description" : "Flag to disable the config.",
9467 "optional" : 1,
9468 "type" : "boolean",
9469 "typetext" : "<boolean>"
9470 },
9471 "id" : {
9472 "description" : "ACME Plugin ID name",
9473 "format" : "pve-configid",
9474 "type" : "string",
9475 "typetext" : "<string>"
9476 },
9477 "nodes" : {
9478 "description" : "List of cluster node names.",
9479 "format" : "pve-node-list",
9480 "optional" : 1,
9481 "type" : "string",
9482 "typetext" : "<string>"
9483 },
9484 "type" : {
9485 "description" : "ACME challenge type.",
9486 "enum" : [
9487 "dns",
9488 "standalone"
9489 ],
9490 "type" : "string"
9491 },
9492 "validation-delay" : {
9493 "default" : 30,
9494 "description" : "Extra delay in seconds to wait before requesting validation. Allows to cope with a long TTL of DNS records.",
9495 "maximum" : 172800,
9496 "minimum" : 0,
9497 "optional" : 1,
9498 "type" : "integer",
9499 "typetext" : "<integer> (0 - 172800)"
9500 }
9501 },
9502 "type" : "object"
d210277a 9503 },
c5ccf1ab
TL
9504 "permissions" : {
9505 "check" : [
9506 "admin"
9507 ]
d210277a 9508 },
c5ccf1ab
TL
9509 "protected" : 1,
9510 "returns" : {
9511 "type" : "null"
9512 }
9513 }
9514 },
9515 "leaf" : 0,
9516 "path" : "/config/acme/plugins",
9517 "text" : "plugins"
9518 },
9519 {
9520 "children" : [
9521 {
9522 "info" : {
9523 "DELETE" : {
9524 "allowtoken" : 1,
9525 "description" : "Deactivate existing ACME account at CA.",
9526 "method" : "DELETE",
9527 "name" : "deactivate_account",
9528 "parameters" : {
9529 "additionalProperties" : 0,
9530 "properties" : {
9531 "force" : {
9532 "default" : 0,
9533 "description" : "Delete account data even if the server refuses to deactivate the account.",
9534 "optional" : 1,
9535 "type" : "boolean",
9536 "typetext" : "<boolean>"
9537 },
9538 "name" : {
9539 "default" : "default",
9540 "description" : "ACME account config file name.",
9541 "format" : "pve-configid",
9542 "format_description" : "name",
9543 "optional" : 1,
9544 "type" : "string",
9545 "typetext" : "<name>"
9546 }
9547 }
9548 },
9549 "permissions" : {
9550 "check" : [
9551 "admin"
9552 ]
9553 },
9554 "protected" : 1,
9555 "proxyto" : "master",
9556 "returns" : {
9557 "type" : "string"
9558 }
9559 },
9560 "GET" : {
9561 "allowtoken" : 1,
9562 "description" : "Return existing ACME account information.",
9563 "method" : "GET",
9564 "name" : "get_account",
9565 "parameters" : {
9566 "additionalProperties" : 0,
9567 "properties" : {
9568 "name" : {
9569 "default" : "default",
9570 "description" : "ACME account config file name.",
9571 "format" : "pve-configid",
9572 "format_description" : "name",
9573 "optional" : 1,
9574 "type" : "string",
9575 "typetext" : "<name>"
9576 }
9577 }
9578 },
9579 "protected" : 1,
9580 "proxyto" : "master",
9581 "returns" : {
9582 "additionalProperties" : 0,
9583 "properties" : {
9584 "account" : {
9585 "optional" : 1,
9586 "renderer" : "yaml",
9587 "type" : "object"
9588 },
9589 "directory" : {
9590 "description" : "URL of ACME CA directory endpoint.",
9591 "optional" : 1,
9592 "pattern" : "^https?://.*",
9593 "type" : "string"
9594 },
9595 "location" : {
9596 "optional" : 1,
9597 "type" : "string"
9598 },
9599 "tos" : {
9600 "optional" : 1,
9601 "type" : "string"
9602 }
9603 },
9604 "type" : "object"
9605 }
9606 },
9607 "PUT" : {
9608 "allowtoken" : 1,
9609 "description" : "Update existing ACME account information with CA. Note: not specifying any new account information triggers a refresh.",
9610 "method" : "PUT",
9611 "name" : "update_account",
9612 "parameters" : {
9613 "additionalProperties" : 0,
9614 "properties" : {
9615 "contact" : {
9616 "description" : "Contact email addresses.",
9617 "format" : "email-list",
9618 "optional" : 1,
9619 "type" : "string",
9620 "typetext" : "<string>"
9621 },
9622 "name" : {
9623 "default" : "default",
9624 "description" : "ACME account config file name.",
9625 "format" : "pve-configid",
9626 "format_description" : "name",
9627 "optional" : 1,
9628 "type" : "string",
9629 "typetext" : "<name>"
9630 }
9631 }
9632 },
9633 "permissions" : {
9634 "check" : [
9635 "admin"
9636 ]
9637 },
9638 "protected" : 1,
9639 "proxyto" : "master",
9640 "returns" : {
9641 "type" : "string"
9642 }
9643 }
d210277a 9644 },
c5ccf1ab
TL
9645 "leaf" : 1,
9646 "path" : "/config/acme/account/{name}",
9647 "text" : "{name}"
9648 }
9649 ],
9650 "info" : {
9651 "GET" : {
9652 "allowtoken" : 1,
9653 "description" : "ACME account index.",
9654 "method" : "GET",
9655 "name" : "account_index",
9656 "parameters" : {
9657 "additionalProperties" : 0
eff914dc 9658 },
c5ccf1ab
TL
9659 "permissions" : {
9660 "check" : [
9661 "admin",
9662 "audit"
9663 ]
a55e94a6 9664 },
c5ccf1ab
TL
9665 "protected" : 1,
9666 "returns" : {
9667 "items" : {
9668 "properties" : {},
9669 "type" : "object"
9670 },
9671 "links" : [
9672 {
9673 "href" : "{name}",
9674 "rel" : "child"
9675 }
9676 ],
9677 "type" : "array"
410dc2c9
DM
9678 }
9679 },
c5ccf1ab
TL
9680 "POST" : {
9681 "allowtoken" : 1,
9682 "description" : "Register a new ACME account with CA.",
9683 "method" : "POST",
9684 "name" : "register_account",
9685 "parameters" : {
9686 "additionalProperties" : 0,
9687 "properties" : {
9688 "contact" : {
9689 "description" : "Contact email addresses.",
9690 "format" : "email-list",
9691 "type" : "string",
9692 "typetext" : "<string>"
9693 },
9694 "directory" : {
9695 "default" : "https://acme-v02.api.letsencrypt.org/directory",
9696 "description" : "URL of ACME CA directory endpoint.",
9697 "optional" : 1,
9698 "pattern" : "^https?://.*",
9699 "type" : "string"
9700 },
9701 "name" : {
9702 "default" : "default",
9703 "description" : "ACME account config file name.",
9704 "format" : "pve-configid",
9705 "format_description" : "name",
9706 "optional" : 1,
9707 "type" : "string",
9708 "typetext" : "<name>"
9709 },
9710 "tos_url" : {
9711 "description" : "URL of CA TermsOfService - setting this indicates agreement.",
9712 "optional" : 1,
9713 "type" : "string",
9714 "typetext" : "<string>"
9715 }
9716 }
9717 },
9718 "permissions" : {
9719 "check" : [
9720 "admin"
9721 ]
9722 },
9723 "protected" : 1,
9724 "proxyto" : "master",
9725 "returns" : {
9726 "type" : "string"
9727 }
9728 }
9729 },
9730 "leaf" : 0,
9731 "path" : "/config/acme/account",
9732 "text" : "account"
9733 },
9734 {
9735 "info" : {
9736 "GET" : {
9737 "allowtoken" : 1,
9738 "description" : "Retrieve ACME TermsOfService URL from CA.",
9739 "method" : "GET",
9740 "name" : "get_tos",
9741 "parameters" : {
9742 "additionalProperties" : 0,
9743 "properties" : {
9744 "directory" : {
9745 "default" : "https://acme-v02.api.letsencrypt.org/directory",
9746 "description" : "URL of ACME CA directory endpoint.",
9747 "optional" : 1,
9748 "pattern" : "^https?://.*",
9749 "type" : "string"
9750 }
9751 }
9752 },
9753 "permissions" : {
9754 "user" : "all"
9755 },
9756 "returns" : {
9757 "description" : "ACME TermsOfService URL.",
9758 "optional" : 1,
9759 "type" : "string"
9760 }
9761 }
9762 },
9763 "leaf" : 1,
9764 "path" : "/config/acme/tos",
9765 "text" : "tos"
9766 },
9767 {
9768 "info" : {
9769 "GET" : {
9770 "allowtoken" : 1,
9771 "description" : "Get named known ACME directory endpoints.",
9772 "method" : "GET",
9773 "name" : "get_directories",
9774 "parameters" : {
9775 "additionalProperties" : 0
9776 },
9777 "permissions" : {
9778 "user" : "all"
9779 },
9780 "returns" : {
9781 "items" : {
9782 "additionalProperties" : 0,
9783 "properties" : {
9784 "name" : {
9785 "type" : "string"
9786 },
9787 "url" : {
9788 "description" : "URL of ACME CA directory endpoint.",
9789 "pattern" : "^https?://.*",
9790 "type" : "string"
9791 }
9792 },
9793 "type" : "object"
9794 },
9795 "type" : "array"
9796 }
9797 }
9798 },
9799 "leaf" : 1,
9800 "path" : "/config/acme/directories",
9801 "text" : "directories"
9802 },
9803 {
9804 "info" : {
9805 "GET" : {
9806 "allowtoken" : 1,
9807 "description" : "Get schema of ACME challenge types.",
9808 "method" : "GET",
9809 "name" : "challenge-schema",
9810 "parameters" : {
9811 "additionalProperties" : 0
9812 },
9813 "permissions" : {
9814 "user" : "all"
9815 },
9816 "returns" : {
9817 "items" : {
9818 "additionalProperties" : 0,
9819 "properties" : {
9820 "id" : {
9821 "type" : "string"
9822 },
9823 "name" : {
9824 "description" : "Human readable name, falls back to id",
9825 "type" : "string"
9826 },
9827 "schema" : {
9828 "type" : "object"
9829 },
9830 "type" : {
9831 "type" : "string"
9832 }
9833 },
9834 "type" : "object"
9835 },
9836 "type" : "array"
9837 }
9838 }
9839 },
9840 "leaf" : 1,
9841 "path" : "/config/acme/challenge-schema",
9842 "text" : "challenge-schema"
9843 }
9844 ],
9845 "info" : {
9846 "GET" : {
9847 "allowtoken" : 1,
9848 "description" : "ACME index.",
9849 "method" : "GET",
9850 "name" : "index",
9851 "parameters" : {
9852 "additionalProperties" : 0
9853 },
9854 "permissions" : {
9855 "user" : "all"
9856 },
9857 "returns" : {
9858 "items" : {
9859 "properties" : {},
9860 "type" : "object"
9861 },
9862 "links" : [
9863 {
9864 "href" : "{name}",
9865 "rel" : "child"
9866 }
9867 ],
9868 "type" : "array"
9869 }
9870 }
9871 },
9872 "leaf" : 0,
9873 "path" : "/config/acme",
9874 "text" : "acme"
410dc2c9 9875 },
e0e71e6a
TL
9876 {
9877 "children" : [
9878 {
9879 "info" : {
9880 "GET" : {
9881 "allowtoken" : 1,
9882 "description" : "Read the webauthn configuration.",
9883 "method" : "GET",
9884 "name" : "get_webauthn_config",
9885 "parameters" : {
9886 "additionalProperties" : 0
9887 },
9888 "permissions" : {
9889 "user" : "all"
9890 },
9891 "protected" : 1,
9892 "returns" : {
9893 "optional" : 1,
9894 "properties" : {
0b9926d3
TL
9895 "allow-subdomains" : {
9896 "default" : 1,
9897 "description" : "Whether to allow the origin to be a subdomain, rather than the exact URL.",
9898 "optional" : 1,
9899 "type" : "boolean"
9900 },
e0e71e6a
TL
9901 "id" : {
9902 "description" : "Relying part ID. Must be the domain name without protocol, port or location.\nChanging this *will* break existing credentials.",
9903 "optional" : 1,
9904 "type" : "string"
9905 },
9906 "origin" : {
9907 "description" : "Site origin. Must be a `https://` URL (or `http://localhost`). Should contain the address users type in their browsers to access the web interface.\nChanging this *may* break existing credentials.",
9908 "optional" : 1,
9909 "type" : "string"
9910 },
9911 "rp" : {
9912 "description" : "Relying party name. Any text identifier.\nChanging this *may* break existing credentials.",
9913 "optional" : 1,
9914 "type" : "string"
9915 }
9916 },
9917 "type" : "object"
9918 }
9919 },
9920 "PUT" : {
9921 "allowtoken" : 1,
9922 "description" : "Read the webauthn configuration.",
9923 "method" : "PUT",
9924 "name" : "update_webauthn_config",
9925 "parameters" : {
9926 "additionalProperties" : 0,
9927 "properties" : {
0b9926d3
TL
9928 "allow-subdomains" : {
9929 "default" : 1,
9930 "description" : "Whether to allow the origin to be a subdomain, rather than the exact URL.",
9931 "optional" : 1,
9932 "type" : "boolean",
9933 "typetext" : "<boolean>"
9934 },
e0e71e6a
TL
9935 "delete" : {
9936 "description" : "A list of settings you want to delete.",
9937 "enum" : [
9938 "id",
0b9926d3
TL
9939 "origin",
9940 "allow-subdomains",
db80f170 9941 "rp"
e0e71e6a
TL
9942 ],
9943 "optional" : 1,
9944 "type" : "string"
9945 },
9946 "digest" : {
9947 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
9948 "maxLength" : 40,
9949 "optional" : 1,
9950 "type" : "string",
9951 "typetext" : "<string>"
9952 },
9953 "id" : {
9954 "description" : "Relying part ID. Must be the domain name without protocol, port or location.\nChanging this *will* break existing credentials.",
9955 "optional" : 1,
9956 "type" : "string",
9957 "typetext" : "<string>"
9958 },
9959 "origin" : {
9960 "description" : "Site origin. Must be a `https://` URL (or `http://localhost`). Should contain the address users type in their browsers to access the web interface.\nChanging this *may* break existing credentials.",
9961 "optional" : 1,
9962 "type" : "string",
9963 "typetext" : "<string>"
9964 },
9965 "rp" : {
9966 "description" : "Relying party name. Any text identifier.\nChanging this *may* break existing credentials.",
9967 "optional" : 1,
9968 "type" : "string",
9969 "typetext" : "<string>"
9970 }
9971 }
9972 },
9973 "permissions" : {
9974 "check" : [
9975 "admin"
9976 ]
9977 },
9978 "protected" : 1,
9979 "proxyto" : "master",
9980 "returns" : {
9981 "type" : "null"
9982 }
9983 }
9984 },
9985 "leaf" : 1,
9986 "path" : "/config/tfa/webauthn",
9987 "text" : "webauthn"
9988 }
9989 ],
9990 "info" : {
9991 "GET" : {
9992 "allowtoken" : 1,
9993 "description" : "Directory index.",
9994 "method" : "GET",
9995 "name" : "index",
9996 "parameters" : {
9997 "additionalProperties" : 0
9998 },
9999 "returns" : {
10000 "items" : {
10001 "properties" : {
10002 "section" : {
10003 "type" : "string"
10004 }
10005 },
10006 "type" : "object"
10007 },
10008 "links" : [
10009 {
10010 "href" : "{section}",
10011 "rel" : "child"
10012 }
10013 ],
10014 "type" : "array"
10015 }
10016 }
10017 },
10018 "leaf" : 0,
10019 "path" : "/config/tfa",
10020 "text" : "tfa"
10021 },
410dc2c9
DM
10022 {
10023 "info" : {
10024 "GET" : {
6bd70b95 10025 "allowtoken" : 1,
c5ccf1ab 10026 "description" : "Read admin configuration properties.",
410dc2c9 10027 "method" : "GET",
c5ccf1ab 10028 "name" : "read_admin_section",
410dc2c9
DM
10029 "parameters" : {
10030 "additionalProperties" : 0
10031 },
732d76e1
DM
10032 "permissions" : {
10033 "check" : [
10034 "admin",
10035 "audit"
10036 ]
10037 },
410dc2c9
DM
10038 "proxyto" : "master",
10039 "returns" : {
10040 "type" : "object"
10041 }
10042 },
10043 "PUT" : {
6bd70b95 10044 "allowtoken" : 1,
c5ccf1ab 10045 "description" : "Update admin configuration properties.",
410dc2c9 10046 "method" : "PUT",
c5ccf1ab 10047 "name" : "update_admin_section",
410dc2c9
DM
10048 "parameters" : {
10049 "additionalProperties" : 0,
10050 "properties" : {
c5ccf1ab
TL
10051 "advfilter" : {
10052 "default" : 1,
10053 "description" : "Use advanced filters for statistic.",
10054 "optional" : 1,
10055 "type" : "boolean",
10056 "typetext" : "<boolean>"
10057 },
10058 "avast" : {
410dc2c9 10059 "default" : 0,
c5ccf1ab 10060 "description" : "Use Avast Virus Scanner (/usr/bin/scan). You need to buy and install 'Avast Core Security' before you can enable this feature.",
410dc2c9
DM
10061 "optional" : 1,
10062 "type" : "boolean",
10063 "typetext" : "<boolean>"
10064 },
c5ccf1ab
TL
10065 "clamav" : {
10066 "default" : 1,
10067 "description" : "Use ClamAV Virus Scanner. This is the default virus scanner and is enabled by default.",
410dc2c9 10068 "optional" : 1,
c5ccf1ab
TL
10069 "type" : "boolean",
10070 "typetext" : "<boolean>"
410dc2c9 10071 },
c5ccf1ab
TL
10072 "custom_check" : {
10073 "default" : 0,
10074 "description" : "Use Custom Check Script. The script has to take the defined arguments and can return Virus findings or a Spamscore.",
410dc2c9 10075 "optional" : 1,
c5ccf1ab
TL
10076 "type" : "boolean",
10077 "typetext" : "<boolean>"
410dc2c9 10078 },
c5ccf1ab
TL
10079 "custom_check_path" : {
10080 "default" : "/usr/local/bin/pmg-custom-check",
10081 "description" : "Absolute Path to the Custom Check Script",
410dc2c9 10082 "optional" : 1,
c5ccf1ab
TL
10083 "pattern" : "^/([^/\\0]+\\/)+[^/\\0]+$",
10084 "type" : "string"
410dc2c9 10085 },
c5ccf1ab
TL
10086 "dailyreport" : {
10087 "default" : 1,
10088 "description" : "Send daily reports.",
410dc2c9 10089 "optional" : 1,
c5ccf1ab
TL
10090 "type" : "boolean",
10091 "typetext" : "<boolean>"
410dc2c9
DM
10092 },
10093 "delete" : {
10094 "description" : "A list of settings you want to delete.",
10095 "format" : "pve-configid-list",
10096 "maxLength" : 4096,
10097 "optional" : 1,
10098 "type" : "string",
10099 "typetext" : "<string>"
10100 },
c5ccf1ab
TL
10101 "demo" : {
10102 "default" : 0,
10103 "description" : "Demo mode - do not start SMTP filter.",
10104 "optional" : 1,
10105 "type" : "boolean",
10106 "typetext" : "<boolean>"
10107 },
410dc2c9
DM
10108 "digest" : {
10109 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
10110 "maxLength" : 40,
10111 "optional" : 1,
10112 "type" : "string",
10113 "typetext" : "<string>"
10114 },
c5ccf1ab
TL
10115 "dkim_selector" : {
10116 "description" : "Default DKIM selector",
10117 "format" : "dns-name",
410dc2c9 10118 "optional" : 1,
c5ccf1ab
TL
10119 "type" : "string",
10120 "typetext" : "<string>"
f245a28c 10121 },
c5ccf1ab
TL
10122 "dkim_sign" : {
10123 "default" : 0,
10124 "description" : "DKIM sign outbound mails with the configured Selector.",
f245a28c
DM
10125 "optional" : 1,
10126 "type" : "boolean",
10127 "typetext" : "<boolean>"
549cfb68 10128 },
c5ccf1ab 10129 "dkim_sign_all_mail" : {
549cfb68 10130 "default" : 0,
c5ccf1ab 10131 "description" : "DKIM sign all outgoing mails irrespective of the Envelope From domain.",
549cfb68
TL
10132 "optional" : 1,
10133 "type" : "boolean",
10134 "typetext" : "<boolean>"
c5ccf1ab
TL
10135 },
10136 "email" : {
10137 "default" : "admin@domain.tld",
10138 "description" : "Administrator E-Mail address.",
10139 "format" : "email",
10140 "optional" : 1,
10141 "type" : "string",
10142 "typetext" : "<string>"
10143 },
10144 "http_proxy" : {
10145 "description" : "Specify external http proxy which is used for downloads (example: 'http://username:password@host:port/')",
10146 "optional" : 1,
10147 "pattern" : "http://.*",
10148 "type" : "string"
10149 },
10150 "statlifetime" : {
10151 "default" : 7,
10152 "description" : "User Statistics Lifetime (days)",
10153 "minimum" : 1,
10154 "optional" : 1,
10155 "type" : "integer",
10156 "typetext" : "<integer> (1 - N)"
10157 }
10158 },
10159 "type" : "object"
10160 },
10161 "permissions" : {
10162 "check" : [
10163 "admin"
10164 ]
10165 },
10166 "protected" : 1,
10167 "proxyto" : "master",
10168 "returns" : {
10169 "type" : "null"
10170 }
10171 }
10172 },
10173 "leaf" : 1,
10174 "path" : "/config/admin",
10175 "text" : "admin"
10176 },
10177 {
10178 "info" : {
10179 "GET" : {
10180 "allowtoken" : 1,
10181 "description" : "Read clamav configuration properties.",
10182 "method" : "GET",
10183 "name" : "read_clamav_section",
10184 "parameters" : {
10185 "additionalProperties" : 0
10186 },
10187 "permissions" : {
10188 "check" : [
10189 "admin",
10190 "audit"
10191 ]
10192 },
10193 "proxyto" : "master",
10194 "returns" : {
10195 "type" : "object"
10196 }
10197 },
10198 "PUT" : {
10199 "allowtoken" : 1,
10200 "description" : "Update clamav configuration properties.",
10201 "method" : "PUT",
10202 "name" : "update_clamav_section",
10203 "parameters" : {
10204 "additionalProperties" : 0,
10205 "properties" : {
10206 "archiveblockencrypted" : {
10207 "default" : 0,
10208 "description" : "Whether to mark encrypted archives and documents as heuristic virus match. A match does not necessarily result in an immediate block, it just raises the Spam Score by 'clamav_heuristic_score'.",
10209 "optional" : 1,
10210 "type" : "boolean",
10211 "typetext" : "<boolean>"
10212 },
10213 "archivemaxfiles" : {
10214 "default" : 1000,
10215 "description" : "Number of files to be scanned within an archive, a document, or any other kind of container. Warning: disabling this limit or setting it too high may result in severe damage to the system.",
10216 "minimum" : 0,
10217 "optional" : 1,
10218 "type" : "integer",
10219 "typetext" : "<integer> (0 - N)"
10220 },
10221 "archivemaxrec" : {
10222 "default" : 5,
10223 "description" : "Nested archives are scanned recursively, e.g. if a ZIP archive contains a TAR file, all files within it will also be scanned. This options specifies how deeply the process should be continued. Warning: setting this limit too high may result in severe damage to the system.",
10224 "minimum" : 1,
10225 "optional" : 1,
10226 "type" : "integer",
10227 "typetext" : "<integer> (1 - N)"
10228 },
10229 "archivemaxsize" : {
10230 "default" : 25000000,
10231 "description" : "Files larger than this limit (in bytes) won't be scanned.",
10232 "minimum" : 1000000,
10233 "optional" : 1,
10234 "type" : "integer",
10235 "typetext" : "<integer> (1000000 - N)"
10236 },
10237 "dbmirror" : {
10238 "default" : "database.clamav.net",
10239 "description" : "ClamAV database mirror server.",
10240 "optional" : 1,
10241 "type" : "string",
10242 "typetext" : "<string>"
10243 },
10244 "delete" : {
10245 "description" : "A list of settings you want to delete.",
10246 "format" : "pve-configid-list",
10247 "maxLength" : 4096,
10248 "optional" : 1,
10249 "type" : "string",
10250 "typetext" : "<string>"
10251 },
10252 "digest" : {
10253 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
10254 "maxLength" : 40,
10255 "optional" : 1,
10256 "type" : "string",
10257 "typetext" : "<string>"
10258 },
10259 "maxcccount" : {
10260 "default" : 0,
10261 "description" : "This option sets the lowest number of Credit Card or Social Security numbers found in a file to generate a detect.",
10262 "minimum" : 0,
10263 "optional" : 1,
10264 "type" : "integer",
10265 "typetext" : "<integer> (0 - N)"
10266 },
10267 "maxscansize" : {
10268 "default" : 100000000,
10269 "description" : "Sets the maximum amount of data (in bytes) to be scanned for each input file.",
10270 "minimum" : 1000000,
10271 "optional" : 1,
10272 "type" : "integer",
10273 "typetext" : "<integer> (1000000 - N)"
10274 },
10275 "safebrowsing" : {
0362f73f
SI
10276 "default" : 0,
10277 "description" : "Enables support for Google Safe Browsing. (deprecated option, will be ignored)",
c5ccf1ab
TL
10278 "optional" : 1,
10279 "type" : "boolean",
10280 "typetext" : "<boolean>"
10281 },
10282 "scriptedupdates" : {
b4ec4bc2 10283 "default" : 1,
c5ccf1ab
TL
10284 "description" : "Enables ScriptedUpdates (incremental download of signatures)",
10285 "optional" : 1,
10286 "type" : "boolean",
10287 "typetext" : "<boolean>"
10288 }
10289 },
10290 "type" : "object"
410dc2c9 10291 },
732d76e1
DM
10292 "permissions" : {
10293 "check" : [
10294 "admin"
10295 ]
10296 },
410dc2c9
DM
10297 "protected" : 1,
10298 "proxyto" : "master",
10299 "returns" : {
10300 "type" : "null"
10301 }
10302 }
10303 },
10304 "leaf" : 1,
10305 "path" : "/config/clamav",
10306 "text" : "clamav"
10307 },
10308 {
10309 "info" : {
10310 "GET" : {
6bd70b95 10311 "allowtoken" : 1,
410dc2c9
DM
10312 "description" : "Read mail configuration properties.",
10313 "method" : "GET",
10314 "name" : "read_mail_section",
10315 "parameters" : {
10316 "additionalProperties" : 0
10317 },
732d76e1
DM
10318 "permissions" : {
10319 "check" : [
10320 "admin",
10321 "audit"
10322 ]
10323 },
410dc2c9
DM
10324 "proxyto" : "master",
10325 "returns" : {
10326 "type" : "object"
10327 }
10328 },
10329 "PUT" : {
6bd70b95 10330 "allowtoken" : 1,
410dc2c9
DM
10331 "description" : "Update mail configuration properties.",
10332 "method" : "PUT",
10333 "name" : "update_mail_section",
10334 "parameters" : {
10335 "additionalProperties" : 0,
10336 "properties" : {
10337 "banner" : {
10338 "default" : "ESMTP Proxmox",
10339 "description" : "ESMTP banner.",
10340 "maxLength" : 1024,
10341 "optional" : 1,
10342 "type" : "string",
10343 "typetext" : "<string>"
10344 },
d210277a
TL
10345 "before_queue_filtering" : {
10346 "default" : 0,
10347 "description" : "Enable before queue filtering by pmg-smtp-filter",
10348 "optional" : 1,
10349 "type" : "boolean",
10350 "typetext" : "<boolean>"
10351 },
410dc2c9
DM
10352 "conn_count_limit" : {
10353 "default" : 50,
10354 "description" : "How many simultaneous connections any client is allowed to make to this service. To disable this feature, specify a limit of 0.",
10355 "minimum" : 0,
10356 "optional" : 1,
10357 "type" : "integer",
10358 "typetext" : "<integer> (0 - N)"
10359 },
10360 "conn_rate_limit" : {
10361 "default" : 0,
10362 "description" : "The maximal number of connection attempts any client is allowed to make to this service per minute. To disable this feature, specify a limit of 0.",
10363 "minimum" : 0,
10364 "optional" : 1,
10365 "type" : "integer",
10366 "typetext" : "<integer> (0 - N)"
10367 },
10368 "delete" : {
10369 "description" : "A list of settings you want to delete.",
10370 "format" : "pve-configid-list",
10371 "maxLength" : 4096,
10372 "optional" : 1,
10373 "type" : "string",
10374 "typetext" : "<string>"
10375 },
10376 "digest" : {
10377 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
10378 "maxLength" : 40,
10379 "optional" : 1,
10380 "type" : "string",
10381 "typetext" : "<string>"
10382 },
10383 "dnsbl_sites" : {
10384 "description" : "Optional list of DNS white/blacklist domains (see postscreen_dnsbl_sites parameter).",
274b47fc 10385 "format" : "dnsbl-entry-list",
410dc2c9
DM
10386 "optional" : 1,
10387 "type" : "string",
10388 "typetext" : "<string>"
10389 },
445686c9
DM
10390 "dnsbl_threshold" : {
10391 "default" : 1,
10392 "description" : "The inclusive lower bound for blocking a remote SMTP client, based on its combined DNSBL score (see postscreen_dnsbl_threshold parameter).",
10393 "minimum" : 0,
10394 "optional" : 1,
10395 "type" : "integer",
10396 "typetext" : "<integer> (0 - N)"
10397 },
410dc2c9
DM
10398 "dwarning" : {
10399 "default" : 4,
10400 "description" : "SMTP delay warning time (in hours).",
10401 "minimum" : 0,
10402 "optional" : 1,
10403 "type" : "integer",
10404 "typetext" : "<integer> (0 - N)"
10405 },
eff914dc 10406 "ext_port" : {
4a46ced6 10407 "default" : 25,
eff914dc
DM
10408 "description" : "SMTP port number for incoming mail (untrusted). This must be a different number than 'int_port'.",
10409 "maximum" : 65535,
10410 "minimum" : 1,
10411 "optional" : 1,
10412 "type" : "integer",
10413 "typetext" : "<integer> (1 - 65535)"
10414 },
410dc2c9
DM
10415 "greylist" : {
10416 "default" : 1,
549cfb68
TL
10417 "description" : "Use Greylisting for IPv4.",
10418 "optional" : 1,
10419 "type" : "boolean",
10420 "typetext" : "<boolean>"
10421 },
10422 "greylist6" : {
10423 "default" : 0,
10424 "description" : "Use Greylisting for IPv6.",
410dc2c9
DM
10425 "optional" : 1,
10426 "type" : "boolean",
10427 "typetext" : "<boolean>"
10428 },
549cfb68
TL
10429 "greylistmask4" : {
10430 "default" : 24,
10431 "description" : "Netmask to apply for greylisting IPv4 hosts",
10432 "maximum" : 32,
10433 "minimum" : 0,
10434 "optional" : 1,
10435 "type" : "integer",
10436 "typetext" : "<integer> (0 - 32)"
10437 },
10438 "greylistmask6" : {
10439 "default" : 64,
10440 "description" : "Netmask to apply for greylisting IPv6 hosts",
10441 "maximum" : 128,
10442 "minimum" : 0,
10443 "optional" : 1,
10444 "type" : "integer",
10445 "typetext" : "<integer> (0 - 128)"
10446 },
410dc2c9
DM
10447 "helotests" : {
10448 "default" : 0,
10449 "description" : "Use SMTP HELO tests.",
10450 "optional" : 1,
10451 "type" : "boolean",
10452 "typetext" : "<boolean>"
10453 },
10454 "hide_received" : {
10455 "default" : 0,
10456 "description" : "Hide received header in outgoing mails.",
10457 "optional" : 1,
10458 "type" : "boolean",
10459 "typetext" : "<boolean>"
10460 },
eff914dc 10461 "int_port" : {
4a46ced6 10462 "default" : 26,
eff914dc
DM
10463 "description" : "SMTP port number for outgoing mail (trusted).",
10464 "maximum" : 65535,
10465 "minimum" : 1,
10466 "optional" : 1,
10467 "type" : "integer",
10468 "typetext" : "<integer> (1 - 65535)"
10469 },
410dc2c9 10470 "max_filters" : {
0362f73f 10471 "default" : 38,
410dc2c9
DM
10472 "description" : "Maximum number of pmg-smtp-filter processes.",
10473 "maximum" : 40,
10474 "minimum" : 3,
10475 "optional" : 1,
10476 "type" : "integer",
10477 "typetext" : "<integer> (3 - 40)"
10478 },
10479 "max_policy" : {
10480 "default" : 5,
10481 "description" : "Maximum number of pmgpolicy processes.",
10482 "maximum" : 10,
10483 "minimum" : 2,
10484 "optional" : 1,
10485 "type" : "integer",
10486 "typetext" : "<integer> (2 - 10)"
10487 },
10488 "max_smtpd_in" : {
241ac83c 10489 "default" : 100,
410dc2c9
DM
10490 "description" : "Maximum number of SMTP daemon processes (in).",
10491 "maximum" : 100,
10492 "minimum" : 3,
10493 "optional" : 1,
10494 "type" : "integer",
10495 "typetext" : "<integer> (3 - 100)"
10496 },
10497 "max_smtpd_out" : {
241ac83c 10498 "default" : 100,
410dc2c9
DM
10499 "description" : "Maximum number of SMTP daemon processes (out).",
10500 "maximum" : 100,
10501 "minimum" : 3,
10502 "optional" : 1,
10503 "type" : "integer",
10504 "typetext" : "<integer> (3 - 100)"
10505 },
10506 "maxsize" : {
10507 "default" : 10485760,
10508 "description" : "Maximum email size. Larger mails are rejected.",
10509 "minimum" : 1024,
10510 "optional" : 1,
10511 "type" : "integer",
10512 "typetext" : "<integer> (1024 - N)"
10513 },
10514 "message_rate_limit" : {
10515 "default" : 0,
10516 "description" : "The maximal number of message delivery requests that any client is allowed to make to this service per minute.To disable this feature, specify a limit of 0.",
10517 "minimum" : 0,
10518 "optional" : 1,
10519 "type" : "integer",
10520 "typetext" : "<integer> (0 - N)"
10521 },
d210277a
TL
10522 "ndr_on_block" : {
10523 "default" : 0,
10524 "description" : "Send out NDR when mail gets blocked",
10525 "optional" : 1,
10526 "type" : "boolean",
10527 "typetext" : "<boolean>"
10528 },
410dc2c9
DM
10529 "rejectunknown" : {
10530 "default" : 0,
10531 "description" : "Reject unknown clients.",
10532 "optional" : 1,
10533 "type" : "boolean",
10534 "typetext" : "<boolean>"
10535 },
10536 "rejectunknownsender" : {
10537 "default" : 0,
10538 "description" : "Reject unknown senders.",
10539 "optional" : 1,
10540 "type" : "boolean",
10541 "typetext" : "<boolean>"
10542 },
10543 "relay" : {
10544 "description" : "The default mail delivery transport (incoming mails).",
eff914dc 10545 "format" : "address",
410dc2c9
DM
10546 "optional" : 1,
10547 "type" : "string",
10548 "typetext" : "<string>"
10549 },
10550 "relaynomx" : {
10551 "default" : 0,
6bd70b95 10552 "description" : "Disable MX lookups for default relay (SMTP only, ignored for LMTP).",
410dc2c9
DM
10553 "optional" : 1,
10554 "type" : "boolean",
10555 "typetext" : "<boolean>"
10556 },
10557 "relayport" : {
10558 "default" : 25,
6bd70b95 10559 "description" : "SMTP/LMTP port number for relay host.",
410dc2c9
DM
10560 "maximum" : 65535,
10561 "minimum" : 1,
10562 "optional" : 1,
10563 "type" : "integer",
10564 "typetext" : "<integer> (1 - 65535)"
10565 },
6bd70b95
TL
10566 "relayprotocol" : {
10567 "default" : "smtp",
10568 "description" : "Transport protocol for relay host.",
10569 "enum" : [
10570 "smtp",
10571 "lmtp"
10572 ],
10573 "optional" : 1,
10574 "type" : "string"
10575 },
eff914dc
DM
10576 "smarthost" : {
10577 "description" : "When set, all outgoing mails are deliverd to the specified smarthost.",
10578 "format" : "address",
10579 "optional" : 1,
10580 "type" : "string",
10581 "typetext" : "<string>"
10582 },
445686c9
DM
10583 "smarthostport" : {
10584 "default" : 25,
10585 "description" : "SMTP port number for smarthost.",
10586 "maximum" : 65535,
10587 "minimum" : 1,
10588 "optional" : 1,
10589 "type" : "integer",
10590 "typetext" : "<integer> (1 - 65535)"
10591 },
410dc2c9
DM
10592 "spf" : {
10593 "default" : 1,
10594 "description" : "Use Sender Policy Framework.",
10595 "optional" : 1,
10596 "type" : "boolean",
10597 "typetext" : "<boolean>"
10598 },
10599 "tls" : {
10600 "default" : 0,
eff914dc
DM
10601 "description" : "Enable TLS.",
10602 "optional" : 1,
10603 "type" : "boolean",
10604 "typetext" : "<boolean>"
10605 },
10606 "tlsheader" : {
10607 "default" : 0,
10608 "description" : "Add TLS received header.",
10609 "optional" : 1,
10610 "type" : "boolean",
10611 "typetext" : "<boolean>"
10612 },
10613 "tlslog" : {
10614 "default" : 0,
10615 "description" : "Enable TLS Logging.",
410dc2c9
DM
10616 "optional" : 1,
10617 "type" : "boolean",
10618 "typetext" : "<boolean>"
10619 },
410dc2c9 10620 "verifyreceivers" : {
eff914dc
DM
10621 "description" : "Enable receiver verification. The value spefifies the numerical reply code when the Postfix SMTP server rejects a recipient address.",
10622 "enum" : [
10623 "450",
10624 "550"
10625 ],
410dc2c9 10626 "optional" : 1,
eff914dc 10627 "type" : "string"
410dc2c9
DM
10628 }
10629 },
10630 "type" : "object"
10631 },
732d76e1
DM
10632 "permissions" : {
10633 "check" : [
10634 "admin"
10635 ]
10636 },
410dc2c9
DM
10637 "protected" : 1,
10638 "proxyto" : "master",
10639 "returns" : {
10640 "type" : "null"
10641 }
10642 }
10643 },
10644 "leaf" : 1,
10645 "path" : "/config/mail",
10646 "text" : "mail"
10647 },
10648 {
10649 "info" : {
10650 "GET" : {
6bd70b95 10651 "allowtoken" : 1,
410dc2c9
DM
10652 "description" : "Read spam configuration properties.",
10653 "method" : "GET",
10654 "name" : "read_spam_section",
10655 "parameters" : {
10656 "additionalProperties" : 0
10657 },
732d76e1
DM
10658 "permissions" : {
10659 "check" : [
10660 "admin",
10661 "audit"
10662 ]
10663 },
410dc2c9
DM
10664 "proxyto" : "master",
10665 "returns" : {
10666 "type" : "object"
10667 }
10668 },
10669 "PUT" : {
6bd70b95 10670 "allowtoken" : 1,
410dc2c9
DM
10671 "description" : "Update spam configuration properties.",
10672 "method" : "PUT",
10673 "name" : "update_spam_section",
10674 "parameters" : {
10675 "additionalProperties" : 0,
10676 "properties" : {
10677 "bounce_score" : {
10678 "default" : 0,
10679 "description" : "Additional score for bounce mails.",
10680 "maximum" : 1000,
10681 "minimum" : 0,
10682 "optional" : 1,
10683 "type" : "integer",
10684 "typetext" : "<integer> (0 - 1000)"
10685 },
274b47fc
DM
10686 "clamav_heuristic_score" : {
10687 "default" : 3,
0362f73f 10688 "description" : "Score for ClamAV heuristics (Encrypted Archives/Documents, PhishingScanURLs, ...).",
274b47fc
DM
10689 "maximum" : 1000,
10690 "minimum" : 0,
10691 "optional" : 1,
10692 "type" : "integer",
10693 "typetext" : "<integer> (0 - 1000)"
10694 },
410dc2c9
DM
10695 "delete" : {
10696 "description" : "A list of settings you want to delete.",
10697 "format" : "pve-configid-list",
10698 "maxLength" : 4096,
10699 "optional" : 1,
10700 "type" : "string",
10701 "typetext" : "<string>"
10702 },
10703 "digest" : {
10704 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
10705 "maxLength" : 40,
10706 "optional" : 1,
10707 "type" : "string",
10708 "typetext" : "<string>"
10709 },
10710 "languages" : {
10711 "default" : "all",
10712 "description" : "This option is used to specify which languages are considered OK for incoming mail.",
10713 "optional" : 1,
10714 "pattern" : "(all|([a-z][a-z])+( ([a-z][a-z])+)*)",
10715 "type" : "string"
10716 },
10717 "maxspamsize" : {
274b47fc 10718 "default" : 262144,
410dc2c9
DM
10719 "description" : "Maximum size of spam messages in bytes.",
10720 "minimum" : 64,
10721 "optional" : 1,
10722 "type" : "integer",
10723 "typetext" : "<integer> (64 - N)"
10724 },
10725 "rbl_checks" : {
10726 "default" : 1,
10727 "description" : "Enable real time blacklists (RBL) checks.",
10728 "optional" : 1,
10729 "type" : "boolean",
10730 "typetext" : "<boolean>"
10731 },
10732 "use_awl" : {
10733 "default" : 1,
10734 "description" : "Use the Auto-Whitelist plugin.",
10735 "optional" : 1,
10736 "type" : "boolean",
10737 "typetext" : "<boolean>"
10738 },
10739 "use_bayes" : {
10740 "default" : 1,
10741 "description" : "Whether to use the naive-Bayesian-style classifier.",
10742 "optional" : 1,
10743 "type" : "boolean",
10744 "typetext" : "<boolean>"
10745 },
410dc2c9
DM
10746 "use_razor" : {
10747 "default" : 1,
10748 "description" : "Whether to use Razor2, if it is available.",
10749 "optional" : 1,
10750 "type" : "boolean",
10751 "typetext" : "<boolean>"
10752 },
10753 "wl_bounce_relays" : {
10754 "description" : "Whitelist legitimate bounce relays.",
10755 "optional" : 1,
10756 "type" : "string",
10757 "typetext" : "<string>"
10758 }
10759 },
10760 "type" : "object"
10761 },
732d76e1
DM
10762 "permissions" : {
10763 "check" : [
10764 "admin"
10765 ]
10766 },
410dc2c9
DM
10767 "protected" : 1,
10768 "proxyto" : "master",
10769 "returns" : {
10770 "type" : "null"
10771 }
10772 }
10773 },
10774 "leaf" : 1,
10775 "path" : "/config/spam",
10776 "text" : "spam"
f245a28c
DM
10777 },
10778 {
10779 "info" : {
10780 "GET" : {
6bd70b95 10781 "allowtoken" : 1,
f245a28c
DM
10782 "description" : "Read spamquar configuration properties.",
10783 "method" : "GET",
10784 "name" : "read_spamquar_section",
10785 "parameters" : {
10786 "additionalProperties" : 0
10787 },
732d76e1
DM
10788 "permissions" : {
10789 "check" : [
10790 "admin",
10791 "audit"
10792 ]
10793 },
f245a28c
DM
10794 "proxyto" : "master",
10795 "returns" : {
10796 "type" : "object"
10797 }
10798 },
10799 "PUT" : {
6bd70b95 10800 "allowtoken" : 1,
f245a28c
DM
10801 "description" : "Update spamquar configuration properties.",
10802 "method" : "PUT",
10803 "name" : "update_spamquar_section",
10804 "parameters" : {
10805 "additionalProperties" : 0,
10806 "properties" : {
10807 "allowhrefs" : {
10808 "default" : 1,
10809 "description" : "Allow to view hyperlinks.",
10810 "optional" : 1,
10811 "type" : "boolean",
10812 "typetext" : "<boolean>"
10813 },
10814 "authmode" : {
10815 "default" : "ticket",
10816 "description" : "Authentication mode to access the quarantine interface. Mode 'ticket' allows login using tickets sent with the daily spam report. Mode 'ldap' requires to login using an LDAP account. Finally, mode 'ldapticket' allows both ways.",
10817 "enum" : [
10818 "ticket",
10819 "ldap",
10820 "ldapticket"
10821 ],
10822 "optional" : 1,
10823 "type" : "string"
10824 },
10825 "delete" : {
10826 "description" : "A list of settings you want to delete.",
10827 "format" : "pve-configid-list",
10828 "maxLength" : 4096,
10829 "optional" : 1,
10830 "type" : "string",
10831 "typetext" : "<string>"
10832 },
10833 "digest" : {
10834 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
10835 "maxLength" : 40,
10836 "optional" : 1,
10837 "type" : "string",
10838 "typetext" : "<string>"
10839 },
10840 "hostname" : {
b81b1f95 10841 "description" : "Quarantine Host. Useful if you run a Cluster and want users to connect to a specific host.",
f245a28c
DM
10842 "format" : "address",
10843 "optional" : 1,
10844 "type" : "string",
10845 "typetext" : "<string>"
10846 },
10847 "lifetime" : {
10848 "default" : 7,
10849 "description" : "Quarantine life time (days)",
10850 "minimum" : 1,
10851 "optional" : 1,
10852 "type" : "integer",
10853 "typetext" : "<integer> (1 - N)"
10854 },
10855 "mailfrom" : {
10856 "description" : "Text for 'From' header in daily spam report mails.",
10857 "optional" : 1,
10858 "type" : "string",
10859 "typetext" : "<string>"
10860 },
b81b1f95
DM
10861 "port" : {
10862 "default" : 8006,
10863 "description" : "Quarantine Port. Useful if you have a reverse proxy or port forwarding for the webinterface. Only used for the generated Spam report.",
10864 "maximum" : 65535,
10865 "minimum" : 1,
10866 "optional" : 1,
10867 "type" : "integer",
10868 "typetext" : "<integer> (1 - 65535)"
10869 },
10870 "protocol" : {
10871 "default" : "https",
10872 "description" : "Quarantine Webinterface Protocol. Useful if you have a reverse proxy for the webinterface. Only used for the generated Spam report.",
10873 "enum" : [
10874 "http",
10875 "https"
10876 ],
10877 "optional" : 1,
10878 "type" : "string"
10879 },
ab2b846b
TL
10880 "quarantinelink" : {
10881 "default" : 0,
10882 "description" : "Enables user self-service for Quarantine Links. Caution: this is accessible without authentication",
10883 "optional" : 1,
10884 "type" : "boolean",
10885 "typetext" : "<boolean>"
10886 },
f245a28c
DM
10887 "reportstyle" : {
10888 "default" : "verbose",
10889 "description" : "Spam report style.",
10890 "enum" : [
10891 "none",
10892 "short",
10893 "verbose",
f245a28c
DM
10894 "custom"
10895 ],
10896 "optional" : 1,
10897 "type" : "string"
10898 },
a55e94a6
DM
10899 "viewimages" : {
10900 "default" : 1,
10901 "description" : "Allow to view images.",
10902 "optional" : 1,
10903 "type" : "boolean",
10904 "typetext" : "<boolean>"
10905 }
10906 },
10907 "type" : "object"
10908 },
732d76e1
DM
10909 "permissions" : {
10910 "check" : [
10911 "admin"
10912 ]
10913 },
a55e94a6
DM
10914 "protected" : 1,
10915 "proxyto" : "master",
10916 "returns" : {
10917 "type" : "null"
10918 }
10919 }
10920 },
10921 "leaf" : 1,
10922 "path" : "/config/spamquar",
10923 "text" : "spamquar"
10924 },
10925 {
10926 "info" : {
10927 "GET" : {
6bd70b95 10928 "allowtoken" : 1,
a55e94a6
DM
10929 "description" : "Read virusquar configuration properties.",
10930 "method" : "GET",
10931 "name" : "read_virusquar_section",
10932 "parameters" : {
10933 "additionalProperties" : 0
10934 },
732d76e1
DM
10935 "permissions" : {
10936 "check" : [
10937 "admin",
10938 "audit"
10939 ]
10940 },
a55e94a6
DM
10941 "proxyto" : "master",
10942 "returns" : {
10943 "type" : "object"
10944 }
10945 },
10946 "PUT" : {
6bd70b95 10947 "allowtoken" : 1,
a55e94a6
DM
10948 "description" : "Update virusquar configuration properties.",
10949 "method" : "PUT",
10950 "name" : "update_virusquar_section",
10951 "parameters" : {
10952 "additionalProperties" : 0,
10953 "properties" : {
10954 "allowhrefs" : {
10955 "default" : 1,
10956 "description" : "Allow to view hyperlinks.",
10957 "optional" : 1,
10958 "type" : "boolean",
10959 "typetext" : "<boolean>"
10960 },
10961 "delete" : {
10962 "description" : "A list of settings you want to delete.",
10963 "format" : "pve-configid-list",
10964 "maxLength" : 4096,
10965 "optional" : 1,
10966 "type" : "string",
10967 "typetext" : "<string>"
10968 },
10969 "digest" : {
10970 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
10971 "maxLength" : 40,
10972 "optional" : 1,
10973 "type" : "string",
10974 "typetext" : "<string>"
10975 },
10976 "lifetime" : {
10977 "default" : 7,
10978 "description" : "Quarantine life time (days)",
10979 "minimum" : 1,
10980 "optional" : 1,
10981 "type" : "integer",
10982 "typetext" : "<integer> (1 - N)"
10983 },
10984 "viewimages" : {
10985 "default" : 1,
10986 "description" : "Allow to view images.",
10987 "optional" : 1,
10988 "type" : "boolean",
10989 "typetext" : "<boolean>"
10990 }
10991 },
10992 "type" : "object"
10993 },
732d76e1
DM
10994 "permissions" : {
10995 "check" : [
10996 "admin"
10997 ]
10998 },
a55e94a6
DM
10999 "protected" : 1,
11000 "proxyto" : "master",
11001 "returns" : {
11002 "type" : "null"
11003 }
11004 }
11005 },
11006 "leaf" : 1,
11007 "path" : "/config/virusquar",
11008 "text" : "virusquar"
9fda36b0
DM
11009 },
11010 {
11011 "info" : {
11012 "POST" : {
6bd70b95 11013 "allowtoken" : 1,
ab2b846b 11014 "description" : "Test Regex ignoring case",
9fda36b0
DM
11015 "method" : "POST",
11016 "name" : "regextest",
11017 "parameters" : {
11018 "additionalProperties" : 0,
11019 "properties" : {
11020 "regex" : {
11021 "description" : "The Regex to test",
11022 "maxLength" : 1024,
11023 "type" : "string",
11024 "typetext" : "<string>"
11025 },
11026 "text" : {
11027 "description" : "The String to test",
11028 "maxLength" : 1024,
11029 "type" : "string",
11030 "typetext" : "<string>"
11031 }
11032 }
11033 },
11034 "permissions" : {
11035 "check" : [
11036 "admin",
11037 "qmanager",
11038 "audit"
11039 ]
11040 },
11041 "protected" : 0,
11042 "returns" : {
11043 "type" : "number"
11044 }
11045 }
11046 },
11047 "leaf" : 1,
11048 "path" : "/config/regextest",
11049 "text" : "regextest"
a55e94a6
DM
11050 }
11051 ],
11052 "info" : {
11053 "GET" : {
6bd70b95 11054 "allowtoken" : 1,
a55e94a6
DM
11055 "description" : "Directory index.",
11056 "method" : "GET",
11057 "name" : "index",
11058 "parameters" : {
11059 "additionalProperties" : 0
11060 },
11061 "returns" : {
11062 "items" : {
11063 "properties" : {
11064 "section" : {
11065 "type" : "string"
11066 }
11067 },
11068 "type" : "object"
11069 },
11070 "links" : [
11071 {
11072 "href" : "{section}",
11073 "rel" : "child"
11074 }
11075 ],
11076 "type" : "array"
11077 }
11078 }
11079 },
11080 "leaf" : 0,
11081 "path" : "/config",
11082 "text" : "config"
11083 },
11084 {
11085 "children" : [
11086 {
11087 "children" : [
11088 {
11089 "children" : [
11090 {
11091 "info" : {
11092 "GET" : {
6bd70b95 11093 "allowtoken" : 1,
a55e94a6
DM
11094 "description" : "Print Postfix queue domain and age distribution.",
11095 "method" : "GET",
11096 "name" : "qshape",
11097 "parameters" : {
11098 "additionalProperties" : 0,
11099 "properties" : {
11100 "node" : {
11101 "description" : "The cluster node name.",
11102 "format" : "pve-node",
11103 "type" : "string",
11104 "typetext" : "<string>"
11105 },
11106 "queue" : {
11107 "default" : "deferred",
11108 "description" : "Postfix queue name.",
11109 "enum" : [
11110 "deferred",
11111 "active",
11112 "incoming",
11113 "hold"
11114 ],
11115 "optional" : 1,
11116 "type" : "string"
11117 }
11118 }
11119 },
11120 "permissions" : {
11121 "check" : [
732d76e1
DM
11122 "admin",
11123 "audit"
a55e94a6
DM
11124 ]
11125 },
11126 "protected" : 1,
11127 "proxyto" : "node",
11128 "returns" : {
11129 "items" : {
11130 "properties" : {},
11131 "type" : "object"
11132 },
11133 "type" : "array"
11134 }
11135 }
11136 },
11137 "leaf" : 1,
11138 "path" : "/nodes/{node}/postfix/qshape",
11139 "text" : "qshape"
11140 },
11141 {
11142 "children" : [
11143 {
11144 "children" : [
11145 {
11146 "info" : {
11147 "DELETE" : {
6bd70b95 11148 "allowtoken" : 1,
a55e94a6
DM
11149 "description" : "Delete one message with the named queue ID.",
11150 "method" : "DELETE",
11151 "name" : "delete_queued_mail",
11152 "parameters" : {
11153 "additionalProperties" : 0,
11154 "properties" : {
11155 "node" : {
11156 "description" : "The cluster node name.",
11157 "format" : "pve-node",
11158 "type" : "string",
11159 "typetext" : "<string>"
11160 },
11161 "queue" : {
11162 "description" : "Postfix queue name.",
11163 "enum" : [
11164 "deferred",
11165 "active",
11166 "incoming",
11167 "hold"
11168 ],
11169 "type" : "string"
11170 },
11171 "queue_id" : {
11172 "description" : "The Message queue ID.",
11173 "maxLength" : 20,
11174 "minLength" : 8,
11175 "pattern" : "[a-zA-Z0-9]+",
11176 "type" : "string"
11177 }
11178 }
11179 },
11180 "permissions" : {
11181 "check" : [
11182 "admin"
11183 ]
11184 },
11185 "protected" : 1,
11186 "proxyto" : "node",
11187 "returns" : {
11188 "type" : "null"
11189 }
11190 },
11191 "GET" : {
6bd70b95 11192 "allowtoken" : 1,
a55e94a6
DM
11193 "description" : "Get the contents of a queued mail.",
11194 "method" : "GET",
11195 "name" : "read_queued_mail",
11196 "parameters" : {
11197 "additionalProperties" : 0,
11198 "properties" : {
11199 "body" : {
11200 "default" : 0,
11201 "description" : "Include body content.",
11202 "optional" : 1,
11203 "type" : "boolean",
11204 "typetext" : "<boolean>"
11205 },
db80f170
TL
11206 "decode-header" : {
11207 "default" : 0,
11208 "description" : "Decodes the header fields.",
11209 "optional" : 1,
11210 "type" : "boolean",
11211 "typetext" : "<boolean>"
11212 },
a55e94a6
DM
11213 "header" : {
11214 "default" : 1,
11215 "description" : "Show message header content.",
11216 "optional" : 1,
11217 "type" : "boolean",
11218 "typetext" : "<boolean>"
11219 },
11220 "node" : {
11221 "description" : "The cluster node name.",
11222 "format" : "pve-node",
11223 "type" : "string",
11224 "typetext" : "<string>"
11225 },
11226 "queue" : {
11227 "description" : "Postfix queue name.",
11228 "enum" : [
11229 "deferred",
11230 "active",
11231 "incoming",
11232 "hold"
11233 ],
11234 "type" : "string"
11235 },
11236 "queue_id" : {
11237 "description" : "The Message queue ID.",
11238 "maxLength" : 20,
11239 "minLength" : 8,
11240 "pattern" : "[a-zA-Z0-9]+",
11241 "type" : "string"
11242 }
11243 }
11244 },
11245 "permissions" : {
11246 "check" : [
11247 "admin"
11248 ]
11249 },
11250 "protected" : 1,
11251 "proxyto" : "node",
11252 "returns" : {
11253 "type" : "string"
11254 }
11255 },
11256 "POST" : {
6bd70b95 11257 "allowtoken" : 1,
a55e94a6
DM
11258 "description" : "Schedule immediate delivery of deferred mail with the specified queue ID.",
11259 "method" : "POST",
11260 "name" : "flush_queued_mail",
11261 "parameters" : {
11262 "additionalProperties" : 0,
11263 "properties" : {
11264 "node" : {
11265 "description" : "The cluster node name.",
11266 "format" : "pve-node",
11267 "type" : "string",
11268 "typetext" : "<string>"
11269 },
11270 "queue" : {
11271 "description" : "Postfix queue name.",
11272 "enum" : [
11273 "deferred",
11274 "active",
11275 "incoming",
11276 "hold"
11277 ],
11278 "type" : "string"
11279 },
11280 "queue_id" : {
11281 "description" : "The Message queue ID.",
11282 "maxLength" : 20,
11283 "minLength" : 8,
11284 "pattern" : "[a-zA-Z0-9]+",
11285 "type" : "string"
11286 }
11287 }
11288 },
11289 "permissions" : {
11290 "check" : [
11291 "admin"
11292 ]
11293 },
11294 "protected" : 1,
11295 "proxyto" : "node",
11296 "returns" : {
11297 "type" : "null"
11298 }
11299 }
11300 },
11301 "leaf" : 1,
11302 "path" : "/nodes/{node}/postfix/queue/{queue}/{queue_id}",
11303 "text" : "{queue_id}"
11304 }
11305 ],
11306 "info" : {
11307 "DELETE" : {
6bd70b95 11308 "allowtoken" : 1,
a55e94a6
DM
11309 "description" : "Delete all mails in the queue.",
11310 "method" : "DELETE",
11311 "name" : "delete_queue",
11312 "parameters" : {
11313 "additionalProperties" : 0,
11314 "properties" : {
11315 "node" : {
11316 "description" : "The cluster node name.",
11317 "format" : "pve-node",
11318 "type" : "string",
11319 "typetext" : "<string>"
11320 },
11321 "queue" : {
11322 "description" : "Postfix queue name.",
11323 "enum" : [
11324 "deferred",
11325 "active",
11326 "incoming",
11327 "hold"
11328 ],
11329 "type" : "string"
11330 }
11331 }
11332 },
11333 "permissions" : {
11334 "check" : [
11335 "admin"
11336 ]
11337 },
11338 "protected" : 1,
11339 "proxyto" : "node",
11340 "returns" : {
11341 "type" : "null"
11342 }
11343 },
11344 "GET" : {
6bd70b95 11345 "allowtoken" : 1,
a55e94a6
DM
11346 "description" : "List the mail queue for a specific domain.",
11347 "method" : "GET",
11348 "name" : "mailq",
11349 "parameters" : {
11350 "additionalProperties" : 0,
11351 "properties" : {
11352 "filter" : {
11353 "description" : "Filter string.",
11354 "maxLength" : 64,
11355 "optional" : 1,
11356 "type" : "string",
11357 "typetext" : "<string>"
11358 },
11359 "limit" : {
11360 "minimum" : 0,
11361 "optional" : 1,
11362 "type" : "integer",
11363 "typetext" : "<integer> (0 - N)"
11364 },
11365 "node" : {
11366 "description" : "The cluster node name.",
11367 "format" : "pve-node",
11368 "type" : "string",
11369 "typetext" : "<string>"
11370 },
11371 "queue" : {
11372 "description" : "Postfix queue name.",
11373 "enum" : [
11374 "deferred",
11375 "active",
11376 "incoming",
11377 "hold"
11378 ],
11379 "type" : "string"
11380 },
ab2b846b
TL
11381 "sortdir" : {
11382 "description" : "Sort direction.",
11383 "enum" : [
11384 "ASC",
11385 "DESC"
11386 ],
11387 "optional" : 1,
11388 "requires" : "sortfield",
11389 "type" : "string"
11390 },
11391 "sortfield" : {
11392 "description" : "Sort field.",
11393 "enum" : [
11394 "arrival_time",
11395 "message_size",
11396 "sender",
11397 "receiver",
11398 "reason"
11399 ],
11400 "optional" : 1,
11401 "type" : "string"
11402 },
a55e94a6
DM
11403 "start" : {
11404 "minimum" : 0,
11405 "optional" : 1,
11406 "type" : "integer",
11407 "typetext" : "<integer> (0 - N)"
11408 }
11409 }
11410 },
11411 "permissions" : {
11412 "check" : [
732d76e1
DM
11413 "admin",
11414 "audit"
a55e94a6
DM
11415 ]
11416 },
11417 "protected" : 1,
11418 "proxyto" : "node",
11419 "returns" : {
11420 "items" : {
11421 "properties" : {},
11422 "type" : "object"
11423 },
11424 "links" : [
11425 {
11426 "href" : "{queue_id}",
11427 "rel" : "child"
11428 }
11429 ],
11430 "type" : "array"
11431 }
11432 }
11433 },
11434 "leaf" : 0,
11435 "path" : "/nodes/{node}/postfix/queue/{queue}",
11436 "text" : "{queue}"
11437 }
11438 ],
11439 "info" : {
9fda36b0 11440 "DELETE" : {
6bd70b95 11441 "allowtoken" : 1,
9fda36b0
DM
11442 "description" : "Delete all mails in all posfix queues.",
11443 "method" : "DELETE",
11444 "name" : "delete_all_queues",
11445 "parameters" : {
11446 "additionalProperties" : 0,
11447 "properties" : {
11448 "node" : {
11449 "description" : "The cluster node name.",
11450 "format" : "pve-node",
11451 "type" : "string",
11452 "typetext" : "<string>"
11453 }
11454 }
11455 },
11456 "permissions" : {
11457 "check" : [
11458 "admin"
11459 ]
11460 },
11461 "protected" : 1,
11462 "proxyto" : "node",
11463 "returns" : {
11464 "type" : "null"
11465 }
11466 },
a55e94a6 11467 "GET" : {
6bd70b95 11468 "allowtoken" : 1,
a55e94a6
DM
11469 "description" : "Directory index.",
11470 "method" : "GET",
11471 "name" : "queue_index",
11472 "parameters" : {
11473 "additionalProperties" : 0,
11474 "properties" : {
11475 "node" : {
11476 "description" : "The cluster node name.",
11477 "format" : "pve-node",
11478 "type" : "string",
11479 "typetext" : "<string>"
11480 }
11481 }
11482 },
11483 "permissions" : {
11484 "user" : "all"
11485 },
11486 "returns" : {
11487 "items" : {
11488 "properties" : {},
11489 "type" : "object"
11490 },
11491 "links" : [
11492 {
11493 "href" : "{name}",
11494 "rel" : "child"
11495 }
11496 ],
11497 "type" : "array"
11498 }
11499 }
11500 },
11501 "leaf" : 0,
11502 "path" : "/nodes/{node}/postfix/queue",
11503 "text" : "queue"
f245a28c 11504 },
a55e94a6
DM
11505 {
11506 "info" : {
11507 "POST" : {
6bd70b95 11508 "allowtoken" : 1,
a55e94a6
DM
11509 "description" : "Flush the queue: attempt to deliver all queued mail.",
11510 "method" : "POST",
11511 "name" : "flush_queues",
11512 "parameters" : {
11513 "additionalProperties" : 0,
11514 "properties" : {
11515 "node" : {
11516 "description" : "The cluster node name.",
11517 "format" : "pve-node",
11518 "type" : "string",
11519 "typetext" : "<string>"
11520 }
11521 }
11522 },
11523 "permissions" : {
11524 "check" : [
11525 "admin"
11526 ]
11527 },
11528 "protected" : 1,
11529 "proxyto" : "node",
11530 "returns" : {
11531 "type" : "null"
11532 }
11533 }
f245a28c 11534 },
a55e94a6
DM
11535 "leaf" : 1,
11536 "path" : "/nodes/{node}/postfix/flush_queues",
11537 "text" : "flush_queues"
11538 },
11539 {
11540 "info" : {
11541 "POST" : {
6bd70b95 11542 "allowtoken" : 1,
a55e94a6
DM
11543 "description" : "Discards the address verification cache.",
11544 "method" : "POST",
11545 "name" : "discard_verify_cache",
11546 "parameters" : {
11547 "additionalProperties" : 0,
11548 "properties" : {
11549 "node" : {
11550 "description" : "The cluster node name.",
11551 "format" : "pve-node",
11552 "type" : "string",
11553 "typetext" : "<string>"
11554 }
11555 }
11556 },
11557 "permissions" : {
11558 "check" : [
11559 "admin"
11560 ]
11561 },
11562 "protected" : 1,
11563 "proxyto" : "node",
11564 "returns" : {
11565 "type" : "null"
11566 }
11567 }
f245a28c 11568 },
a55e94a6
DM
11569 "leaf" : 1,
11570 "path" : "/nodes/{node}/postfix/discard_verify_cache",
11571 "text" : "discard_verify_cache"
11572 }
11573 ],
11574 "info" : {
11575 "GET" : {
6bd70b95 11576 "allowtoken" : 1,
a55e94a6
DM
11577 "description" : "Directory index.",
11578 "method" : "GET",
11579 "name" : "index",
11580 "parameters" : {
11581 "additionalProperties" : 0,
11582 "properties" : {
11583 "node" : {
11584 "description" : "The cluster node name.",
11585 "format" : "pve-node",
11586 "type" : "string",
11587 "typetext" : "<string>"
11588 }
11589 }
f245a28c 11590 },
a55e94a6
DM
11591 "permissions" : {
11592 "user" : "all"
f245a28c 11593 },
a55e94a6
DM
11594 "returns" : {
11595 "items" : {
11596 "properties" : {},
11597 "type" : "object"
11598 },
11599 "links" : [
11600 {
11601 "href" : "{name}",
11602 "rel" : "child"
11603 }
11604 ],
11605 "type" : "array"
f245a28c 11606 }
410dc2c9
DM
11607 }
11608 },
a55e94a6
DM
11609 "leaf" : 0,
11610 "path" : "/nodes/{node}/postfix",
11611 "text" : "postfix"
410dc2c9 11612 },
f245a28c
DM
11613 {
11614 "children" : [
11615 {
11616 "info" : {
11617 "GET" : {
6bd70b95 11618 "allowtoken" : 1,
f245a28c
DM
11619 "description" : "ClamAV virus database status.",
11620 "method" : "GET",
11621 "name" : "database_status",
11622 "parameters" : {
11623 "additionalProperties" : 0,
11624 "properties" : {
11625 "node" : {
11626 "description" : "The cluster node name.",
11627 "format" : "pve-node",
11628 "type" : "string",
11629 "typetext" : "<string>"
11630 }
11631 }
11632 },
bb6e6e0d
DM
11633 "permissions" : {
11634 "check" : [
11635 "admin",
11636 "audit"
11637 ]
11638 },
11639 "proxyto" : "node",
f245a28c
DM
11640 "returns" : {
11641 "items" : {
11642 "properties" : {
11643 "build_time" : {
11644 "type" : "string"
11645 },
11646 "nsigs" : {
11647 "type" : "integer"
11648 },
11649 "type" : {
11650 "type" : "string"
11651 },
11652 "version" : {
11653 "optional" : 1,
11654 "type" : "string"
11655 }
11656 },
11657 "type" : "object"
11658 },
11659 "type" : "array"
11660 }
11661 },
11662 "POST" : {
6bd70b95 11663 "allowtoken" : 1,
f245a28c
DM
11664 "description" : "Update ClamAV virus databases.",
11665 "method" : "POST",
11666 "name" : "update_database",
11667 "parameters" : {
11668 "additionalProperties" : 0,
11669 "properties" : {
11670 "node" : {
11671 "description" : "The cluster node name.",
11672 "format" : "pve-node",
11673 "type" : "string",
11674 "typetext" : "<string>"
11675 }
11676 }
11677 },
bb6e6e0d
DM
11678 "permissions" : {
11679 "check" : [
11680 "admin"
11681 ]
11682 },
f245a28c 11683 "protected" : 1,
bb6e6e0d 11684 "proxyto" : "node",
f245a28c
DM
11685 "returns" : {
11686 "type" : "string"
11687 }
11688 }
11689 },
11690 "leaf" : 1,
11691 "path" : "/nodes/{node}/clamav/database",
11692 "text" : "database"
11693 }
11694 ],
11695 "info" : {
11696 "GET" : {
6bd70b95 11697 "allowtoken" : 1,
f245a28c
DM
11698 "description" : "Directory index.",
11699 "method" : "GET",
11700 "name" : "index",
11701 "parameters" : {
11702 "additionalProperties" : 0,
11703 "properties" : {
11704 "node" : {
11705 "description" : "The cluster node name.",
11706 "format" : "pve-node",
11707 "type" : "string",
11708 "typetext" : "<string>"
11709 }
11710 }
11711 },
bb6e6e0d
DM
11712 "permissions" : {
11713 "check" : [
11714 "admin",
11715 "audit"
11716 ]
11717 },
f245a28c
DM
11718 "returns" : {
11719 "items" : {
11720 "properties" : {},
11721 "type" : "object"
11722 },
11723 "links" : [
11724 {
11725 "href" : "{subdir}",
11726 "rel" : "child"
11727 }
11728 ],
11729 "type" : "array"
11730 }
11731 }
11732 },
11733 "leaf" : 0,
11734 "path" : "/nodes/{node}/clamav",
11735 "text" : "clamav"
11736 },
bb6e6e0d
DM
11737 {
11738 "children" : [
11739 {
11740 "info" : {
11741 "GET" : {
6bd70b95 11742 "allowtoken" : 1,
bb6e6e0d
DM
11743 "description" : "SpamAssassin rules status.",
11744 "method" : "GET",
11745 "name" : "rules_status",
11746 "parameters" : {
11747 "additionalProperties" : 0,
11748 "properties" : {
11749 "node" : {
11750 "description" : "The cluster node name.",
11751 "format" : "pve-node",
11752 "type" : "string",
11753 "typetext" : "<string>"
11754 }
11755 }
11756 },
11757 "permissions" : {
11758 "check" : [
11759 "admin",
11760 "audit"
11761 ]
11762 },
11763 "proxyto" : "node",
11764 "returns" : {
11765 "items" : {
11766 "properties" : {
11767 "channel" : {
11768 "type" : "string"
11769 },
11770 "last_updated" : {
11771 "optional" : 1,
11772 "type" : "integer"
11773 },
11774 "update_avail" : {
11775 "type" : "boolean"
11776 },
11777 "update_version" : {
11778 "optional" : 1,
11779 "type" : "string"
11780 },
11781 "version" : {
11782 "optional" : 1,
11783 "type" : "string"
11784 }
11785 },
11786 "type" : "object"
11787 },
11788 "type" : "array"
11789 }
11790 },
11791 "POST" : {
6bd70b95 11792 "allowtoken" : 1,
bb6e6e0d
DM
11793 "description" : "Update SpamAssassin rules.",
11794 "method" : "POST",
11795 "name" : "update_rules",
11796 "parameters" : {
11797 "additionalProperties" : 0,
11798 "properties" : {
11799 "node" : {
11800 "description" : "The cluster node name.",
11801 "format" : "pve-node",
11802 "type" : "string",
11803 "typetext" : "<string>"
11804 }
11805 }
11806 },
11807 "permissions" : {
11808 "check" : [
11809 "admin"
11810 ]
11811 },
11812 "protected" : 1,
11813 "proxyto" : "node",
11814 "returns" : {
11815 "type" : "string"
11816 }
11817 }
11818 },
11819 "leaf" : 1,
11820 "path" : "/nodes/{node}/spamassassin/rules",
11821 "text" : "rules"
11822 }
11823 ],
11824 "info" : {
11825 "GET" : {
6bd70b95 11826 "allowtoken" : 1,
bb6e6e0d
DM
11827 "description" : "Directory index.",
11828 "method" : "GET",
11829 "name" : "index",
11830 "parameters" : {
11831 "additionalProperties" : 0,
11832 "properties" : {
11833 "node" : {
11834 "description" : "The cluster node name.",
11835 "format" : "pve-node",
11836 "type" : "string",
11837 "typetext" : "<string>"
11838 }
11839 }
11840 },
11841 "permissions" : {
11842 "check" : [
11843 "admin",
11844 "audit"
11845 ]
11846 },
11847 "returns" : {
11848 "items" : {
11849 "properties" : {},
11850 "type" : "object"
11851 },
11852 "links" : [
11853 {
11854 "href" : "{subdir}",
11855 "rel" : "child"
11856 }
11857 ],
11858 "type" : "array"
11859 }
11860 }
11861 },
11862 "leaf" : 0,
11863 "path" : "/nodes/{node}/spamassassin",
11864 "text" : "spamassassin"
11865 },
410dc2c9
DM
11866 {
11867 "children" : [
11868 {
11869 "info" : {
11870 "DELETE" : {
6bd70b95 11871 "allowtoken" : 1,
410dc2c9
DM
11872 "description" : "Delete network device configuration",
11873 "method" : "DELETE",
11874 "name" : "delete_network",
11875 "parameters" : {
11876 "additionalProperties" : 0,
11877 "properties" : {
11878 "iface" : {
11879 "description" : "Network interface name.",
11880 "format" : "pve-iface",
11881 "maxLength" : 20,
11882 "minLength" : 2,
11883 "type" : "string",
11884 "typetext" : "<string>"
11885 },
11886 "node" : {
11887 "description" : "The cluster node name.",
11888 "format" : "pve-node",
11889 "type" : "string",
11890 "typetext" : "<string>"
11891 }
11892 }
11893 },
11894 "protected" : 1,
11895 "proxyto" : "node",
11896 "returns" : {
11897 "type" : "null"
11898 }
11899 },
11900 "GET" : {
6bd70b95 11901 "allowtoken" : 1,
410dc2c9
DM
11902 "description" : "Read network device configuration",
11903 "method" : "GET",
11904 "name" : "network_config",
11905 "parameters" : {
11906 "additionalProperties" : 0,
11907 "properties" : {
11908 "iface" : {
11909 "description" : "Network interface name.",
11910 "format" : "pve-iface",
11911 "maxLength" : 20,
11912 "minLength" : 2,
11913 "type" : "string",
11914 "typetext" : "<string>"
11915 },
11916 "node" : {
11917 "description" : "The cluster node name.",
11918 "format" : "pve-node",
11919 "type" : "string",
11920 "typetext" : "<string>"
11921 }
11922 }
11923 },
732d76e1
DM
11924 "permissions" : {
11925 "check" : [
11926 "admin",
11927 "audit"
11928 ]
11929 },
410dc2c9
DM
11930 "proxyto" : "node",
11931 "returns" : {
11932 "properties" : {
11933 "method" : {
11934 "type" : "string"
11935 },
11936 "type" : {
11937 "type" : "string"
11938 }
11939 },
11940 "type" : "object"
11941 }
11942 },
11943 "PUT" : {
6bd70b95 11944 "allowtoken" : 1,
410dc2c9
DM
11945 "description" : "Update network device configuration",
11946 "method" : "PUT",
11947 "name" : "update_network",
11948 "parameters" : {
11949 "additionalProperties" : 0,
11950 "properties" : {
11951 "address" : {
11952 "description" : "IP address.",
11953 "format" : "ipv4",
11954 "optional" : 1,
11955 "requires" : "netmask",
11956 "type" : "string",
11957 "typetext" : "<string>"
11958 },
11959 "address6" : {
11960 "description" : "IP address.",
11961 "format" : "ipv6",
11962 "optional" : 1,
11963 "requires" : "netmask6",
11964 "type" : "string",
11965 "typetext" : "<string>"
11966 },
11967 "autostart" : {
11968 "description" : "Automatically start interface on boot.",
11969 "optional" : 1,
11970 "type" : "boolean",
11971 "typetext" : "<boolean>"
11972 },
6bd70b95
TL
11973 "bond-primary" : {
11974 "description" : "Specify the primary interface for active-backup bond.",
11975 "format" : "pve-iface",
11976 "optional" : 1,
11977 "type" : "string",
11978 "typetext" : "<string>"
11979 },
410dc2c9
DM
11980 "bond_mode" : {
11981 "description" : "Bonding mode.",
11982 "enum" : [
11983 "balance-rr",
11984 "active-backup",
11985 "balance-xor",
11986 "broadcast",
11987 "802.3ad",
11988 "balance-tlb",
11989 "balance-alb",
11990 "balance-slb",
11991 "lacp-balance-slb",
11992 "lacp-balance-tcp"
11993 ],
11994 "optional" : 1,
11995 "type" : "string"
11996 },
11997 "bond_xmit_hash_policy" : {
11998 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
11999 "enum" : [
12000 "layer2",
12001 "layer2+3",
12002 "layer3+4"
12003 ],
12004 "optional" : 1,
12005 "type" : "string"
12006 },
12007 "bridge_ports" : {
d8212759 12008 "description" : "Specify the interfaces you want to add to your bridge.",
410dc2c9
DM
12009 "format" : "pve-iface-list",
12010 "optional" : 1,
12011 "type" : "string",
12012 "typetext" : "<string>"
12013 },
12014 "bridge_vlan_aware" : {
12015 "description" : "Enable bridge vlan support.",
12016 "optional" : 1,
12017 "type" : "boolean",
12018 "typetext" : "<boolean>"
12019 },
241ac83c
TL
12020 "cidr" : {
12021 "description" : "IPv4 CIDR.",
12022 "format" : "CIDRv4",
12023 "optional" : 1,
12024 "type" : "string",
12025 "typetext" : "<string>"
12026 },
12027 "cidr6" : {
12028 "description" : "IPv6 CIDR.",
12029 "format" : "CIDRv6",
12030 "optional" : 1,
12031 "type" : "string",
12032 "typetext" : "<string>"
12033 },
410dc2c9
DM
12034 "comments" : {
12035 "description" : "Comments",
12036 "optional" : 1,
12037 "type" : "string",
12038 "typetext" : "<string>"
12039 },
12040 "comments6" : {
12041 "description" : "Comments",
12042 "optional" : 1,
12043 "type" : "string",
12044 "typetext" : "<string>"
12045 },
12046 "delete" : {
12047 "description" : "A list of settings you want to delete.",
12048 "format" : "pve-configid-list",
12049 "optional" : 1,
12050 "type" : "string",
12051 "typetext" : "<string>"
12052 },
12053 "gateway" : {
12054 "description" : "Default gateway address.",
12055 "format" : "ipv4",
12056 "optional" : 1,
12057 "type" : "string",
12058 "typetext" : "<string>"
12059 },
12060 "gateway6" : {
12061 "description" : "Default ipv6 gateway address.",
12062 "format" : "ipv6",
12063 "optional" : 1,
12064 "type" : "string",
12065 "typetext" : "<string>"
12066 },
12067 "iface" : {
12068 "description" : "Network interface name.",
12069 "format" : "pve-iface",
12070 "maxLength" : 20,
12071 "minLength" : 2,
12072 "type" : "string",
12073 "typetext" : "<string>"
12074 },
6bd70b95
TL
12075 "mtu" : {
12076 "description" : "MTU.",
12077 "maximum" : 65520,
12078 "minimum" : 1280,
12079 "optional" : 1,
12080 "type" : "integer",
12081 "typetext" : "<integer> (1280 - 65520)"
12082 },
410dc2c9
DM
12083 "netmask" : {
12084 "description" : "Network mask.",
12085 "format" : "ipv4mask",
12086 "optional" : 1,
12087 "requires" : "address",
12088 "type" : "string",
12089 "typetext" : "<string>"
12090 },
12091 "netmask6" : {
12092 "description" : "Network mask.",
12093 "maximum" : 128,
12094 "minimum" : 0,
12095 "optional" : 1,
12096 "requires" : "address6",
12097 "type" : "integer",
12098 "typetext" : "<integer> (0 - 128)"
12099 },
12100 "node" : {
12101 "description" : "The cluster node name.",
12102 "format" : "pve-node",
12103 "type" : "string",
12104 "typetext" : "<string>"
12105 },
12106 "ovs_bonds" : {
12107 "description" : "Specify the interfaces used by the bonding device.",
12108 "format" : "pve-iface-list",
12109 "optional" : 1,
12110 "type" : "string",
12111 "typetext" : "<string>"
12112 },
12113 "ovs_bridge" : {
12114 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
12115 "format" : "pve-iface",
12116 "optional" : 1,
12117 "type" : "string",
12118 "typetext" : "<string>"
12119 },
12120 "ovs_options" : {
12121 "description" : "OVS interface options.",
12122 "maxLength" : 1024,
12123 "optional" : 1,
12124 "type" : "string",
12125 "typetext" : "<string>"
12126 },
12127 "ovs_ports" : {
d8212759 12128 "description" : "Specify the interfaces you want to add to your bridge.",
410dc2c9
DM
12129 "format" : "pve-iface-list",
12130 "optional" : 1,
12131 "type" : "string",
12132 "typetext" : "<string>"
12133 },
12134 "ovs_tag" : {
12135 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
12136 "maximum" : 4094,
12137 "minimum" : 1,
12138 "optional" : 1,
12139 "type" : "integer",
12140 "typetext" : "<integer> (1 - 4094)"
12141 },
12142 "slaves" : {
12143 "description" : "Specify the interfaces used by the bonding device.",
12144 "format" : "pve-iface-list",
12145 "optional" : 1,
12146 "type" : "string",
12147 "typetext" : "<string>"
12148 },
12149 "type" : {
12150 "description" : "Network interface type",
12151 "enum" : [
12152 "bridge",
12153 "bond",
12154 "eth",
12155 "alias",
12156 "vlan",
12157 "OVSBridge",
12158 "OVSBond",
12159 "OVSPort",
12160 "OVSIntPort",
12161 "unknown"
12162 ],
12163 "type" : "string"
6bd70b95
TL
12164 },
12165 "vlan-id" : {
12166 "description" : "vlan-id for a custom named vlan interface (ifupdown2 only).",
12167 "maximum" : 4094,
12168 "minimum" : 1,
12169 "optional" : 1,
12170 "type" : "integer",
12171 "typetext" : "<integer> (1 - 4094)"
12172 },
12173 "vlan-raw-device" : {
12174 "description" : "Specify the raw interface for the vlan interface.",
12175 "format" : "pve-iface",
12176 "optional" : 1,
12177 "type" : "string",
12178 "typetext" : "<string>"
410dc2c9
DM
12179 }
12180 }
12181 },
12182 "protected" : 1,
12183 "proxyto" : "node",
12184 "returns" : {
12185 "type" : "null"
12186 }
12187 }
12188 },
12189 "leaf" : 1,
12190 "path" : "/nodes/{node}/network/{iface}",
12191 "text" : "{iface}"
12192 }
12193 ],
12194 "info" : {
12195 "DELETE" : {
6bd70b95 12196 "allowtoken" : 1,
410dc2c9
DM
12197 "description" : "Revert network configuration changes.",
12198 "method" : "DELETE",
12199 "name" : "revert_network_changes",
12200 "parameters" : {
12201 "additionalProperties" : 0,
12202 "properties" : {
12203 "node" : {
12204 "description" : "The cluster node name.",
12205 "format" : "pve-node",
12206 "type" : "string",
12207 "typetext" : "<string>"
12208 }
12209 }
12210 },
12211 "protected" : 1,
12212 "proxyto" : "node",
12213 "returns" : {
12214 "type" : "null"
12215 }
12216 },
12217 "GET" : {
6bd70b95 12218 "allowtoken" : 1,
410dc2c9
DM
12219 "description" : "List available networks",
12220 "method" : "GET",
12221 "name" : "index",
12222 "parameters" : {
12223 "additionalProperties" : 0,
12224 "properties" : {
12225 "node" : {
12226 "description" : "The cluster node name.",
12227 "format" : "pve-node",
12228 "type" : "string",
12229 "typetext" : "<string>"
12230 },
12231 "type" : {
12232 "description" : "Only list specific interface types.",
12233 "enum" : [
12234 "bridge",
12235 "bond",
12236 "eth",
12237 "alias",
12238 "vlan",
12239 "OVSBridge",
12240 "OVSBond",
12241 "OVSPort",
12242 "OVSIntPort",
12243 "any_bridge"
12244 ],
12245 "optional" : 1,
12246 "type" : "string"
12247 }
12248 }
12249 },
732d76e1
DM
12250 "permissions" : {
12251 "check" : [
12252 "admin",
12253 "audit"
12254 ]
12255 },
410dc2c9
DM
12256 "proxyto" : "node",
12257 "returns" : {
12258 "items" : {
12259 "properties" : {},
12260 "type" : "object"
12261 },
12262 "links" : [
12263 {
12264 "href" : "{iface}",
12265 "rel" : "child"
12266 }
12267 ],
12268 "type" : "array"
12269 }
12270 },
12271 "POST" : {
6bd70b95 12272 "allowtoken" : 1,
410dc2c9
DM
12273 "description" : "Create network device configuration",
12274 "method" : "POST",
12275 "name" : "create_network",
12276 "parameters" : {
12277 "additionalProperties" : 0,
12278 "properties" : {
12279 "address" : {
12280 "description" : "IP address.",
12281 "format" : "ipv4",
12282 "optional" : 1,
12283 "requires" : "netmask",
12284 "type" : "string",
12285 "typetext" : "<string>"
12286 },
12287 "address6" : {
12288 "description" : "IP address.",
12289 "format" : "ipv6",
12290 "optional" : 1,
12291 "requires" : "netmask6",
12292 "type" : "string",
12293 "typetext" : "<string>"
12294 },
12295 "autostart" : {
12296 "description" : "Automatically start interface on boot.",
12297 "optional" : 1,
12298 "type" : "boolean",
12299 "typetext" : "<boolean>"
12300 },
6bd70b95
TL
12301 "bond-primary" : {
12302 "description" : "Specify the primary interface for active-backup bond.",
12303 "format" : "pve-iface",
12304 "optional" : 1,
12305 "type" : "string",
12306 "typetext" : "<string>"
12307 },
410dc2c9
DM
12308 "bond_mode" : {
12309 "description" : "Bonding mode.",
12310 "enum" : [
12311 "balance-rr",
12312 "active-backup",
12313 "balance-xor",
12314 "broadcast",
12315 "802.3ad",
12316 "balance-tlb",
12317 "balance-alb",
12318 "balance-slb",
12319 "lacp-balance-slb",
12320 "lacp-balance-tcp"
12321 ],
12322 "optional" : 1,
12323 "type" : "string"
12324 },
12325 "bond_xmit_hash_policy" : {
12326 "description" : "Selects the transmit hash policy to use for slave selection in balance-xor and 802.3ad modes.",
12327 "enum" : [
12328 "layer2",
12329 "layer2+3",
12330 "layer3+4"
12331 ],
12332 "optional" : 1,
12333 "type" : "string"
12334 },
12335 "bridge_ports" : {
d8212759 12336 "description" : "Specify the interfaces you want to add to your bridge.",
410dc2c9
DM
12337 "format" : "pve-iface-list",
12338 "optional" : 1,
12339 "type" : "string",
12340 "typetext" : "<string>"
12341 },
12342 "bridge_vlan_aware" : {
12343 "description" : "Enable bridge vlan support.",
12344 "optional" : 1,
12345 "type" : "boolean",
12346 "typetext" : "<boolean>"
12347 },
241ac83c
TL
12348 "cidr" : {
12349 "description" : "IPv4 CIDR.",
12350 "format" : "CIDRv4",
12351 "optional" : 1,
12352 "type" : "string",
12353 "typetext" : "<string>"
12354 },
12355 "cidr6" : {
12356 "description" : "IPv6 CIDR.",
12357 "format" : "CIDRv6",
12358 "optional" : 1,
12359 "type" : "string",
12360 "typetext" : "<string>"
12361 },
410dc2c9
DM
12362 "comments" : {
12363 "description" : "Comments",
12364 "optional" : 1,
12365 "type" : "string",
12366 "typetext" : "<string>"
12367 },
12368 "comments6" : {
12369 "description" : "Comments",
12370 "optional" : 1,
12371 "type" : "string",
12372 "typetext" : "<string>"
12373 },
12374 "gateway" : {
12375 "description" : "Default gateway address.",
12376 "format" : "ipv4",
12377 "optional" : 1,
12378 "type" : "string",
12379 "typetext" : "<string>"
12380 },
12381 "gateway6" : {
12382 "description" : "Default ipv6 gateway address.",
12383 "format" : "ipv6",
12384 "optional" : 1,
12385 "type" : "string",
12386 "typetext" : "<string>"
12387 },
12388 "iface" : {
12389 "description" : "Network interface name.",
12390 "format" : "pve-iface",
12391 "maxLength" : 20,
12392 "minLength" : 2,
12393 "type" : "string",
12394 "typetext" : "<string>"
12395 },
6bd70b95
TL
12396 "mtu" : {
12397 "description" : "MTU.",
12398 "maximum" : 65520,
12399 "minimum" : 1280,
12400 "optional" : 1,
12401 "type" : "integer",
12402 "typetext" : "<integer> (1280 - 65520)"
12403 },
410dc2c9
DM
12404 "netmask" : {
12405 "description" : "Network mask.",
12406 "format" : "ipv4mask",
12407 "optional" : 1,
12408 "requires" : "address",
12409 "type" : "string",
12410 "typetext" : "<string>"
12411 },
12412 "netmask6" : {
12413 "description" : "Network mask.",
12414 "maximum" : 128,
12415 "minimum" : 0,
12416 "optional" : 1,
12417 "requires" : "address6",
12418 "type" : "integer",
12419 "typetext" : "<integer> (0 - 128)"
12420 },
12421 "node" : {
12422 "description" : "The cluster node name.",
12423 "format" : "pve-node",
12424 "type" : "string",
12425 "typetext" : "<string>"
12426 },
12427 "ovs_bonds" : {
12428 "description" : "Specify the interfaces used by the bonding device.",
12429 "format" : "pve-iface-list",
12430 "optional" : 1,
12431 "type" : "string",
12432 "typetext" : "<string>"
12433 },
12434 "ovs_bridge" : {
12435 "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
12436 "format" : "pve-iface",
12437 "optional" : 1,
12438 "type" : "string",
12439 "typetext" : "<string>"
12440 },
12441 "ovs_options" : {
12442 "description" : "OVS interface options.",
12443 "maxLength" : 1024,
12444 "optional" : 1,
12445 "type" : "string",
12446 "typetext" : "<string>"
12447 },
12448 "ovs_ports" : {
d8212759 12449 "description" : "Specify the interfaces you want to add to your bridge.",
410dc2c9
DM
12450 "format" : "pve-iface-list",
12451 "optional" : 1,
12452 "type" : "string",
12453 "typetext" : "<string>"
12454 },
12455 "ovs_tag" : {
12456 "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
12457 "maximum" : 4094,
12458 "minimum" : 1,
12459 "optional" : 1,
12460 "type" : "integer",
12461 "typetext" : "<integer> (1 - 4094)"
12462 },
12463 "slaves" : {
12464 "description" : "Specify the interfaces used by the bonding device.",
12465 "format" : "pve-iface-list",
12466 "optional" : 1,
12467 "type" : "string",
12468 "typetext" : "<string>"
12469 },
12470 "type" : {
12471 "description" : "Network interface type",
12472 "enum" : [
12473 "bridge",
12474 "bond",
12475 "eth",
12476 "alias",
12477 "vlan",
12478 "OVSBridge",
12479 "OVSBond",
12480 "OVSPort",
12481 "OVSIntPort",
12482 "unknown"
12483 ],
12484 "type" : "string"
6bd70b95
TL
12485 },
12486 "vlan-id" : {
12487 "description" : "vlan-id for a custom named vlan interface (ifupdown2 only).",
12488 "maximum" : 4094,
12489 "minimum" : 1,
12490 "optional" : 1,
12491 "type" : "integer",
12492 "typetext" : "<integer> (1 - 4094)"
12493 },
12494 "vlan-raw-device" : {
12495 "description" : "Specify the raw interface for the vlan interface.",
12496 "format" : "pve-iface",
12497 "optional" : 1,
12498 "type" : "string",
12499 "typetext" : "<string>"
410dc2c9
DM
12500 }
12501 }
12502 },
12503 "protected" : 1,
12504 "proxyto" : "node",
12505 "returns" : {
12506 "type" : "null"
12507 }
e0e71e6a
TL
12508 },
12509 "PUT" : {
12510 "allowtoken" : 1,
12511 "description" : "Reload network configuration",
12512 "method" : "PUT",
12513 "name" : "reload_network_config",
12514 "parameters" : {
12515 "additionalProperties" : 0,
12516 "properties" : {
12517 "node" : {
12518 "description" : "The cluster node name.",
12519 "format" : "pve-node",
12520 "type" : "string",
12521 "typetext" : "<string>"
12522 }
12523 }
12524 },
12525 "protected" : 1,
12526 "proxyto" : "node",
12527 "returns" : {
12528 "type" : "string"
12529 }
410dc2c9
DM
12530 }
12531 },
12532 "leaf" : 0,
12533 "path" : "/nodes/{node}/network",
12534 "text" : "network"
12535 },
12536 {
12537 "children" : [
12538 {
12539 "children" : [
12540 {
12541 "info" : {
12542 "GET" : {
6bd70b95 12543 "allowtoken" : 1,
410dc2c9
DM
12544 "description" : "Read task log.",
12545 "method" : "GET",
12546 "name" : "read_task_log",
12547 "parameters" : {
12548 "additionalProperties" : 0,
12549 "properties" : {
12550 "limit" : {
12551 "minimum" : 0,
12552 "optional" : 1,
12553 "type" : "integer",
12554 "typetext" : "<integer> (0 - N)"
12555 },
12556 "node" : {
12557 "description" : "The cluster node name.",
12558 "format" : "pve-node",
12559 "type" : "string",
12560 "typetext" : "<string>"
12561 },
12562 "start" : {
12563 "minimum" : 0,
12564 "optional" : 1,
12565 "type" : "integer",
12566 "typetext" : "<integer> (0 - N)"
12567 },
12568 "upid" : {
12569 "type" : "string",
12570 "typetext" : "<string>"
12571 }
12572 }
12573 },
732d76e1
DM
12574 "permissions" : {
12575 "check" : [
12576 "admin",
12577 "audit"
12578 ]
12579 },
410dc2c9
DM
12580 "protected" : 1,
12581 "proxyto" : "node",
12582 "returns" : {
12583 "items" : {
12584 "properties" : {
12585 "n" : {
12586 "description" : "Line number",
12587 "type" : "integer"
12588 },
12589 "t" : {
12590 "description" : "Line text",
12591 "type" : "string"
12592 }
12593 },
12594 "type" : "object"
12595 },
12596 "type" : "array"
12597 }
12598 }
12599 },
12600 "leaf" : 1,
12601 "path" : "/nodes/{node}/tasks/{upid}/log",
12602 "text" : "log"
12603 },
12604 {
12605 "info" : {
12606 "GET" : {
6bd70b95 12607 "allowtoken" : 1,
410dc2c9
DM
12608 "description" : "Read task status.",
12609 "method" : "GET",
12610 "name" : "read_task_status",
12611 "parameters" : {
12612 "additionalProperties" : 0,
12613 "properties" : {
12614 "node" : {
12615 "description" : "The cluster node name.",
12616 "format" : "pve-node",
12617 "type" : "string",
12618 "typetext" : "<string>"
12619 },
12620 "upid" : {
12621 "type" : "string",
12622 "typetext" : "<string>"
12623 }
12624 }
12625 },
732d76e1
DM
12626 "permissions" : {
12627 "check" : [
12628 "admin",
12629 "audit"
12630 ]
12631 },
410dc2c9
DM
12632 "protected" : 1,
12633 "proxyto" : "node",
12634 "returns" : {
12635 "properties" : {
12636 "pid" : {
12637 "type" : "integer"
12638 },
12639 "status" : {
12640 "enum" : [
12641 "running",
12642 "stopped"
12643 ],
12644 "type" : "string"
12645 }
12646 },
12647 "type" : "object"
12648 }
12649 }
12650 },
12651 "leaf" : 1,
12652 "path" : "/nodes/{node}/tasks/{upid}/status",
12653 "text" : "status"
12654 }
12655 ],
12656 "info" : {
12657 "DELETE" : {
6bd70b95 12658 "allowtoken" : 1,
410dc2c9
DM
12659 "description" : "Stop a task.",
12660 "method" : "DELETE",
12661 "name" : "stop_task",
12662 "parameters" : {
12663 "additionalProperties" : 0,
12664 "properties" : {
12665 "node" : {
12666 "description" : "The cluster node name.",
12667 "format" : "pve-node",
12668 "type" : "string",
12669 "typetext" : "<string>"
12670 },
12671 "upid" : {
12672 "type" : "string",
12673 "typetext" : "<string>"
12674 }
12675 }
12676 },
732d76e1
DM
12677 "permissions" : {
12678 "check" : [
12679 "admin"
12680 ]
12681 },
410dc2c9
DM
12682 "protected" : 1,
12683 "proxyto" : "node",
12684 "returns" : {
12685 "type" : "null"
12686 }
12687 },
12688 "GET" : {
6bd70b95 12689 "allowtoken" : 1,
410dc2c9
DM
12690 "description" : "",
12691 "method" : "GET",
12692 "name" : "upid_index",
12693 "parameters" : {
12694 "additionalProperties" : 0,
12695 "properties" : {
12696 "node" : {
12697 "description" : "The cluster node name.",
12698 "format" : "pve-node",
12699 "type" : "string",
12700 "typetext" : "<string>"
12701 },
12702 "upid" : {
12703 "type" : "string",
12704 "typetext" : "<string>"
12705 }
12706 }
12707 },
732d76e1
DM
12708 "permissions" : {
12709 "check" : [
12710 "admin",
12711 "audit"
12712 ]
12713 },
410dc2c9
DM
12714 "returns" : {
12715 "items" : {
12716 "properties" : {},
12717 "type" : "object"
12718 },
12719 "links" : [
12720 {
12721 "href" : "{name}",
12722 "rel" : "child"
12723 }
12724 ],
12725 "type" : "array"
12726 }
12727 }
12728 },
12729 "leaf" : 0,
12730 "path" : "/nodes/{node}/tasks/{upid}",
12731 "text" : "{upid}"
12732 }
12733 ],
12734 "info" : {
12735 "GET" : {
6bd70b95 12736 "allowtoken" : 1,
410dc2c9
DM
12737 "description" : "Read task list for one node (finished tasks).",
12738 "method" : "GET",
12739 "name" : "node_tasks",
12740 "parameters" : {
12741 "additionalProperties" : 0,
12742 "properties" : {
12743 "errors" : {
12744 "optional" : 1,
12745 "type" : "boolean",
12746 "typetext" : "<boolean>"
12747 },
12748 "limit" : {
12749 "minimum" : 0,
12750 "optional" : 1,
12751 "type" : "integer",
12752 "typetext" : "<integer> (0 - N)"
12753 },
12754 "node" : {
12755 "description" : "The cluster node name.",
12756 "format" : "pve-node",
12757 "type" : "string",
12758 "typetext" : "<string>"
12759 },
14ffe66b
TL
12760 "since" : {
12761 "description" : "Only list tasks since this UNIX epoch.",
12762 "optional" : 1,
12763 "type" : "integer",
12764 "typetext" : "<integer>"
12765 },
410dc2c9
DM
12766 "start" : {
12767 "minimum" : 0,
12768 "optional" : 1,
12769 "type" : "integer",
12770 "typetext" : "<integer> (0 - N)"
12771 },
14ffe66b
TL
12772 "statusfilter" : {
12773 "description" : "List of Task States that should be returned.",
12774 "format" : "pve-task-status-type-list",
12775 "optional" : 1,
12776 "type" : "string",
12777 "typetext" : "<string>"
12778 },
12779 "typefilter" : {
12780 "description" : "Only list tasks of this type (e.g., aptupdate, saupdate).",
12781 "optional" : 1,
12782 "type" : "string",
12783 "typetext" : "<string>"
12784 },
12785 "until" : {
12786 "description" : "Only list tasks until this UNIX epoch.",
12787 "optional" : 1,
12788 "type" : "integer",
12789 "typetext" : "<integer>"
12790 },
410dc2c9
DM
12791 "userfilter" : {
12792 "optional" : 1,
12793 "type" : "string",
12794 "typetext" : "<string>"
12795 }
12796 }
12797 },
732d76e1
DM
12798 "permissions" : {
12799 "check" : [
12800 "admin",
12801 "audit"
12802 ]
12803 },
410dc2c9
DM
12804 "proxyto" : "node",
12805 "returns" : {
12806 "items" : {
12807 "properties" : {
12808 "upid" : {
12809 "type" : "string"
12810 }
12811 },
12812 "type" : "object"
12813 },
12814 "links" : [
12815 {
12816 "href" : "{upid}",
12817 "rel" : "child"
12818 }
12819 ],
12820 "type" : "array"
12821 }
12822 }
12823 },
12824 "leaf" : 0,
12825 "path" : "/nodes/{node}/tasks",
12826 "text" : "tasks"
12827 },
12828 {
12829 "children" : [
12830 {
12831 "children" : [
12832 {
12833 "info" : {
12834 "GET" : {
6bd70b95 12835 "allowtoken" : 1,
410dc2c9
DM
12836 "description" : "Read service properties",
12837 "method" : "GET",
12838 "name" : "service_state",
12839 "parameters" : {
12840 "additionalProperties" : 0,
12841 "properties" : {
12842 "node" : {
12843 "description" : "The cluster node name.",
12844 "format" : "pve-node",
12845 "type" : "string",
12846 "typetext" : "<string>"
12847 },
12848 "service" : {
12849 "description" : "Service ID",
12850 "enum" : [
a55e94a6
DM
12851 "clamav-daemon",
12852 "clamav-freshclam",
732d76e1 12853 "fetchmail",
410dc2c9
DM
12854 "pmgproxy",
12855 "pmgdaemon",
a55e94a6 12856 "pmgpolicy",
410dc2c9 12857 "pmg-smtp-filter",
d7cd791b
DM
12858 "pmgtunnel",
12859 "pmgmirror",
12860 "ssh",
12861 "rsyslog",
410dc2c9 12862 "postfix",
d7cd791b 12863 "postgres",
a55e94a6
DM
12864 "systemd-timesyncd",
12865 "pmg-hourly",
d7cd791b 12866 "pmg-daily",
9fda36b0 12867 "pmgreport",
e0e71e6a
TL
12868 "pmgspamreport",
12869 "chrony"
410dc2c9
DM
12870 ],
12871 "type" : "string"
12872 }
12873 }
12874 },
732d76e1
DM
12875 "permissions" : {
12876 "check" : [
12877 "admin",
12878 "audit"
12879 ]
12880 },
410dc2c9
DM
12881 "protected" : 1,
12882 "proxyto" : "node",
12883 "returns" : {
410dc2c9
DM
12884 "type" : "object"
12885 }
12886 }
12887 },
12888 "leaf" : 1,
12889 "path" : "/nodes/{node}/services/{service}/state",
12890 "text" : "state"
12891 },
12892 {
12893 "info" : {
12894 "POST" : {
6bd70b95 12895 "allowtoken" : 1,
410dc2c9
DM
12896 "description" : "Start service.",
12897 "method" : "POST",
12898 "name" : "service_start",
12899 "parameters" : {
12900 "additionalProperties" : 0,
12901 "properties" : {
12902 "node" : {
12903 "description" : "The cluster node name.",
12904 "format" : "pve-node",
12905 "type" : "string",
12906 "typetext" : "<string>"
12907 },
12908 "service" : {
12909 "description" : "Service ID",
12910 "enum" : [
a55e94a6
DM
12911 "clamav-daemon",
12912 "clamav-freshclam",
732d76e1 12913 "fetchmail",
410dc2c9
DM
12914 "pmgproxy",
12915 "pmgdaemon",
a55e94a6 12916 "pmgpolicy",
410dc2c9 12917 "pmg-smtp-filter",
d7cd791b
DM
12918 "pmgtunnel",
12919 "pmgmirror",
12920 "ssh",
12921 "rsyslog",
410dc2c9 12922 "postfix",
d7cd791b 12923 "postgres",
a55e94a6
DM
12924 "systemd-timesyncd",
12925 "pmg-hourly",
d7cd791b 12926 "pmg-daily",
9fda36b0 12927 "pmgreport",
e0e71e6a
TL
12928 "pmgspamreport",
12929 "chrony"
410dc2c9
DM
12930 ],
12931 "type" : "string"
12932 }
12933 }
12934 },
732d76e1
DM
12935 "permissions" : {
12936 "check" : [
12937 "admin"
12938 ]
12939 },
410dc2c9
DM
12940 "protected" : 1,
12941 "proxyto" : "node",
12942 "returns" : {
12943 "type" : "string"
12944 }
12945 }
12946 },
12947 "leaf" : 1,
12948 "path" : "/nodes/{node}/services/{service}/start",
12949 "text" : "start"
12950 },
12951 {
12952 "info" : {
12953 "POST" : {
6bd70b95 12954 "allowtoken" : 1,
410dc2c9
DM
12955 "description" : "Stop service.",
12956 "method" : "POST",
12957 "name" : "service_stop",
12958 "parameters" : {
12959 "additionalProperties" : 0,
12960 "properties" : {
12961 "node" : {
12962 "description" : "The cluster node name.",
12963 "format" : "pve-node",
12964 "type" : "string",
12965 "typetext" : "<string>"
12966 },
12967 "service" : {
12968 "description" : "Service ID",
12969 "enum" : [
a55e94a6
DM
12970 "clamav-daemon",
12971 "clamav-freshclam",
732d76e1 12972 "fetchmail",
410dc2c9
DM
12973 "pmgproxy",
12974 "pmgdaemon",
a55e94a6 12975 "pmgpolicy",
410dc2c9 12976 "pmg-smtp-filter",
d7cd791b
DM
12977 "pmgtunnel",
12978 "pmgmirror",
12979 "ssh",
12980 "rsyslog",
410dc2c9 12981 "postfix",
d7cd791b 12982 "postgres",
a55e94a6
DM
12983 "systemd-timesyncd",
12984 "pmg-hourly",
d7cd791b 12985 "pmg-daily",
9fda36b0 12986 "pmgreport",
e0e71e6a
TL
12987 "pmgspamreport",
12988 "chrony"
410dc2c9
DM
12989 ],
12990 "type" : "string"
12991 }
12992 }
12993 },
732d76e1
DM
12994 "permissions" : {
12995 "check" : [
12996 "admin"
12997 ]
12998 },
410dc2c9
DM
12999 "protected" : 1,
13000 "proxyto" : "node",
13001 "returns" : {
13002 "type" : "string"
13003 }
13004 }
13005 },
13006 "leaf" : 1,
13007 "path" : "/nodes/{node}/services/{service}/stop",
13008 "text" : "stop"
13009 },
13010 {
13011 "info" : {
13012 "POST" : {
6bd70b95 13013 "allowtoken" : 1,
410dc2c9
DM
13014 "description" : "Restart service.",
13015 "method" : "POST",
13016 "name" : "service_restart",
13017 "parameters" : {
13018 "additionalProperties" : 0,
13019 "properties" : {
13020 "node" : {
13021 "description" : "The cluster node name.",
13022 "format" : "pve-node",
13023 "type" : "string",
13024 "typetext" : "<string>"
13025 },
13026 "service" : {
13027 "description" : "Service ID",
13028 "enum" : [
a55e94a6
DM
13029 "clamav-daemon",
13030 "clamav-freshclam",
732d76e1 13031 "fetchmail",
410dc2c9
DM
13032 "pmgproxy",
13033 "pmgdaemon",
a55e94a6 13034 "pmgpolicy",
410dc2c9 13035 "pmg-smtp-filter",
d7cd791b
DM
13036 "pmgtunnel",
13037 "pmgmirror",
13038 "ssh",
13039 "rsyslog",
410dc2c9 13040 "postfix",
d7cd791b 13041 "postgres",
a55e94a6
DM
13042 "systemd-timesyncd",
13043 "pmg-hourly",
d7cd791b 13044 "pmg-daily",
9fda36b0 13045 "pmgreport",
e0e71e6a
TL
13046 "pmgspamreport",
13047 "chrony"
410dc2c9
DM
13048 ],
13049 "type" : "string"
13050 }
13051 }
13052 },
732d76e1
DM
13053 "permissions" : {
13054 "check" : [
13055 "admin"
13056 ]
13057 },
410dc2c9
DM
13058 "protected" : 1,
13059 "proxyto" : "node",
13060 "returns" : {
13061 "type" : "string"
13062 }
13063 }
13064 },
13065 "leaf" : 1,
13066 "path" : "/nodes/{node}/services/{service}/restart",
13067 "text" : "restart"
13068 },
13069 {
13070 "info" : {
13071 "POST" : {
6bd70b95 13072 "allowtoken" : 1,
410dc2c9
DM
13073 "description" : "Reload service.",
13074 "method" : "POST",
13075 "name" : "service_reload",
13076 "parameters" : {
13077 "additionalProperties" : 0,
13078 "properties" : {
13079 "node" : {
13080 "description" : "The cluster node name.",
13081 "format" : "pve-node",
13082 "type" : "string",
13083 "typetext" : "<string>"
13084 },
13085 "service" : {
13086 "description" : "Service ID",
13087 "enum" : [
a55e94a6
DM
13088 "clamav-daemon",
13089 "clamav-freshclam",
732d76e1 13090 "fetchmail",
410dc2c9
DM
13091 "pmgproxy",
13092 "pmgdaemon",
a55e94a6 13093 "pmgpolicy",
410dc2c9 13094 "pmg-smtp-filter",
d7cd791b
DM
13095 "pmgtunnel",
13096 "pmgmirror",
13097 "ssh",
13098 "rsyslog",
410dc2c9 13099 "postfix",
d7cd791b 13100 "postgres",
a55e94a6
DM
13101 "systemd-timesyncd",
13102 "pmg-hourly",
d7cd791b 13103 "pmg-daily",
9fda36b0 13104 "pmgreport",
e0e71e6a
TL
13105 "pmgspamreport",
13106 "chrony"
410dc2c9
DM
13107 ],
13108 "type" : "string"
13109 }
13110 }
13111 },
732d76e1
DM
13112 "permissions" : {
13113 "check" : [
13114 "admin"
13115 ]
13116 },
410dc2c9
DM
13117 "protected" : 1,
13118 "proxyto" : "node",
13119 "returns" : {
13120 "type" : "string"
13121 }
13122 }
13123 },
13124 "leaf" : 1,
13125 "path" : "/nodes/{node}/services/{service}/reload",
13126 "text" : "reload"
13127 }
13128 ],
13129 "info" : {
13130 "GET" : {
6bd70b95 13131 "allowtoken" : 1,
410dc2c9
DM
13132 "description" : "Directory index",
13133 "method" : "GET",
13134 "name" : "srvcmdidx",
13135 "parameters" : {
13136 "additionalProperties" : 0,
13137 "properties" : {
13138 "node" : {
13139 "description" : "The cluster node name.",
13140 "format" : "pve-node",
13141 "type" : "string",
13142 "typetext" : "<string>"
13143 },
13144 "service" : {
13145 "description" : "Service ID",
13146 "enum" : [
a55e94a6
DM
13147 "clamav-daemon",
13148 "clamav-freshclam",
732d76e1 13149 "fetchmail",
410dc2c9
DM
13150 "pmgproxy",
13151 "pmgdaemon",
a55e94a6 13152 "pmgpolicy",
410dc2c9 13153 "pmg-smtp-filter",
d7cd791b
DM
13154 "pmgtunnel",
13155 "pmgmirror",
13156 "ssh",
13157 "rsyslog",
410dc2c9 13158 "postfix",
d7cd791b 13159 "postgres",
a55e94a6
DM
13160 "systemd-timesyncd",
13161 "pmg-hourly",
d7cd791b 13162 "pmg-daily",
9fda36b0 13163 "pmgreport",
e0e71e6a
TL
13164 "pmgspamreport",
13165 "chrony"
410dc2c9
DM
13166 ],
13167 "type" : "string"
13168 }
13169 }
13170 },
732d76e1
DM
13171 "permissions" : {
13172 "check" : [
13173 "admin",
13174 "audit"
13175 ]
13176 },
410dc2c9
DM
13177 "returns" : {
13178 "items" : {
13179 "properties" : {
13180 "subdir" : {
13181 "type" : "string"
13182 }
13183 },
13184 "type" : "object"
13185 },
13186 "links" : [
13187 {
13188 "href" : "{subdir}",
13189 "rel" : "child"
13190 }
13191 ],
13192 "type" : "array"
13193 }
13194 }
13195 },
9fda36b0
DM
13196 "leaf" : 0,
13197 "path" : "/nodes/{node}/services/{service}",
13198 "text" : "{service}"
13199 }
13200 ],
13201 "info" : {
13202 "GET" : {
6bd70b95 13203 "allowtoken" : 1,
9fda36b0
DM
13204 "description" : "Service list.",
13205 "method" : "GET",
13206 "name" : "index",
13207 "parameters" : {
13208 "additionalProperties" : 0,
13209 "properties" : {
13210 "node" : {
13211 "description" : "The cluster node name.",
13212 "format" : "pve-node",
13213 "type" : "string",
13214 "typetext" : "<string>"
13215 }
13216 }
13217 },
732d76e1
DM
13218 "permissions" : {
13219 "check" : [
13220 "admin",
13221 "audit"
13222 ]
13223 },
9fda36b0
DM
13224 "protected" : 1,
13225 "proxyto" : "node",
13226 "returns" : {
13227 "items" : {
13228 "properties" : {},
13229 "type" : "object"
13230 },
13231 "links" : [
13232 {
13233 "href" : "{service}",
13234 "rel" : "child"
13235 }
13236 ],
13237 "type" : "array"
13238 }
13239 }
13240 },
13241 "leaf" : 0,
13242 "path" : "/nodes/{node}/services",
13243 "text" : "services"
13244 },
13245 {
13246 "info" : {
ab2b846b
TL
13247 "DELETE" : {
13248 "allowtoken" : 1,
13249 "description" : "Delete subscription key.",
13250 "method" : "DELETE",
13251 "name" : "delete",
13252 "parameters" : {
13253 "additionalProperties" : 0,
13254 "properties" : {
13255 "node" : {
13256 "description" : "The cluster node name.",
13257 "format" : "pve-node",
13258 "type" : "string",
13259 "typetext" : "<string>"
13260 }
13261 }
13262 },
13263 "protected" : 1,
13264 "proxyto" : "node",
13265 "returns" : {
13266 "type" : "null"
13267 }
13268 },
9fda36b0 13269 "GET" : {
6bd70b95 13270 "allowtoken" : 1,
9fda36b0
DM
13271 "description" : "Read subscription info.",
13272 "method" : "GET",
13273 "name" : "get",
13274 "parameters" : {
13275 "additionalProperties" : 0,
13276 "properties" : {
13277 "node" : {
13278 "description" : "The cluster node name.",
13279 "format" : "pve-node",
13280 "type" : "string",
13281 "typetext" : "<string>"
13282 }
13283 }
13284 },
13285 "permissions" : {
13286 "check" : [
13287 "admin",
13288 "qmanager",
13289 "audit",
13290 "quser"
13291 ]
13292 },
13293 "proxyto" : "node",
13294 "returns" : {
13295 "type" : "object"
13296 }
732d76e1
DM
13297 },
13298 "POST" : {
6bd70b95 13299 "allowtoken" : 1,
732d76e1
DM
13300 "description" : "Update subscription info.",
13301 "method" : "POST",
13302 "name" : "update",
13303 "parameters" : {
13304 "additionalProperties" : 0,
13305 "properties" : {
13306 "force" : {
13307 "default" : 0,
13308 "description" : "Always connect to server, even if we have up to date info inside local cache.",
13309 "optional" : 1,
13310 "type" : "boolean",
13311 "typetext" : "<boolean>"
13312 },
13313 "node" : {
13314 "description" : "The cluster node name.",
13315 "format" : "pve-node",
13316 "type" : "string",
13317 "typetext" : "<string>"
13318 }
13319 }
13320 },
13321 "permissions" : {
13322 "check" : [
13323 "admin"
13324 ]
13325 },
13326 "protected" : 1,
13327 "proxyto" : "node",
13328 "returns" : {
13329 "type" : "null"
13330 }
13331 },
13332 "PUT" : {
6bd70b95 13333 "allowtoken" : 1,
732d76e1
DM
13334 "description" : "Set subscription key.",
13335 "method" : "PUT",
13336 "name" : "set",
13337 "parameters" : {
13338 "additionalProperties" : 0,
13339 "properties" : {
13340 "key" : {
13341 "description" : "Proxmox Mail Gateway subscription key",
13342 "maxLength" : 32,
13343 "pattern" : "pmg([cbsp])-[0-9a-f]{10}",
13344 "type" : "string"
13345 },
13346 "node" : {
13347 "description" : "The cluster node name.",
13348 "format" : "pve-node",
13349 "type" : "string",
13350 "typetext" : "<string>"
13351 }
13352 }
13353 },
13354 "protected" : 1,
13355 "proxyto" : "node",
13356 "returns" : {
13357 "type" : "null"
13358 }
9fda36b0
DM
13359 }
13360 },
13361 "leaf" : 1,
13362 "path" : "/nodes/{node}/subscription",
13363 "text" : "subscription"
13364 },
13365 {
13366 "children" : [
13367 {
13368 "info" : {
13369 "GET" : {
6bd70b95 13370 "allowtoken" : 1,
9fda36b0
DM
13371 "description" : "List available updates.",
13372 "method" : "GET",
13373 "name" : "list_updates",
13374 "parameters" : {
13375 "additionalProperties" : 0,
13376 "properties" : {
13377 "node" : {
13378 "description" : "The cluster node name.",
13379 "format" : "pve-node",
13380 "type" : "string",
13381 "typetext" : "<string>"
13382 }
13383 }
13384 },
732d76e1
DM
13385 "permissions" : {
13386 "check" : [
13387 "admin",
13388 "audit"
13389 ]
13390 },
9fda36b0
DM
13391 "protected" : 1,
13392 "proxyto" : "node",
13393 "returns" : {
13394 "items" : {
13395 "properties" : {},
13396 "type" : "object"
13397 },
13398 "type" : "array"
13399 }
13400 },
13401 "POST" : {
6bd70b95 13402 "allowtoken" : 1,
9fda36b0
DM
13403 "description" : "This is used to resynchronize the package index files from their sources (apt-get update).",
13404 "method" : "POST",
13405 "name" : "update_database",
13406 "parameters" : {
13407 "additionalProperties" : 0,
13408 "properties" : {
13409 "node" : {
13410 "description" : "The cluster node name.",
13411 "format" : "pve-node",
13412 "type" : "string",
13413 "typetext" : "<string>"
13414 },
13415 "notify" : {
13416 "default" : 0,
13417 "description" : "Send notification mail about new packages (to email address specified for user 'root@pam').",
13418 "optional" : 1,
13419 "type" : "boolean",
13420 "typetext" : "<boolean>"
13421 },
13422 "quiet" : {
13423 "default" : 0,
13424 "description" : "Only produces output suitable for logging, omitting progress indicators.",
13425 "optional" : 1,
13426 "type" : "boolean",
13427 "typetext" : "<boolean>"
13428 }
13429 }
13430 },
732d76e1
DM
13431 "permissions" : {
13432 "check" : [
13433 "admin"
13434 ]
13435 },
9fda36b0
DM
13436 "protected" : 1,
13437 "proxyto" : "node",
13438 "returns" : {
13439 "type" : "string"
13440 }
13441 }
13442 },
13443 "leaf" : 1,
13444 "path" : "/nodes/{node}/apt/update",
13445 "text" : "update"
13446 },
13447 {
13448 "info" : {
13449 "GET" : {
6bd70b95 13450 "allowtoken" : 1,
9fda36b0
DM
13451 "description" : "Get package changelogs.",
13452 "method" : "GET",
13453 "name" : "changelog",
13454 "parameters" : {
13455 "additionalProperties" : 0,
13456 "properties" : {
13457 "name" : {
13458 "description" : "Package name.",
13459 "type" : "string",
13460 "typetext" : "<string>"
13461 },
13462 "node" : {
13463 "description" : "The cluster node name.",
13464 "format" : "pve-node",
13465 "type" : "string",
13466 "typetext" : "<string>"
13467 },
13468 "version" : {
13469 "description" : "Package version.",
13470 "optional" : 1,
13471 "type" : "string",
13472 "typetext" : "<string>"
13473 }
13474 }
13475 },
732d76e1
DM
13476 "permissions" : {
13477 "check" : [
13478 "admin",
13479 "audit"
13480 ]
13481 },
9fda36b0
DM
13482 "proxyto" : "node",
13483 "returns" : {
13484 "type" : "string"
13485 }
13486 }
13487 },
13488 "leaf" : 1,
13489 "path" : "/nodes/{node}/apt/changelog",
13490 "text" : "changelog"
13491 },
13492 {
13493 "info" : {
13494 "GET" : {
6bd70b95 13495 "allowtoken" : 1,
e0e71e6a 13496 "description" : "Get APT repository information.",
9fda36b0 13497 "method" : "GET",
e0e71e6a 13498 "name" : "repositories",
9fda36b0
DM
13499 "parameters" : {
13500 "additionalProperties" : 0,
13501 "properties" : {
9fda36b0
DM
13502 "node" : {
13503 "description" : "The cluster node name.",
13504 "format" : "pve-node",
13505 "type" : "string",
13506 "typetext" : "<string>"
9fda36b0
DM
13507 }
13508 }
13509 },
732d76e1
DM
13510 "permissions" : {
13511 "check" : [
13512 "admin",
13513 "audit"
13514 ]
13515 },
9fda36b0
DM
13516 "proxyto" : "node",
13517 "returns" : {
e0e71e6a 13518 "description" : "Result from parsing the APT repository files in /etc/apt/.",
9fda36b0 13519 "properties" : {
e0e71e6a
TL
13520 "digest" : {
13521 "description" : "Common digest of all files.",
9fda36b0
DM
13522 "type" : "string"
13523 },
e0e71e6a
TL
13524 "errors" : {
13525 "description" : "List of problematic repository files.",
13526 "items" : {
13527 "properties" : {
13528 "error" : {
13529 "description" : "The error message",
13530 "type" : "string"
13531 },
13532 "path" : {
13533 "description" : "Path to the problematic file.",
13534 "type" : "string"
13535 }
13536 },
13537 "type" : "object"
13538 },
13539 "type" : "array"
9fda36b0 13540 },
e0e71e6a
TL
13541 "files" : {
13542 "description" : "List of parsed repository files.",
9fda36b0 13543 "items" : {
e0e71e6a
TL
13544 "properties" : {
13545 "digest" : {
13546 "description" : "Digest of the file as bytes.",
13547 "items" : {
13548 "type" : "integer"
13549 },
13550 "type" : "array"
13551 },
13552 "file-type" : {
13553 "description" : "Format of the file.",
13554 "enum" : [
13555 "list",
13556 "sources"
13557 ],
13558 "type" : "string"
13559 },
13560 "path" : {
13561 "description" : "Path to the problematic file.",
13562 "type" : "string"
13563 },
13564 "repositories" : {
13565 "description" : "The parsed repositories.",
13566 "items" : {
13567 "properties" : {
13568 "Comment" : {
13569 "description" : "Associated comment",
13570 "optional" : 1,
13571 "type" : "string"
13572 },
13573 "Components" : {
13574 "description" : "List of repository components",
13575 "items" : {
13576 "type" : "string"
13577 },
13578 "optional" : 1,
13579 "type" : "array"
13580 },
13581 "Enabled" : {
13582 "description" : "Whether the repository is enabled or not",
13583 "type" : "boolean"
13584 },
13585 "FileType" : {
13586 "description" : "Format of the defining file.",
13587 "enum" : [
13588 "list",
13589 "sources"
13590 ],
13591 "type" : "string"
13592 },
13593 "Options" : {
13594 "description" : "Additional options",
13595 "items" : {
13596 "properties" : {
13597 "Key" : {
13598 "type" : "string"
13599 },
13600 "Values" : {
13601 "items" : {
13602 "type" : "string"
13603 },
13604 "type" : "array"
13605 }
13606 },
13607 "type" : "object"
13608 },
13609 "optional" : 1,
13610 "type" : "array"
13611 },
13612 "Suites" : {
13613 "description" : "List of package distribuitions",
13614 "items" : {
13615 "type" : "string"
13616 },
13617 "type" : "array"
13618 },
13619 "Types" : {
13620 "description" : "List of package types.",
13621 "items" : {
13622 "enum" : [
13623 "deb",
13624 "deb-src"
13625 ],
13626 "type" : "string"
13627 },
13628 "type" : "array"
13629 },
13630 "URIs" : {
13631 "description" : "List of repository URIs.",
13632 "items" : {
13633 "type" : "string"
13634 },
13635 "type" : "array"
13636 }
13637 },
13638 "type" : "object"
13639 },
13640 "type" : "array"
13641 }
13642 },
13643 "type" : "object"
9fda36b0
DM
13644 },
13645 "type" : "array"
13646 },
e0e71e6a
TL
13647 "infos" : {
13648 "description" : "Additional information/warnings for APT repositories.",
13649 "items" : {
13650 "properties" : {
13651 "index" : {
13652 "description" : "Index of the associated repository within the file.",
13653 "type" : "string"
13654 },
13655 "kind" : {
13656 "description" : "Kind of the information (e.g. warning).",
13657 "type" : "string"
13658 },
13659 "message" : {
13660 "description" : "Information message.",
13661 "type" : "string"
13662 },
13663 "path" : {
13664 "description" : "Path to the associated file.",
13665 "type" : "string"
13666 },
13667 "property" : {
13668 "description" : "Property from which the info originates.",
13669 "optional" : 1,
13670 "type" : "string"
13671 }
13672 },
13673 "type" : "object"
13674 },
13675 "type" : "array"
9fda36b0 13676 },
e0e71e6a
TL
13677 "standard-repos" : {
13678 "description" : "List of standard repositories and their configuration status",
13679 "items" : {
13680 "properties" : {
13681 "description" : {
13682 "description" : "Description of the repository.",
13683 "type" : "string"
13684 },
13685 "handle" : {
13686 "description" : "Handle to identify the repository.",
13687 "type" : "string"
13688 },
13689 "name" : {
13690 "description" : "Display name of the repository.",
13691 "type" : "string"
13692 },
13693 "status" : {
13694 "description" : "Indicating enabled/disabled status, if the repository is configured.",
13695 "optional" : 1,
13696 "type" : "boolean"
13697 }
13698 },
13699 "type" : "object"
13700 },
13701 "type" : "array"
13702 }
13703 },
13704 "type" : "object"
13705 }
13706 },
13707 "POST" : {
13708 "allowtoken" : 1,
13709 "description" : "Change the properties of a repository. Currently only allows enabling/disabling.",
13710 "method" : "POST",
13711 "name" : "change_repository",
13712 "parameters" : {
13713 "additionalProperties" : 0,
13714 "properties" : {
13715 "digest" : {
13716 "description" : "Digest to detect modifications.",
13717 "maxLength" : 80,
9fda36b0 13718 "optional" : 1,
e0e71e6a
TL
13719 "type" : "string",
13720 "typetext" : "<string>"
9fda36b0 13721 },
e0e71e6a
TL
13722 "enabled" : {
13723 "description" : "Whether the repository should be enabled or not.",
9fda36b0 13724 "optional" : 1,
e0e71e6a
TL
13725 "type" : "boolean",
13726 "typetext" : "<boolean>"
9fda36b0 13727 },
e0e71e6a
TL
13728 "index" : {
13729 "description" : "Index within the file (starting from 0).",
13730 "type" : "integer",
13731 "typetext" : "<integer>"
9fda36b0 13732 },
e0e71e6a
TL
13733 "node" : {
13734 "description" : "The cluster node name.",
13735 "format" : "pve-node",
13736 "type" : "string",
13737 "typetext" : "<string>"
13738 },
13739 "path" : {
13740 "description" : "Path to the containing file.",
13741 "type" : "string",
13742 "typetext" : "<string>"
13743 }
13744 }
13745 },
13746 "permissions" : {
13747 "check" : [
13748 "admin"
13749 ]
13750 },
13751 "protected" : 1,
13752 "proxyto" : "node",
13753 "returns" : {
13754 "type" : "null"
13755 }
13756 },
13757 "PUT" : {
13758 "allowtoken" : 1,
13759 "description" : "Add a standard repository to the configuration",
13760 "method" : "PUT",
13761 "name" : "add_repository",
13762 "parameters" : {
13763 "additionalProperties" : 0,
13764 "properties" : {
13765 "digest" : {
13766 "description" : "Digest to detect modifications.",
13767 "maxLength" : 80,
9fda36b0 13768 "optional" : 1,
e0e71e6a
TL
13769 "type" : "string",
13770 "typetext" : "<string>"
9fda36b0 13771 },
e0e71e6a
TL
13772 "handle" : {
13773 "description" : "Handle that identifies a repository.",
13774 "type" : "string",
13775 "typetext" : "<string>"
9fda36b0 13776 },
e0e71e6a
TL
13777 "node" : {
13778 "description" : "The cluster node name.",
13779 "format" : "pve-node",
13780 "type" : "string",
13781 "typetext" : "<string>"
13782 }
13783 }
13784 },
13785 "permissions" : {
13786 "check" : [
13787 "admin"
13788 ]
13789 },
13790 "protected" : 1,
13791 "proxyto" : "node",
13792 "returns" : {
13793 "type" : "null"
13794 }
13795 }
13796 },
13797 "leaf" : 1,
13798 "path" : "/nodes/{node}/apt/repositories",
13799 "text" : "repositories"
13800 },
13801 {
13802 "info" : {
13803 "GET" : {
13804 "allowtoken" : 1,
13805 "description" : "Get package information for important Proxmox packages.",
13806 "method" : "GET",
13807 "name" : "versions",
13808 "parameters" : {
13809 "additionalProperties" : 0,
13810 "properties" : {
13811 "node" : {
13812 "description" : "The cluster node name.",
13813 "format" : "pve-node",
13814 "type" : "string",
13815 "typetext" : "<string>"
9fda36b0 13816 }
e0e71e6a
TL
13817 }
13818 },
13819 "permissions" : {
13820 "check" : [
13821 "admin",
13822 "audit"
13823 ]
13824 },
13825 "proxyto" : "node",
13826 "returns" : {
13827 "items" : {
13828 "properties" : {},
13829 "type" : "object"
9fda36b0 13830 },
e0e71e6a 13831 "type" : "array"
9fda36b0
DM
13832 }
13833 }
13834 },
13835 "leaf" : 1,
e0e71e6a
TL
13836 "path" : "/nodes/{node}/apt/versions",
13837 "text" : "versions"
9fda36b0
DM
13838 }
13839 ],
13840 "info" : {
13841 "GET" : {
6bd70b95 13842 "allowtoken" : 1,
e0e71e6a 13843 "description" : "Directory index for apt (Advanced Package Tool).",
9fda36b0 13844 "method" : "GET",
e0e71e6a 13845 "name" : "index",
9fda36b0
DM
13846 "parameters" : {
13847 "additionalProperties" : 0,
13848 "properties" : {
9fda36b0
DM
13849 "node" : {
13850 "description" : "The cluster node name.",
13851 "format" : "pve-node",
13852 "type" : "string",
13853 "typetext" : "<string>"
9fda36b0
DM
13854 }
13855 }
13856 },
732d76e1 13857 "permissions" : {
e0e71e6a
TL
13858 "user" : "all"
13859 },
13860 "returns" : {
13861 "items" : {
13862 "properties" : {
13863 "id" : {
13864 "type" : "string"
13865 }
13866 },
13867 "type" : "object"
13868 },
13869 "links" : [
13870 {
13871 "href" : "{id}",
13872 "rel" : "child"
13873 }
13874 ],
13875 "type" : "array"
13876 }
13877 }
13878 },
13879 "leaf" : 0,
13880 "path" : "/nodes/{node}/apt",
13881 "text" : "apt"
13882 },
13883 {
13884 "children" : [
13885 {
13886 "info" : {
13887 "GET" : {
13888 "allowtoken" : 1,
13889 "description" : "Get the detailed syslog entries for a specific mail ID.",
13890 "method" : "GET",
13891 "name" : "maillog",
13892 "parameters" : {
13893 "additionalProperties" : 0,
13894 "properties" : {
13895 "endtime" : {
13896 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
13897 "minimum" : 1,
13898 "optional" : 1,
13899 "type" : "integer",
13900 "typetext" : "<integer> (1 - N)"
13901 },
13902 "id" : {
13903 "description" : "Mail ID (as returned by the list API).",
13904 "maxLength" : 64,
13905 "minLength" : 3,
13906 "type" : "string",
13907 "typetext" : "<string>"
13908 },
13909 "node" : {
13910 "description" : "The cluster node name.",
13911 "format" : "pve-node",
13912 "type" : "string",
13913 "typetext" : "<string>"
13914 },
13915 "starttime" : {
13916 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
13917 "minimum" : 0,
13918 "optional" : 1,
13919 "type" : "integer",
13920 "typetext" : "<integer> (0 - N)"
13921 }
13922 }
13923 },
13924 "permissions" : {
13925 "check" : [
13926 "admin",
13927 "audit"
13928 ]
13929 },
13930 "protected" : 1,
13931 "proxyto" : "node",
13932 "returns" : {
13933 "properties" : {
13934 "client" : {
13935 "description" : "Client address",
13936 "optional" : 1,
13937 "type" : "string"
13938 },
13939 "dstatus" : {
13940 "description" : "Delivery status.",
13941 "maxLength" : 1,
13942 "minLength" : 1,
13943 "type" : "string"
13944 },
13945 "from" : {
13946 "description" : "Sender email address.",
13947 "type" : "string"
13948 },
13949 "id" : {
13950 "description" : "Unique ID.",
13951 "type" : "string"
13952 },
13953 "logs" : {
13954 "items" : {
13955 "type" : "string"
13956 },
13957 "type" : "array"
13958 },
13959 "msgid" : {
13960 "description" : "SMTP message ID.",
13961 "optional" : 1,
13962 "type" : "string"
13963 },
13964 "qid" : {
13965 "description" : "Postfix qmgr ID.",
13966 "optional" : 1,
13967 "type" : "string"
13968 },
13969 "relay" : {
13970 "description" : "ID of relayed mail.",
13971 "optional" : 1,
13972 "type" : "string"
13973 },
13974 "rstatus" : {
13975 "description" : "Delivery status of relayed mail.",
13976 "maxLength" : 1,
13977 "minLength" : 1,
13978 "optional" : 1,
13979 "type" : "string"
13980 },
13981 "size" : {
13982 "description" : "The size of the raw email.",
13983 "optional" : 1,
13984 "type" : "number"
13985 },
13986 "time" : {
13987 "description" : "Delivery timestamp.",
13988 "type" : "integer"
13989 },
13990 "to" : {
13991 "description" : "Receiver email address.",
13992 "type" : "string"
13993 }
13994 },
13995 "type" : "object"
13996 }
13997 }
13998 },
13999 "leaf" : 1,
14000 "path" : "/nodes/{node}/tracker/{id}",
14001 "text" : "{id}"
14002 }
14003 ],
14004 "info" : {
14005 "GET" : {
14006 "allowtoken" : 1,
14007 "description" : "Read mail list.",
14008 "method" : "GET",
14009 "name" : "list_mails",
14010 "parameters" : {
14011 "additionalProperties" : 0,
14012 "properties" : {
14013 "endtime" : {
14014 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
14015 "minimum" : 1,
14016 "optional" : 1,
14017 "type" : "integer",
14018 "typetext" : "<integer> (1 - N)"
14019 },
14020 "from" : {
14021 "description" : "Sender email address filter.",
14022 "maxLength" : 256,
14023 "minLength" : 1,
14024 "optional" : 1,
14025 "type" : "string",
14026 "typetext" : "<string>"
14027 },
14028 "greylist" : {
14029 "default" : 0,
14030 "description" : "Include Greylisted entries.",
14031 "optional" : 1,
14032 "type" : "boolean",
14033 "typetext" : "<boolean>"
14034 },
14035 "ndr" : {
14036 "default" : 0,
14037 "description" : "Include NDRs (non delivery reports).",
14038 "optional" : 1,
14039 "type" : "boolean",
14040 "typetext" : "<boolean>"
14041 },
14042 "node" : {
14043 "description" : "The cluster node name.",
14044 "format" : "pve-node",
14045 "type" : "string",
14046 "typetext" : "<string>"
14047 },
14048 "starttime" : {
14049 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
14050 "minimum" : 0,
14051 "optional" : 1,
14052 "type" : "integer",
14053 "typetext" : "<integer> (0 - N)"
14054 },
14055 "target" : {
14056 "description" : "Receiver email address filter.",
14057 "maxLength" : 256,
14058 "minLength" : 1,
14059 "optional" : 1,
14060 "type" : "string",
14061 "typetext" : "<string>"
14062 },
14063 "xfilter" : {
14064 "description" : "Only include mails containing this filter string.",
14065 "maxLength" : 256,
14066 "minLength" : 1,
14067 "optional" : 1,
14068 "type" : "string",
14069 "typetext" : "<string>"
14070 }
14071 }
14072 },
14073 "permissions" : {
14074 "check" : [
732d76e1
DM
14075 "admin",
14076 "audit"
14077 ]
14078 },
9fda36b0
DM
14079 "protected" : 1,
14080 "proxyto" : "node",
14081 "returns" : {
14082 "items" : {
14083 "properties" : {
14084 "client" : {
14085 "description" : "Client address",
14086 "optional" : 1,
14087 "type" : "string"
14088 },
14089 "dstatus" : {
14090 "description" : "Delivery status.",
14091 "maxLength" : 1,
14092 "minLength" : 1,
14093 "type" : "string"
14094 },
14095 "from" : {
14096 "description" : "Sender email address.",
14097 "type" : "string"
14098 },
14099 "id" : {
14100 "description" : "Unique ID.",
14101 "type" : "string"
14102 },
14103 "msgid" : {
14104 "description" : "SMTP message ID.",
14105 "optional" : 1,
14106 "type" : "string"
14107 },
14108 "qid" : {
14109 "description" : "Postfix qmgr ID.",
14110 "optional" : 1,
14111 "type" : "string"
14112 },
14113 "relay" : {
14114 "description" : "ID of relayed mail.",
14115 "optional" : 1,
14116 "type" : "string"
14117 },
14118 "rstatus" : {
14119 "description" : "Delivery status of relayed mail.",
14120 "maxLength" : 1,
14121 "minLength" : 1,
14122 "optional" : 1,
14123 "type" : "string"
14124 },
14125 "size" : {
14126 "description" : "The size of the raw email.",
14127 "optional" : 1,
14128 "type" : "number"
14129 },
14130 "time" : {
14131 "description" : "Delivery timestamp.",
14132 "type" : "integer"
14133 },
14134 "to" : {
14135 "description" : "Receiver email address.",
14136 "type" : "string"
14137 }
14138 },
14139 "type" : "object"
14140 },
14141 "links" : [
14142 {
14143 "href" : "{id}",
14144 "rel" : "child"
14145 }
14146 ],
14147 "type" : "array"
14148 }
14149 }
14150 },
14151 "leaf" : 0,
14152 "path" : "/nodes/{node}/tracker",
14153 "text" : "tracker"
14154 },
bb6e6e0d
DM
14155 {
14156 "children" : [
14157 {
14158 "info" : {
14159 "DELETE" : {
6bd70b95 14160 "allowtoken" : 1,
bb6e6e0d
DM
14161 "description" : "Delete a backup file.",
14162 "method" : "DELETE",
14163 "name" : "delete",
14164 "parameters" : {
14165 "additionalProperties" : 0,
14166 "properties" : {
14167 "filename" : {
14168 "description" : "The backup file name.",
14169 "maxLength" : 256,
14170 "minLength" : 4,
14171 "pattern" : "pmg-backup_[0-9A-Za-z_-]+\\.tgz",
14172 "type" : "string"
14173 },
c5ccf1ab
TL
14174 "node" : {
14175 "description" : "The cluster node name.",
14176 "format" : "pve-node",
14177 "type" : "string",
14178 "typetext" : "<string>"
14179 }
14180 }
14181 },
14182 "permissions" : {
14183 "check" : [
14184 "admin"
14185 ]
14186 },
14187 "protected" : 1,
14188 "proxyto" : "node",
14189 "returns" : {
14190 "type" : "null"
14191 }
14192 },
14193 "GET" : {
14194 "allowtoken" : 1,
14195 "description" : "Download a backup file.",
14196 "download" : 1,
14197 "method" : "GET",
14198 "name" : "download",
14199 "parameters" : {
14200 "additionalProperties" : 0,
14201 "properties" : {
14202 "filename" : {
14203 "description" : "The backup file name.",
14204 "maxLength" : 256,
14205 "minLength" : 4,
14206 "pattern" : "pmg-backup_[0-9A-Za-z_-]+\\.tgz",
14207 "type" : "string"
14208 },
14209 "node" : {
14210 "description" : "The cluster node name.",
14211 "format" : "pve-node",
14212 "type" : "string",
14213 "typetext" : "<string>"
14214 }
14215 }
14216 },
14217 "permissions" : {
14218 "check" : [
14219 "admin"
14220 ]
14221 },
14222 "protected" : 1,
14223 "proxyto" : "node",
14224 "returns" : {
14225 "type" : "string"
14226 }
14227 },
14228 "POST" : {
14229 "allowtoken" : 1,
14230 "description" : "Restore the system configuration.",
14231 "method" : "POST",
14232 "name" : "restore",
14233 "parameters" : {
14234 "additionalProperties" : 0,
14235 "properties" : {
14236 "config" : {
14237 "default" : 0,
14238 "description" : "Restore system configuration.",
14239 "optional" : 1,
14240 "type" : "boolean",
14241 "typetext" : "<boolean>"
14242 },
14243 "database" : {
14244 "default" : 1,
14245 "description" : "Restore the rule database. This is the default.",
14246 "optional" : 1,
14247 "type" : "boolean",
14248 "typetext" : "<boolean>"
14249 },
14250 "filename" : {
14251 "description" : "The backup file name.",
14252 "maxLength" : 256,
14253 "minLength" : 4,
14254 "pattern" : "pmg-backup_[0-9A-Za-z_-]+\\.tgz",
14255 "type" : "string"
14256 },
14257 "node" : {
14258 "description" : "The cluster node name.",
14259 "format" : "pve-node",
14260 "type" : "string",
14261 "typetext" : "<string>"
14262 },
14263 "statistic" : {
14264 "default" : 0,
14265 "description" : "Restore statistic databases. Only considered when you restore the 'database'.",
14266 "optional" : 1,
14267 "type" : "boolean",
14268 "typetext" : "<boolean>"
14269 }
14270 }
14271 },
14272 "permissions" : {
14273 "check" : [
14274 "admin"
14275 ]
14276 },
14277 "protected" : 1,
14278 "proxyto" : "node",
14279 "returns" : {
14280 "type" : "string"
14281 }
14282 }
14283 },
14284 "leaf" : 1,
14285 "path" : "/nodes/{node}/backup/{filename}",
14286 "text" : "{filename}"
14287 }
14288 ],
14289 "info" : {
14290 "GET" : {
14291 "allowtoken" : 1,
14292 "description" : "List all stored backups (files named proxmox-backup_{DATE}.tgz).",
14293 "method" : "GET",
14294 "name" : "list",
14295 "parameters" : {
14296 "additionalProperties" : 0,
14297 "properties" : {
14298 "node" : {
14299 "description" : "The cluster node name.",
14300 "format" : "pve-node",
14301 "type" : "string",
14302 "typetext" : "<string>"
14303 }
14304 }
14305 },
14306 "permissions" : {
14307 "check" : [
14308 "admin",
14309 "audit"
14310 ]
14311 },
14312 "protected" : 1,
14313 "proxyto" : "node",
14314 "returns" : {
14315 "items" : {
14316 "properties" : {
14317 "filename" : {
14318 "description" : "The backup file name.",
14319 "maxLength" : 256,
14320 "minLength" : 4,
14321 "pattern" : "pmg-backup_[0-9A-Za-z_-]+\\.tgz",
14322 "type" : "string"
14323 },
14324 "size" : {
14325 "description" : "Size of backup file in bytes.",
14326 "type" : "integer"
14327 },
14328 "timestamp" : {
14329 "description" : "Backup timestamp (Unix epoch).",
14330 "type" : "integer"
14331 }
14332 },
14333 "type" : "object"
14334 },
14335 "links" : [
14336 {
14337 "href" : "{filename}",
14338 "rel" : "child"
14339 }
14340 ],
14341 "type" : "array"
14342 }
14343 },
14344 "POST" : {
14345 "allowtoken" : 1,
14346 "description" : "Backup the system configuration.",
14347 "method" : "POST",
14348 "name" : "backup",
14349 "parameters" : {
14350 "additionalProperties" : 0,
14351 "properties" : {
14352 "node" : {
14353 "description" : "The cluster node name.",
14354 "format" : "pve-node",
14355 "type" : "string",
14356 "typetext" : "<string>"
14357 },
14358 "notify" : {
14359 "default" : "never",
14360 "description" : "Specify when to notify via e-mail",
14361 "enum" : [
14362 "always",
14363 "error",
14364 "never"
14365 ],
14366 "optional" : 1,
14367 "type" : "string"
14368 },
14369 "statistic" : {
14370 "default" : 1,
14371 "description" : "Backup statistic databases.",
14372 "optional" : 1,
14373 "type" : "boolean",
14374 "typetext" : "<boolean>"
14375 }
14376 }
14377 },
14378 "permissions" : {
14379 "check" : [
14380 "admin"
14381 ]
14382 },
14383 "protected" : 1,
14384 "proxyto" : "node",
14385 "returns" : {
14386 "type" : "string"
14387 }
14388 }
14389 },
14390 "leaf" : 0,
14391 "path" : "/nodes/{node}/backup",
14392 "text" : "backup"
14393 },
14394 {
14395 "children" : [
14396 {
14397 "children" : [
14398 {
14399 "children" : [
14400 {
14401 "children" : [
14402 {
14403 "info" : {
14404 "DELETE" : {
14405 "allowtoken" : 1,
14406 "description" : "Forget a snapshot",
14407 "method" : "DELETE",
14408 "name" : "forget_snapshot",
14409 "parameters" : {
14410 "additionalProperties" : 0,
14411 "properties" : {
14412 "backup-id" : {
14413 "description" : "ID (hostname) of backup snapshot",
14414 "type" : "string",
14415 "typetext" : "<string>"
14416 },
14417 "backup-time" : {
14418 "description" : "Backup time in RFC 3339 format",
14419 "type" : "string",
14420 "typetext" : "<string>"
14421 },
14422 "node" : {
14423 "description" : "The cluster node name.",
14424 "format" : "pve-node",
14425 "type" : "string",
14426 "typetext" : "<string>"
14427 },
14428 "remote" : {
14429 "description" : "Proxmox Backup Server ID.",
14430 "format" : "pve-configid",
14431 "type" : "string",
14432 "typetext" : "<string>"
14433 }
14434 }
14435 },
14436 "permissions" : {
14437 "check" : [
14438 "admin",
14439 "audit"
14440 ]
14441 },
14442 "protected" : 1,
14443 "proxyto" : "node",
14444 "returns" : {
14445 "type" : "null"
14446 }
14447 },
14448 "POST" : {
14449 "allowtoken" : 1,
14450 "description" : "Restore the system configuration.",
14451 "method" : "POST",
14452 "name" : "restore",
14453 "parameters" : {
14454 "additionalProperties" : 0,
14455 "properties" : {
14456 "backup-id" : {
14457 "description" : "backup-id (hostname) of backup snapshot",
14458 "type" : "string",
14459 "typetext" : "<string>"
14460 },
14461 "backup-time" : {
14462 "description" : "backup-time to restore",
14463 "type" : "string",
14464 "typetext" : "<string>"
14465 },
14466 "config" : {
14467 "default" : 0,
14468 "description" : "Restore system configuration.",
14469 "optional" : 1,
14470 "type" : "boolean",
14471 "typetext" : "<boolean>"
14472 },
14473 "database" : {
14474 "default" : 1,
14475 "description" : "Restore the rule database. This is the default.",
14476 "optional" : 1,
14477 "type" : "boolean",
14478 "typetext" : "<boolean>"
14479 },
14480 "node" : {
14481 "description" : "The cluster node name.",
14482 "format" : "pve-node",
14483 "type" : "string",
14484 "typetext" : "<string>"
14485 },
14486 "remote" : {
14487 "description" : "Proxmox Backup Server ID.",
14488 "format" : "pve-configid",
14489 "type" : "string",
14490 "typetext" : "<string>"
14491 },
14492 "statistic" : {
14493 "default" : 0,
14494 "description" : "Restore statistic databases. Only considered when you restore the 'database'.",
14495 "optional" : 1,
14496 "type" : "boolean",
14497 "typetext" : "<boolean>"
14498 }
14499 }
14500 },
14501 "permissions" : {
14502 "check" : [
14503 "admin"
14504 ]
14505 },
14506 "protected" : 1,
14507 "proxyto" : "node",
14508 "returns" : {
14509 "type" : "string"
14510 }
14511 }
14512 },
14513 "leaf" : 1,
14514 "path" : "/nodes/{node}/pbs/{remote}/snapshot/{backup-id}/{backup-time}",
14515 "text" : "{backup-time}"
14516 }
14517 ],
14518 "info" : {
14519 "GET" : {
14520 "allowtoken" : 1,
14521 "description" : "Get snapshots from a specific ID stored on remote.",
14522 "method" : "GET",
14523 "name" : "get_group_snapshots",
14524 "parameters" : {
14525 "additionalProperties" : 0,
14526 "properties" : {
14527 "backup-id" : {
14528 "description" : "ID (hostname) of backup snapshot",
14529 "type" : "string",
14530 "typetext" : "<string>"
14531 },
14532 "node" : {
14533 "description" : "The cluster node name.",
14534 "format" : "pve-node",
14535 "type" : "string",
14536 "typetext" : "<string>"
14537 },
14538 "remote" : {
14539 "description" : "Proxmox Backup Server ID.",
14540 "format" : "pve-configid",
14541 "type" : "string",
14542 "typetext" : "<string>"
14543 }
14544 }
14545 },
14546 "permissions" : {
14547 "check" : [
14548 "admin",
14549 "audit"
14550 ]
14551 },
14552 "protected" : 1,
14553 "proxyto" : "node",
14554 "returns" : {
14555 "items" : {
14556 "properties" : {
14557 "backup-id" : {
14558 "type" : "string"
14559 },
14560 "backup-time" : {
14561 "type" : "string"
14562 },
14563 "ctime" : {
14564 "type" : "string"
14565 },
14566 "size" : {
14567 "type" : "integer"
14568 }
14569 },
14570 "type" : "object"
14571 },
14572 "links" : [
14573 {
14574 "href" : "{backup-time}",
14575 "rel" : "child"
14576 }
14577 ],
14578 "type" : "array"
14579 }
14580 }
14581 },
14582 "leaf" : 0,
14583 "path" : "/nodes/{node}/pbs/{remote}/snapshot/{backup-id}",
14584 "text" : "{backup-id}"
14585 }
14586 ],
14587 "info" : {
14588 "GET" : {
14589 "allowtoken" : 1,
14590 "description" : "Get snapshots stored on remote.",
14591 "method" : "GET",
14592 "name" : "get_snapshots",
14593 "parameters" : {
14594 "additionalProperties" : 0,
14595 "properties" : {
14596 "node" : {
14597 "description" : "The cluster node name.",
14598 "format" : "pve-node",
14599 "type" : "string",
14600 "typetext" : "<string>"
14601 },
14602 "remote" : {
14603 "description" : "Proxmox Backup Server ID.",
14604 "format" : "pve-configid",
14605 "type" : "string",
14606 "typetext" : "<string>"
14607 }
14608 }
14609 },
14610 "permissions" : {
14611 "check" : [
14612 "admin",
14613 "audit"
14614 ]
14615 },
14616 "protected" : 1,
14617 "proxyto" : "node",
14618 "returns" : {
14619 "items" : {
14620 "properties" : {
14621 "backup-id" : {
14622 "type" : "string"
14623 },
14624 "backup-time" : {
14625 "type" : "string"
14626 },
14627 "ctime" : {
14628 "type" : "string"
14629 },
14630 "size" : {
14631 "type" : "integer"
14632 }
14633 },
14634 "type" : "object"
14635 },
14636 "links" : [
14637 {
14638 "href" : "{backup-id}",
14639 "rel" : "child"
14640 }
14641 ],
14642 "type" : "array"
14643 }
14644 },
14645 "POST" : {
14646 "allowtoken" : 1,
14647 "description" : "Create a new backup and prune the backup group afterwards, if configured.",
14648 "method" : "POST",
14649 "name" : "run_backup",
14650 "parameters" : {
14651 "additionalProperties" : 0,
14652 "properties" : {
14653 "node" : {
14654 "description" : "The cluster node name.",
14655 "format" : "pve-node",
14656 "type" : "string",
14657 "typetext" : "<string>"
14658 },
14659 "notify" : {
14660 "default" : "never",
14661 "description" : "Specify when to notify via e-mail",
14662 "enum" : [
14663 "always",
14664 "error",
14665 "never"
14666 ],
14667 "optional" : 1,
14668 "type" : "string"
14669 },
14670 "remote" : {
14671 "description" : "Proxmox Backup Server ID.",
14672 "format" : "pve-configid",
14673 "type" : "string",
14674 "typetext" : "<string>"
14675 },
14676 "statistic" : {
14677 "default" : 1,
14678 "description" : "Backup statistic databases.",
14679 "optional" : 1,
14680 "type" : "boolean",
14681 "typetext" : "<boolean>"
14682 }
14683 }
14684 },
14685 "permissions" : {
14686 "check" : [
14687 "admin",
14688 "audit"
14689 ]
14690 },
14691 "protected" : 1,
14692 "proxyto" : "node",
14693 "returns" : {
14694 "type" : "string"
14695 }
14696 }
14697 },
14698 "leaf" : 0,
14699 "path" : "/nodes/{node}/pbs/{remote}/snapshot",
14700 "text" : "snapshot"
14701 },
14702 {
14703 "info" : {
14704 "DELETE" : {
14705 "allowtoken" : 1,
14706 "description" : "Delete backup schedule",
14707 "method" : "DELETE",
14708 "name" : "delete_timer",
14709 "parameters" : {
14710 "additionalProperties" : 0,
14711 "properties" : {
14712 "node" : {
14713 "description" : "The cluster node name.",
14714 "format" : "pve-node",
14715 "type" : "string",
14716 "typetext" : "<string>"
14717 },
14718 "remote" : {
14719 "description" : "Proxmox Backup Server ID.",
14720 "format" : "pve-configid",
14721 "type" : "string",
14722 "typetext" : "<string>"
14723 }
14724 }
14725 },
14726 "permissions" : {
14727 "check" : [
14728 "admin",
14729 "audit"
14730 ]
14731 },
14732 "protected" : 1,
14733 "proxyto" : "node",
14734 "returns" : {
14735 "type" : "null"
14736 }
14737 },
14738 "GET" : {
14739 "allowtoken" : 1,
14740 "description" : "Get timer specification",
14741 "method" : "GET",
14742 "name" : "list_timer",
14743 "parameters" : {
14744 "additionalProperties" : 0,
14745 "properties" : {
14746 "node" : {
14747 "description" : "The cluster node name.",
14748 "format" : "pve-node",
14749 "type" : "string",
14750 "typetext" : "<string>"
14751 },
14752 "remote" : {
14753 "description" : "Proxmox Backup Server ID.",
14754 "format" : "pve-configid",
14755 "type" : "string",
14756 "typetext" : "<string>"
14757 }
14758 }
14759 },
14760 "permissions" : {
14761 "check" : [
14762 "admin",
14763 "audit"
14764 ]
14765 },
14766 "protected" : 1,
14767 "proxyto" : "node",
14768 "returns" : {
14769 "properties" : {
14770 "delay" : {
14771 "default" : "5min",
14772 "description" : "Randomized delay to add to the starttime (RandomizedDelaySec setting of the systemd.timer)",
14773 "optional" : 1,
14774 "pattern" : "[0-9a-zA-Z. ]+",
14775 "type" : "string"
14776 },
14777 "next-run" : {
14778 "description" : "The date time of the next run, in server locale.",
14779 "optional" : 1,
14780 "type" : "string"
14781 },
14782 "remote" : {
14783 "description" : "Proxmox Backup Server remote ID.",
14784 "format" : "pve-configid",
14785 "optional" : 1,
14786 "type" : "string"
14787 },
14788 "schedule" : {
14789 "default" : "daily",
14790 "description" : "Schedule for the backup (OnCalendar setting of the systemd.timer)",
14791 "optional" : 1,
14792 "pattern" : "[0-9a-zA-Z*.:,\\-/ ]+",
14793 "type" : "string"
14794 },
14795 "unitfile" : {
14796 "description" : "unit file for the systemd.timer unit",
14797 "optional" : 1,
14798 "type" : "string"
14799 }
14800 },
14801 "type" : "object"
14802 }
14803 },
14804 "POST" : {
14805 "allowtoken" : 1,
14806 "description" : "Create backup schedule",
14807 "method" : "POST",
14808 "name" : "create_timer",
14809 "parameters" : {
14810 "additionalProperties" : 0,
14811 "properties" : {
14812 "delay" : {
14813 "default" : "5min",
14814 "description" : "Randomized delay to add to the starttime (RandomizedDelaySec setting of the systemd.timer)",
14815 "optional" : 1,
14816 "pattern" : "[0-9a-zA-Z. ]+",
14817 "type" : "string"
14818 },
14819 "node" : {
14820 "description" : "The cluster node name.",
14821 "format" : "pve-node",
14822 "type" : "string",
14823 "typetext" : "<string>"
14824 },
14825 "remote" : {
14826 "description" : "Proxmox Backup Server ID.",
14827 "format" : "pve-configid",
14828 "type" : "string",
14829 "typetext" : "<string>"
14830 },
14831 "schedule" : {
14832 "default" : "daily",
14833 "description" : "Schedule for the backup (OnCalendar setting of the systemd.timer)",
14834 "optional" : 1,
14835 "pattern" : "[0-9a-zA-Z*.:,\\-/ ]+",
14836 "type" : "string"
14837 }
14838 }
14839 },
14840 "permissions" : {
14841 "check" : [
14842 "admin",
14843 "audit"
14844 ]
14845 },
14846 "protected" : 1,
14847 "proxyto" : "node",
14848 "returns" : {
14849 "type" : "null"
ab2b846b
TL
14850 }
14851 }
14852 },
c5ccf1ab
TL
14853 "leaf" : 1,
14854 "path" : "/nodes/{node}/pbs/{remote}/timer",
14855 "text" : "timer"
14856 }
14857 ],
14858 "info" : {
ab2b846b
TL
14859 "GET" : {
14860 "allowtoken" : 1,
c5ccf1ab 14861 "description" : "Backup Job index.",
ab2b846b 14862 "method" : "GET",
c5ccf1ab 14863 "name" : "remote_index",
ab2b846b
TL
14864 "parameters" : {
14865 "additionalProperties" : 0,
14866 "properties" : {
ab2b846b
TL
14867 "node" : {
14868 "description" : "The cluster node name.",
14869 "format" : "pve-node",
14870 "type" : "string",
14871 "typetext" : "<string>"
ab2b846b 14872 },
c5ccf1ab
TL
14873 "remote" : {
14874 "description" : "Proxmox Backup Server ID.",
14875 "format" : "pve-configid",
ab2b846b
TL
14876 "type" : "string",
14877 "typetext" : "<string>"
ab2b846b
TL
14878 }
14879 }
14880 },
ab2b846b 14881 "returns" : {
c5ccf1ab
TL
14882 "items" : {
14883 "properties" : {
14884 "section" : {
14885 "type" : "string"
14886 }
14887 },
14888 "type" : "object"
14889 },
14890 "links" : [
14891 {
14892 "href" : "{section}",
14893 "rel" : "child"
14894 }
14895 ],
14896 "type" : "array"
ab2b846b
TL
14897 }
14898 }
14899 },
c5ccf1ab
TL
14900 "leaf" : 0,
14901 "path" : "/nodes/{node}/pbs/{remote}",
14902 "text" : "{remote}"
ab2b846b
TL
14903 }
14904 ],
14905 "info" : {
14906 "GET" : {
14907 "allowtoken" : 1,
c5ccf1ab 14908 "description" : "List all configured Proxmox Backup Server jobs.",
ab2b846b
TL
14909 "method" : "GET",
14910 "name" : "list",
14911 "parameters" : {
14912 "additionalProperties" : 0,
14913 "properties" : {
c5ccf1ab
TL
14914 "node" : {
14915 "description" : "The cluster node name.",
14916 "format" : "pve-node",
14917 "type" : "string",
14918 "typetext" : "<string>"
ab2b846b
TL
14919 }
14920 }
14921 },
14922 "permissions" : {
14923 "check" : [
c5ccf1ab
TL
14924 "admin",
14925 "audit"
ab2b846b
TL
14926 ]
14927 },
14928 "protected" : 1,
14929 "proxyto" : "node",
14930 "returns" : {
c5ccf1ab
TL
14931 "items" : {
14932 "additionalProperties" : 0,
14933 "properties" : {
14934 "datastore" : {
14935 "description" : "Proxmox Backup Server datastore name.",
14936 "optional" : 0,
0b9926d3 14937 "pattern" : "(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)",
c5ccf1ab
TL
14938 "type" : "string"
14939 },
14940 "disable" : {
14941 "description" : "Flag to disable (deactivate) the entry.",
14942 "optional" : 1,
14943 "type" : "boolean"
14944 },
14945 "fingerprint" : {
14946 "description" : "Certificate SHA 256 fingerprint.",
14947 "optional" : 1,
14948 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
14949 "type" : "string"
14950 },
14951 "include-statistics" : {
14952 "description" : "Include statistics in scheduled backups",
14953 "optional" : 1,
14954 "type" : "boolean"
14955 },
14956 "keep-daily" : {
14957 "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.",
14958 "format_description" : "N",
14959 "minimum" : "0",
14960 "optional" : 1,
14961 "type" : "integer"
14962 },
14963 "keep-hourly" : {
14964 "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.",
14965 "format_description" : "N",
14966 "minimum" : "0",
14967 "optional" : 1,
14968 "type" : "integer"
14969 },
14970 "keep-last" : {
14971 "description" : "Keep the last <N> backups.",
14972 "format_description" : "N",
14973 "minimum" : "0",
14974 "optional" : 1,
14975 "type" : "integer"
14976 },
14977 "keep-monthly" : {
14978 "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.",
14979 "format_description" : "N",
14980 "minimum" : "0",
14981 "optional" : 1,
14982 "type" : "integer"
14983 },
14984 "keep-weekly" : {
14985 "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.",
14986 "format_description" : "N",
14987 "minimum" : "0",
14988 "optional" : 1,
14989 "type" : "integer"
14990 },
14991 "keep-yearly" : {
14992 "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.",
14993 "format_description" : "N",
14994 "minimum" : "0",
14995 "optional" : 1,
14996 "type" : "integer"
14997 },
0b9926d3
TL
14998 "namespace" : {
14999 "description" : "Proxmox Backup Server namespace in the datastore, defaults to the root NS.",
15000 "maxLength" : 256,
15001 "optional" : 1,
15002 "pattern" : "(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*)/){0,7}(?:(?:[A-Za-z0-9_][A-Za-z0-9._\\-]*))?",
15003 "type" : "string"
15004 },
c5ccf1ab
TL
15005 "notify" : {
15006 "description" : "Specify when to notify via e-mail",
15007 "enum" : [
15008 "always",
15009 "error",
15010 "never"
ab2b846b 15011 ],
c5ccf1ab
TL
15012 "optional" : 1,
15013 "type" : "string"
15014 },
15015 "password" : {
15016 "description" : "Password or API token secret for the user on the Proxmox Backup Server.",
15017 "optional" : 1,
15018 "type" : "string"
15019 },
15020 "remote" : {
15021 "description" : "Proxmox Backup Server ID.",
15022 "format" : "pve-configid",
15023 "type" : "string"
15024 },
15025 "server" : {
15026 "description" : "Proxmox Backup Server address.",
15027 "format" : "address",
15028 "maxLength" : 256,
15029 "optional" : 0,
15030 "type" : "string"
15031 },
15032 "username" : {
15033 "description" : "Username or API token ID on the Proxmox Backup Server",
15034 "maxLength" : 512,
15035 "minLength" : 3,
15036 "optional" : 1,
15037 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
15038 "type" : "string"
15039 }
15040 },
15041 "type" : "object"
15042 },
15043 "links" : [
15044 {
15045 "href" : "{remote}",
15046 "rel" : "child"
15047 }
15048 ],
15049 "type" : "array"
15050 }
15051 }
15052 },
15053 "leaf" : 0,
15054 "path" : "/nodes/{node}/pbs",
15055 "text" : "pbs"
15056 },
15057 {
15058 "children" : [
15059 {
15060 "info" : {
15061 "GET" : {
15062 "allowtoken" : 1,
15063 "description" : "Get information about the node's certificates.",
15064 "method" : "GET",
15065 "name" : "info",
15066 "parameters" : {
15067 "additionalProperties" : 0,
15068 "properties" : {
15069 "node" : {
15070 "description" : "The cluster node name.",
15071 "format" : "pve-node",
15072 "type" : "string",
15073 "typetext" : "<string>"
15074 }
15075 }
15076 },
15077 "permissions" : {
15078 "user" : "all"
15079 },
15080 "protected" : 1,
15081 "proxyto" : "node",
15082 "returns" : {
15083 "items" : {
15084 "properties" : {
15085 "filename" : {
15086 "optional" : 1,
15087 "type" : "string"
15088 },
15089 "fingerprint" : {
15090 "description" : "Certificate SHA 256 fingerprint.",
15091 "optional" : 1,
15092 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
15093 "type" : "string"
15094 },
15095 "issuer" : {
15096 "description" : "Certificate issuer name.",
15097 "optional" : 1,
15098 "type" : "string"
15099 },
15100 "notafter" : {
15101 "description" : "Certificate's notAfter timestamp (UNIX epoch).",
15102 "optional" : 1,
15103 "renderer" : "timestamp",
15104 "type" : "integer"
15105 },
15106 "notbefore" : {
15107 "description" : "Certificate's notBefore timestamp (UNIX epoch).",
15108 "optional" : 1,
15109 "renderer" : "timestamp",
15110 "type" : "integer"
15111 },
15112 "pem" : {
15113 "description" : "Certificate in PEM format",
15114 "format" : "pem-certificate",
15115 "optional" : 1,
15116 "type" : "string"
15117 },
15118 "public-key-bits" : {
15119 "description" : "Certificate's public key size",
15120 "optional" : 1,
15121 "type" : "integer"
15122 },
15123 "public-key-type" : {
15124 "description" : "Certificate's public key algorithm",
15125 "optional" : 1,
15126 "type" : "string"
15127 },
15128 "san" : {
15129 "description" : "List of Certificate's SubjectAlternativeName entries.",
15130 "items" : {
15131 "type" : "string"
ab2b846b 15132 },
c5ccf1ab
TL
15133 "optional" : 1,
15134 "renderer" : "yaml",
15135 "type" : "array"
15136 },
15137 "subject" : {
15138 "description" : "Certificate subject name.",
15139 "optional" : 1,
15140 "type" : "string"
ab2b846b
TL
15141 }
15142 },
c5ccf1ab
TL
15143 "type" : "object"
15144 },
15145 "type" : "array"
15146 }
15147 }
15148 },
15149 "leaf" : 1,
15150 "path" : "/nodes/{node}/certificates/info",
15151 "text" : "info"
15152 },
15153 {
15154 "children" : [
15155 {
ab2b846b 15156 "info" : {
c5ccf1ab 15157 "DELETE" : {
ab2b846b 15158 "allowtoken" : 1,
c5ccf1ab
TL
15159 "description" : "DELETE custom certificate chain and key.",
15160 "method" : "DELETE",
15161 "name" : "remove_custom_cert",
ab2b846b
TL
15162 "parameters" : {
15163 "additionalProperties" : 0,
15164 "properties" : {
15165 "node" : {
15166 "description" : "The cluster node name.",
15167 "format" : "pve-node",
15168 "type" : "string",
15169 "typetext" : "<string>"
15170 },
c5ccf1ab
TL
15171 "restart" : {
15172 "default" : 0,
15173 "description" : "Restart pmgproxy.",
15174 "optional" : 1,
15175 "type" : "boolean",
15176 "typetext" : "<boolean>"
15177 },
15178 "type" : {
15179 "description" : "The TLS certificate type (API or SMTP certificate).",
15180 "enum" : [
15181 "api",
15182 "smtp"
15183 ],
15184 "type" : "string"
ab2b846b
TL
15185 }
15186 }
15187 },
15188 "permissions" : {
15189 "check" : [
c5ccf1ab 15190 "admin"
ab2b846b
TL
15191 ]
15192 },
15193 "protected" : 1,
15194 "proxyto" : "node",
15195 "returns" : {
c5ccf1ab 15196 "type" : "null"
ab2b846b
TL
15197 }
15198 },
15199 "POST" : {
15200 "allowtoken" : 1,
c5ccf1ab 15201 "description" : "Upload or update custom certificate chain and key.",
ab2b846b 15202 "method" : "POST",
c5ccf1ab 15203 "name" : "upload_custom_cert",
ab2b846b
TL
15204 "parameters" : {
15205 "additionalProperties" : 0,
15206 "properties" : {
c5ccf1ab
TL
15207 "certificates" : {
15208 "description" : "PEM encoded certificate (chain).",
15209 "format" : "pem-certificate-chain",
15210 "type" : "string",
15211 "typetext" : "<string>"
15212 },
15213 "force" : {
15214 "default" : 0,
15215 "description" : "Overwrite existing custom or ACME certificate files.",
15216 "optional" : 1,
15217 "type" : "boolean",
15218 "typetext" : "<boolean>"
15219 },
15220 "key" : {
15221 "description" : "PEM encoded private key.",
15222 "format" : "pem-string",
15223 "optional" : 0,
15224 "type" : "string",
15225 "typetext" : "<string>"
15226 },
ab2b846b
TL
15227 "node" : {
15228 "description" : "The cluster node name.",
15229 "format" : "pve-node",
15230 "type" : "string",
15231 "typetext" : "<string>"
15232 },
c5ccf1ab
TL
15233 "restart" : {
15234 "default" : 0,
15235 "description" : "Restart services.",
15236 "optional" : 1,
15237 "type" : "boolean",
15238 "typetext" : "<boolean>"
15239 },
15240 "type" : {
15241 "description" : "The TLS certificate type (API or SMTP certificate).",
15242 "enum" : [
15243 "api",
15244 "smtp"
15245 ],
15246 "type" : "string"
ab2b846b
TL
15247 }
15248 }
15249 },
15250 "permissions" : {
15251 "check" : [
c5ccf1ab 15252 "admin"
ab2b846b
TL
15253 ]
15254 },
15255 "protected" : 1,
15256 "proxyto" : "node",
15257 "returns" : {
c5ccf1ab
TL
15258 "properties" : {
15259 "filename" : {
15260 "optional" : 1,
15261 "type" : "string"
15262 },
15263 "fingerprint" : {
15264 "description" : "Certificate SHA 256 fingerprint.",
15265 "optional" : 1,
15266 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
15267 "type" : "string"
15268 },
15269 "issuer" : {
15270 "description" : "Certificate issuer name.",
15271 "optional" : 1,
15272 "type" : "string"
15273 },
15274 "notafter" : {
15275 "description" : "Certificate's notAfter timestamp (UNIX epoch).",
15276 "optional" : 1,
15277 "renderer" : "timestamp",
15278 "type" : "integer"
15279 },
15280 "notbefore" : {
15281 "description" : "Certificate's notBefore timestamp (UNIX epoch).",
15282 "optional" : 1,
15283 "renderer" : "timestamp",
15284 "type" : "integer"
15285 },
15286 "pem" : {
15287 "description" : "Certificate in PEM format",
15288 "format" : "pem-certificate",
15289 "optional" : 1,
15290 "type" : "string"
15291 },
15292 "public-key-bits" : {
15293 "description" : "Certificate's public key size",
15294 "optional" : 1,
15295 "type" : "integer"
15296 },
15297 "public-key-type" : {
15298 "description" : "Certificate's public key algorithm",
15299 "optional" : 1,
15300 "type" : "string"
15301 },
15302 "san" : {
15303 "description" : "List of Certificate's SubjectAlternativeName entries.",
15304 "items" : {
15305 "type" : "string"
15306 },
15307 "optional" : 1,
15308 "renderer" : "yaml",
15309 "type" : "array"
15310 },
15311 "subject" : {
15312 "description" : "Certificate subject name.",
15313 "optional" : 1,
15314 "type" : "string"
15315 }
15316 },
15317 "type" : "object"
15318 }
15319 }
15320 },
15321 "leaf" : 1,
15322 "path" : "/nodes/{node}/certificates/custom/{type}",
15323 "text" : "{type}"
15324 }
15325 ],
15326 "info" : {
15327 "GET" : {
15328 "allowtoken" : 1,
15329 "description" : "Certificate index.",
15330 "method" : "GET",
15331 "name" : "custom_cert_index",
15332 "parameters" : {
15333 "additionalProperties" : 0,
15334 "properties" : {
15335 "node" : {
15336 "description" : "The cluster node name.",
15337 "format" : "pve-node",
15338 "type" : "string",
15339 "typetext" : "<string>"
ab2b846b
TL
15340 }
15341 }
15342 },
c5ccf1ab
TL
15343 "permissions" : {
15344 "user" : "all"
15345 },
15346 "returns" : {
15347 "items" : {
15348 "properties" : {},
15349 "type" : "object"
15350 },
15351 "links" : [
15352 {
15353 "href" : "{type}",
15354 "rel" : "child"
15355 }
15356 ],
15357 "type" : "array"
15358 }
15359 }
15360 },
15361 "leaf" : 0,
15362 "path" : "/nodes/{node}/certificates/custom",
15363 "text" : "custom"
15364 },
15365 {
15366 "children" : [
ab2b846b
TL
15367 {
15368 "info" : {
15369 "DELETE" : {
15370 "allowtoken" : 1,
c5ccf1ab 15371 "description" : "Revoke existing certificate from CA.",
ab2b846b 15372 "method" : "DELETE",
c5ccf1ab 15373 "name" : "revoke_acme_cert",
ab2b846b
TL
15374 "parameters" : {
15375 "additionalProperties" : 0,
15376 "properties" : {
15377 "node" : {
15378 "description" : "The cluster node name.",
15379 "format" : "pve-node",
15380 "type" : "string",
15381 "typetext" : "<string>"
15382 },
c5ccf1ab
TL
15383 "type" : {
15384 "description" : "The TLS certificate type (API or SMTP certificate).",
15385 "enum" : [
15386 "api",
15387 "smtp"
15388 ],
15389 "type" : "string"
ab2b846b
TL
15390 }
15391 }
15392 },
15393 "permissions" : {
15394 "check" : [
c5ccf1ab 15395 "admin"
ab2b846b
TL
15396 ]
15397 },
15398 "protected" : 1,
15399 "proxyto" : "node",
15400 "returns" : {
c5ccf1ab 15401 "type" : "string"
ab2b846b
TL
15402 }
15403 },
c5ccf1ab 15404 "POST" : {
ab2b846b 15405 "allowtoken" : 1,
c5ccf1ab
TL
15406 "description" : "Order a new certificate from ACME-compatible CA.",
15407 "method" : "POST",
15408 "name" : "new_acme_cert",
ab2b846b
TL
15409 "parameters" : {
15410 "additionalProperties" : 0,
15411 "properties" : {
c5ccf1ab
TL
15412 "force" : {
15413 "default" : 0,
15414 "description" : "Overwrite existing custom certificate.",
15415 "optional" : 1,
15416 "type" : "boolean",
15417 "typetext" : "<boolean>"
15418 },
ab2b846b
TL
15419 "node" : {
15420 "description" : "The cluster node name.",
15421 "format" : "pve-node",
15422 "type" : "string",
15423 "typetext" : "<string>"
15424 },
c5ccf1ab
TL
15425 "type" : {
15426 "description" : "The TLS certificate type (API or SMTP certificate).",
15427 "enum" : [
15428 "api",
15429 "smtp"
15430 ],
15431 "type" : "string"
ab2b846b
TL
15432 }
15433 }
15434 },
15435 "permissions" : {
15436 "check" : [
c5ccf1ab 15437 "admin"
ab2b846b
TL
15438 ]
15439 },
15440 "protected" : 1,
15441 "proxyto" : "node",
15442 "returns" : {
c5ccf1ab 15443 "type" : "string"
ab2b846b
TL
15444 }
15445 },
c5ccf1ab 15446 "PUT" : {
ab2b846b 15447 "allowtoken" : 1,
c5ccf1ab
TL
15448 "description" : "Renew existing certificate from CA.",
15449 "method" : "PUT",
15450 "name" : "renew_acme_cert",
ab2b846b
TL
15451 "parameters" : {
15452 "additionalProperties" : 0,
15453 "properties" : {
c5ccf1ab
TL
15454 "force" : {
15455 "default" : 0,
15456 "description" : "Force renewal even if expiry is more than 30 days away.",
ab2b846b 15457 "optional" : 1,
c5ccf1ab
TL
15458 "type" : "boolean",
15459 "typetext" : "<boolean>"
ab2b846b
TL
15460 },
15461 "node" : {
15462 "description" : "The cluster node name.",
15463 "format" : "pve-node",
15464 "type" : "string",
15465 "typetext" : "<string>"
15466 },
c5ccf1ab
TL
15467 "type" : {
15468 "description" : "The TLS certificate type (API or SMTP certificate).",
15469 "enum" : [
15470 "api",
15471 "smtp"
15472 ],
ab2b846b
TL
15473 "type" : "string"
15474 }
15475 }
15476 },
15477 "permissions" : {
15478 "check" : [
c5ccf1ab 15479 "admin"
ab2b846b
TL
15480 ]
15481 },
15482 "protected" : 1,
15483 "proxyto" : "node",
15484 "returns" : {
c5ccf1ab 15485 "type" : "string"
bb6e6e0d
DM
15486 }
15487 }
15488 },
ab2b846b 15489 "leaf" : 1,
c5ccf1ab
TL
15490 "path" : "/nodes/{node}/certificates/acme/{type}",
15491 "text" : "{type}"
ab2b846b
TL
15492 }
15493 ],
15494 "info" : {
bb6e6e0d 15495 "GET" : {
6bd70b95 15496 "allowtoken" : 1,
c5ccf1ab 15497 "description" : "ACME Certificate index.",
bb6e6e0d 15498 "method" : "GET",
c5ccf1ab 15499 "name" : "acme_cert_index",
bb6e6e0d
DM
15500 "parameters" : {
15501 "additionalProperties" : 0,
15502 "properties" : {
bb6e6e0d
DM
15503 "node" : {
15504 "description" : "The cluster node name.",
15505 "format" : "pve-node",
15506 "type" : "string",
15507 "typetext" : "<string>"
bb6e6e0d
DM
15508 }
15509 }
15510 },
c5ccf1ab
TL
15511 "permissions" : {
15512 "user" : "all"
15513 },
bb6e6e0d 15514 "returns" : {
ab2b846b 15515 "items" : {
c5ccf1ab 15516 "properties" : {},
ab2b846b
TL
15517 "type" : "object"
15518 },
15519 "links" : [
15520 {
c5ccf1ab 15521 "href" : "{type}",
ab2b846b
TL
15522 "rel" : "child"
15523 }
15524 ],
15525 "type" : "array"
bb6e6e0d
DM
15526 }
15527 }
15528 },
ab2b846b 15529 "leaf" : 0,
c5ccf1ab
TL
15530 "path" : "/nodes/{node}/certificates/acme",
15531 "text" : "acme"
bb6e6e0d
DM
15532 }
15533 ],
15534 "info" : {
15535 "GET" : {
6bd70b95 15536 "allowtoken" : 1,
c5ccf1ab 15537 "description" : "Node index.",
bb6e6e0d 15538 "method" : "GET",
c5ccf1ab
TL
15539 "name" : "index",
15540 "parameters" : {
15541 "additionalProperties" : 0,
15542 "properties" : {
15543 "node" : {
15544 "description" : "The cluster node name.",
15545 "format" : "pve-node",
15546 "type" : "string",
15547 "typetext" : "<string>"
15548 }
15549 }
15550 },
15551 "permissions" : {
15552 "user" : "all"
15553 },
15554 "returns" : {
15555 "items" : {
15556 "properties" : {},
15557 "type" : "object"
15558 },
15559 "links" : [
15560 {
15561 "href" : "{name}",
15562 "rel" : "child"
15563 }
15564 ],
15565 "type" : "array"
15566 }
15567 }
15568 },
15569 "leaf" : 0,
15570 "path" : "/nodes/{node}/certificates",
15571 "text" : "certificates"
15572 },
15573 {
15574 "info" : {
15575 "GET" : {
15576 "allowtoken" : 1,
15577 "description" : "Get node configuration options.",
15578 "method" : "GET",
15579 "name" : "get_config",
15580 "parameters" : {
15581 "additionalProperties" : 0,
15582 "properties" : {
15583 "node" : {
15584 "description" : "The cluster node name.",
15585 "format" : "pve-node",
15586 "type" : "string",
15587 "typetext" : "<string>"
15588 }
15589 }
15590 },
15591 "permissions" : {
15592 "check" : [
15593 "admin",
15594 "audit"
15595 ]
15596 },
15597 "protected" : 1,
15598 "proxyto" : "node",
15599 "returns" : {
15600 "additionalProperties" : 0,
15601 "properties" : {
15602 "acme" : {
15603 "description" : "Node specific ACME settings.",
15604 "format" : {
15605 "account" : {
15606 "default" : "default",
15607 "description" : "ACME account config file name.",
15608 "format" : "pve-configid",
15609 "format_description" : "name",
15610 "optional" : 1,
15611 "type" : "string"
15612 }
15613 },
15614 "optional" : 1,
15615 "type" : "string"
15616 },
15617 "acmedomain[n]" : {
15618 "description" : "ACME domain and validation plugin",
15619 "format" : {
15620 "alias" : {
15621 "description" : "Alias for the Domain to verify ACME Challenge over DNS",
15622 "format" : "pmg-acme-alias",
15623 "format_description" : "domain",
15624 "optional" : 1,
15625 "type" : "string"
15626 },
15627 "domain" : {
15628 "default_key" : 1,
15629 "description" : "domain for this node's ACME certificate",
15630 "format" : "pmg-acme-domain",
15631 "format_description" : "domain",
15632 "type" : "string"
15633 },
15634 "plugin" : {
15635 "default" : "standalone",
15636 "description" : "The ACME plugin ID",
15637 "format" : "pve-configid",
15638 "format_description" : "name of the plugin configuration",
15639 "optional" : 1,
15640 "type" : "string"
15641 },
15642 "usage" : {
15643 "description" : "Whether this domain is used for the API, SMTP or both",
15644 "format" : "pmg-certificate-type-list",
15645 "format_description" : "usage list",
15646 "type" : "string"
15647 }
15648 },
15649 "optional" : 1,
15650 "type" : "string"
15651 },
15652 "digest" : {
15653 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
15654 "maxLength" : 40,
15655 "optional" : 1,
15656 "type" : "string"
15657 }
15658 },
15659 "type" : "object"
15660 }
15661 },
15662 "PUT" : {
15663 "allowtoken" : 1,
15664 "description" : "Set node configuration options.",
15665 "method" : "PUT",
15666 "name" : "set_config",
bb6e6e0d
DM
15667 "parameters" : {
15668 "additionalProperties" : 0,
15669 "properties" : {
c5ccf1ab
TL
15670 "acme" : {
15671 "description" : "Node specific ACME settings.",
15672 "format" : {
15673 "account" : {
15674 "default" : "default",
15675 "description" : "ACME account config file name.",
15676 "format" : "pve-configid",
15677 "format_description" : "name",
15678 "optional" : 1,
15679 "type" : "string"
15680 }
15681 },
15682 "optional" : 1,
15683 "type" : "string",
15684 "typetext" : "[account=<name>]"
15685 },
15686 "acmedomain[n]" : {
15687 "description" : "ACME domain and validation plugin",
15688 "format" : {
15689 "alias" : {
15690 "description" : "Alias for the Domain to verify ACME Challenge over DNS",
15691 "format" : "pmg-acme-alias",
15692 "format_description" : "domain",
15693 "optional" : 1,
15694 "type" : "string"
15695 },
15696 "domain" : {
15697 "default_key" : 1,
15698 "description" : "domain for this node's ACME certificate",
15699 "format" : "pmg-acme-domain",
15700 "format_description" : "domain",
15701 "type" : "string"
15702 },
15703 "plugin" : {
15704 "default" : "standalone",
15705 "description" : "The ACME plugin ID",
15706 "format" : "pve-configid",
15707 "format_description" : "name of the plugin configuration",
15708 "optional" : 1,
15709 "type" : "string"
15710 },
15711 "usage" : {
15712 "description" : "Whether this domain is used for the API, SMTP or both",
15713 "format" : "pmg-certificate-type-list",
15714 "format_description" : "usage list",
15715 "type" : "string"
15716 }
15717 },
15718 "optional" : 1,
15719 "type" : "string",
15720 "typetext" : "[domain=]<domain> ,usage=<usage list> [,alias=<domain>] [,plugin=<name of the plugin configuration>]"
15721 },
15722 "delete" : {
15723 "description" : "A list of settings you want to delete.",
15724 "format" : "pve-configid-list",
15725 "optional" : 1,
15726 "type" : "string",
15727 "typetext" : "<string>"
15728 },
15729 "digest" : {
15730 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
15731 "maxLength" : 40,
15732 "optional" : 1,
15733 "type" : "string",
15734 "typetext" : "<string>"
15735 },
bb6e6e0d
DM
15736 "node" : {
15737 "description" : "The cluster node name.",
15738 "format" : "pve-node",
15739 "type" : "string",
15740 "typetext" : "<string>"
15741 }
c5ccf1ab
TL
15742 },
15743 "type" : "object"
bb6e6e0d
DM
15744 },
15745 "permissions" : {
15746 "check" : [
15747 "admin",
15748 "audit"
15749 ]
15750 },
15751 "protected" : 1,
15752 "proxyto" : "node",
15753 "returns" : {
c5ccf1ab 15754 "type" : "null"
bb6e6e0d 15755 }
bb6e6e0d
DM
15756 }
15757 },
c5ccf1ab
TL
15758 "leaf" : 1,
15759 "path" : "/nodes/{node}/config",
15760 "text" : "config"
bb6e6e0d 15761 },
241ac83c
TL
15762 {
15763 "info" : {
15764 "GET" : {
6bd70b95 15765 "allowtoken" : 1,
241ac83c
TL
15766 "description" : "Gather various system information about a node",
15767 "method" : "GET",
15768 "name" : "report",
15769 "parameters" : {
15770 "additionalProperties" : 0,
15771 "properties" : {
15772 "node" : {
15773 "description" : "The cluster node name.",
15774 "format" : "pve-node",
15775 "type" : "string",
15776 "typetext" : "<string>"
15777 }
15778 }
15779 },
15780 "permissions" : {
15781 "check" : [
15782 "admin",
15783 "audit"
15784 ]
15785 },
15786 "protected" : 1,
15787 "proxyto" : "node",
15788 "returns" : {
15789 "type" : "string"
15790 }
15791 }
15792 },
15793 "leaf" : 1,
15794 "path" : "/nodes/{node}/report",
15795 "text" : "report"
15796 },
9fda36b0
DM
15797 {
15798 "info" : {
15799 "GET" : {
6bd70b95 15800 "allowtoken" : 1,
9fda36b0
DM
15801 "description" : "Read node RRD statistics",
15802 "method" : "GET",
15803 "name" : "rrddata",
15804 "parameters" : {
15805 "additionalProperties" : 0,
15806 "properties" : {
15807 "cf" : {
15808 "description" : "The RRD consolidation function",
15809 "enum" : [
15810 "AVERAGE",
15811 "MAX"
15812 ],
15813 "optional" : 1,
15814 "type" : "string"
15815 },
15816 "node" : {
15817 "description" : "The cluster node name.",
15818 "format" : "pve-node",
15819 "type" : "string",
15820 "typetext" : "<string>"
15821 },
15822 "timeframe" : {
15823 "description" : "Specify the time frame you are interested in.",
15824 "enum" : [
15825 "hour",
15826 "day",
15827 "week",
15828 "month",
15829 "year"
15830 ],
15831 "type" : "string"
15832 }
15833 }
15834 },
732d76e1
DM
15835 "permissions" : {
15836 "check" : [
15837 "admin",
15838 "audit"
15839 ]
15840 },
9fda36b0
DM
15841 "protected" : 1,
15842 "proxyto" : "node",
15843 "returns" : {
15844 "items" : {
15845 "properties" : {},
15846 "type" : "object"
15847 },
15848 "type" : "array"
15849 }
15850 }
15851 },
15852 "leaf" : 1,
15853 "path" : "/nodes/{node}/rrddata",
15854 "text" : "rrddata"
15855 },
15856 {
15857 "info" : {
15858 "GET" : {
6bd70b95 15859 "allowtoken" : 1,
9fda36b0
DM
15860 "description" : "Read system log",
15861 "method" : "GET",
15862 "name" : "syslog",
15863 "parameters" : {
15864 "additionalProperties" : 0,
15865 "properties" : {
15866 "limit" : {
15867 "minimum" : 0,
15868 "optional" : 1,
15869 "type" : "integer",
15870 "typetext" : "<integer> (0 - N)"
15871 },
15872 "node" : {
15873 "description" : "The cluster node name.",
15874 "format" : "pve-node",
15875 "type" : "string",
15876 "typetext" : "<string>"
15877 },
15878 "service" : {
15879 "description" : "Service ID",
15880 "maxLength" : 128,
15881 "optional" : 1,
15882 "type" : "string",
15883 "typetext" : "<string>"
15884 },
15885 "since" : {
15886 "description" : "Display all log since this date-time string.",
15887 "optional" : 1,
15888 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
15889 "type" : "string"
15890 },
15891 "start" : {
15892 "minimum" : 0,
15893 "optional" : 1,
15894 "type" : "integer",
15895 "typetext" : "<integer> (0 - N)"
15896 },
15897 "until" : {
15898 "description" : "Display all log until this date-time string.",
15899 "optional" : 1,
15900 "pattern" : "^\\d{4}-\\d{2}-\\d{2}( \\d{2}:\\d{2}(:\\d{2})?)?$",
15901 "type" : "string"
15902 }
15903 }
15904 },
732d76e1
DM
15905 "permissions" : {
15906 "check" : [
15907 "admin",
15908 "audit"
15909 ]
15910 },
9fda36b0
DM
15911 "protected" : 1,
15912 "proxyto" : "node",
15913 "returns" : {
15914 "items" : {
15915 "properties" : {
15916 "n" : {
15917 "description" : "Line number",
15918 "type" : "integer"
15919 },
15920 "t" : {
15921 "description" : "Line text",
15922 "type" : "string"
15923 }
15924 },
15925 "type" : "object"
15926 },
15927 "type" : "array"
15928 }
15929 }
15930 },
15931 "leaf" : 1,
15932 "path" : "/nodes/{node}/syslog",
15933 "text" : "syslog"
15934 },
241ac83c
TL
15935 {
15936 "info" : {
15937 "GET" : {
6bd70b95 15938 "allowtoken" : 1,
241ac83c
TL
15939 "description" : "Read Journal",
15940 "method" : "GET",
15941 "name" : "journal",
15942 "parameters" : {
15943 "additionalProperties" : 0,
15944 "properties" : {
15945 "endcursor" : {
15946 "description" : "End before the given Cursor. Conflicts with 'until'.",
15947 "optional" : 1,
15948 "type" : "string",
15949 "typetext" : "<string>"
15950 },
15951 "lastentries" : {
15952 "description" : "Limit to the last X lines. Conflicts with a range.",
15953 "minimum" : 0,
15954 "optional" : 1,
15955 "type" : "integer",
15956 "typetext" : "<integer> (0 - N)"
15957 },
15958 "node" : {
15959 "description" : "The cluster node name.",
15960 "format" : "pve-node",
15961 "type" : "string",
15962 "typetext" : "<string>"
15963 },
15964 "since" : {
15965 "description" : "Display all log since this UNIX epoch. Conflicts with 'startcursor'.",
15966 "minimum" : 0,
15967 "optional" : 1,
15968 "type" : "integer",
15969 "typetext" : "<integer> (0 - N)"
15970 },
15971 "startcursor" : {
15972 "description" : "Start after the given Cursor. Conflicts with 'since'.",
15973 "optional" : 1,
15974 "type" : "string",
15975 "typetext" : "<string>"
15976 },
15977 "until" : {
15978 "description" : "Display all log until this UNIX epoch. Conflicts with 'endcursor'.",
15979 "minimum" : 0,
15980 "optional" : 1,
15981 "type" : "integer",
15982 "typetext" : "<integer> (0 - N)"
15983 }
15984 }
15985 },
15986 "permissions" : {
15987 "check" : [
15988 "admin",
15989 "audit"
15990 ]
15991 },
15992 "protected" : 1,
15993 "proxyto" : "node",
15994 "returns" : {
15995 "items" : {
15996 "type" : "string"
15997 },
15998 "type" : "array"
15999 }
16000 }
16001 },
16002 "leaf" : 1,
16003 "path" : "/nodes/{node}/journal",
16004 "text" : "journal"
16005 },
9fda36b0
DM
16006 {
16007 "info" : {
16008 "POST" : {
6bd70b95 16009 "allowtoken" : 1,
274b47fc 16010 "description" : "Creates a Terminal proxy.",
9fda36b0 16011 "method" : "POST",
274b47fc 16012 "name" : "termproxy",
9fda36b0
DM
16013 "parameters" : {
16014 "additionalProperties" : 0,
16015 "properties" : {
c5ccf1ab
TL
16016 "cmd" : {
16017 "default" : "login",
16018 "description" : "Run specific command or default to login.",
16019 "enum" : [
14ffe66b
TL
16020 "login",
16021 "upgrade"
c5ccf1ab
TL
16022 ],
16023 "optional" : 1,
16024 "type" : "string"
16025 },
16026 "cmd-opts" : {
16027 "default" : "",
16028 "description" : "Add parameters to a command. Encoded as null terminated strings.",
16029 "optional" : 1,
16030 "requires" : "cmd",
16031 "type" : "string",
16032 "typetext" : "<string>"
16033 },
9fda36b0
DM
16034 "node" : {
16035 "description" : "The cluster node name.",
16036 "format" : "pve-node",
16037 "type" : "string",
16038 "typetext" : "<string>"
9fda36b0
DM
16039 }
16040 }
16041 },
274b47fc
DM
16042 "permissions" : {
16043 "check" : [
16044 "admin"
16045 ]
16046 },
9fda36b0
DM
16047 "protected" : 1,
16048 "returns" : {
16049 "additionalProperties" : 0,
16050 "properties" : {
16051 "port" : {
16052 "type" : "integer"
16053 },
16054 "ticket" : {
16055 "type" : "string"
16056 },
16057 "upid" : {
16058 "type" : "string"
16059 },
16060 "user" : {
16061 "type" : "string"
16062 }
16063 }
16064 }
16065 }
16066 },
16067 "leaf" : 1,
274b47fc
DM
16068 "path" : "/nodes/{node}/termproxy",
16069 "text" : "termproxy"
9fda36b0
DM
16070 },
16071 {
16072 "info" : {
16073 "GET" : {
6bd70b95 16074 "allowtoken" : 1,
9fda36b0
DM
16075 "description" : "Opens a weksocket for VNC traffic.",
16076 "method" : "GET",
16077 "name" : "vncwebsocket",
16078 "parameters" : {
16079 "additionalProperties" : 0,
16080 "properties" : {
16081 "node" : {
16082 "description" : "The cluster node name.",
16083 "format" : "pve-node",
16084 "type" : "string",
16085 "typetext" : "<string>"
16086 },
16087 "port" : {
16088 "description" : "Port number returned by previous vncproxy call.",
16089 "maximum" : 5999,
16090 "minimum" : 5900,
16091 "type" : "integer",
16092 "typetext" : "<integer> (5900 - 5999)"
16093 },
16094 "vncticket" : {
16095 "description" : "Ticket from previous call to vncproxy.",
16096 "maxLength" : 512,
16097 "type" : "string",
16098 "typetext" : "<string>"
16099 }
16100 }
16101 },
274b47fc
DM
16102 "permissions" : {
16103 "check" : [
16104 "admin"
16105 ]
16106 },
9fda36b0
DM
16107 "returns" : {
16108 "properties" : {
16109 "port" : {
16110 "type" : "string"
16111 }
16112 },
16113 "type" : "object"
16114 }
16115 }
16116 },
16117 "leaf" : 1,
16118 "path" : "/nodes/{node}/vncwebsocket",
16119 "text" : "vncwebsocket"
16120 },
16121 {
16122 "info" : {
16123 "GET" : {
6bd70b95 16124 "allowtoken" : 1,
9fda36b0
DM
16125 "description" : "Read DNS settings.",
16126 "method" : "GET",
16127 "name" : "dns",
16128 "parameters" : {
16129 "additionalProperties" : 0,
16130 "properties" : {
16131 "node" : {
16132 "description" : "The cluster node name.",
16133 "format" : "pve-node",
16134 "type" : "string",
16135 "typetext" : "<string>"
16136 }
16137 }
16138 },
732d76e1
DM
16139 "permissions" : {
16140 "check" : [
16141 "admin",
16142 "audit"
16143 ]
16144 },
9fda36b0
DM
16145 "proxyto" : "node",
16146 "returns" : {
16147 "additionalProperties" : 0,
16148 "properties" : {
16149 "dns1" : {
16150 "description" : "First name server IP address.",
16151 "optional" : 1,
16152 "type" : "string"
16153 },
16154 "dns2" : {
16155 "description" : "Second name server IP address.",
16156 "optional" : 1,
16157 "type" : "string"
16158 },
16159 "dns3" : {
16160 "description" : "Third name server IP address.",
16161 "optional" : 1,
16162 "type" : "string"
16163 },
16164 "search" : {
16165 "description" : "Search domain for host-name lookup.",
16166 "optional" : 1,
16167 "type" : "string"
16168 }
16169 },
16170 "type" : "object"
16171 }
16172 },
16173 "PUT" : {
6bd70b95 16174 "allowtoken" : 1,
9fda36b0
DM
16175 "description" : "Write DNS settings.",
16176 "method" : "PUT",
16177 "name" : "update_dns",
16178 "parameters" : {
16179 "additionalProperties" : 0,
16180 "properties" : {
16181 "dns1" : {
16182 "description" : "First name server IP address.",
16183 "format" : "ip",
16184 "optional" : 1,
16185 "type" : "string",
16186 "typetext" : "<string>"
16187 },
16188 "dns2" : {
16189 "description" : "Second name server IP address.",
16190 "format" : "ip",
16191 "optional" : 1,
16192 "type" : "string",
16193 "typetext" : "<string>"
16194 },
16195 "dns3" : {
16196 "description" : "Third name server IP address.",
16197 "format" : "ip",
16198 "optional" : 1,
16199 "type" : "string",
16200 "typetext" : "<string>"
16201 },
16202 "node" : {
16203 "description" : "The cluster node name.",
16204 "format" : "pve-node",
16205 "type" : "string",
16206 "typetext" : "<string>"
16207 },
16208 "search" : {
16209 "description" : "Search domain for host-name lookup.",
16210 "type" : "string",
16211 "typetext" : "<string>"
16212 }
16213 }
16214 },
16215 "protected" : 1,
16216 "proxyto" : "node",
16217 "returns" : {
16218 "type" : "null"
16219 }
16220 }
16221 },
16222 "leaf" : 1,
16223 "path" : "/nodes/{node}/dns",
16224 "text" : "dns"
16225 },
16226 {
16227 "info" : {
16228 "GET" : {
6bd70b95 16229 "allowtoken" : 1,
9fda36b0
DM
16230 "description" : "Read server time and time zone settings.",
16231 "method" : "GET",
16232 "name" : "time",
16233 "parameters" : {
16234 "additionalProperties" : 0,
16235 "properties" : {
16236 "node" : {
16237 "description" : "The cluster node name.",
16238 "format" : "pve-node",
16239 "type" : "string",
16240 "typetext" : "<string>"
16241 }
16242 }
16243 },
732d76e1
DM
16244 "permissions" : {
16245 "check" : [
16246 "admin",
16247 "audit"
16248 ]
16249 },
9fda36b0
DM
16250 "proxyto" : "node",
16251 "returns" : {
16252 "additionalProperties" : 0,
16253 "properties" : {
16254 "localtime" : {
16255 "description" : "Seconds since 1970-01-01 00:00:00 (local time)",
16256 "minimum" : 1297163644,
16257 "type" : "integer"
16258 },
16259 "time" : {
16260 "description" : "Seconds since 1970-01-01 00:00:00 UTC.",
16261 "minimum" : 1297163644,
16262 "type" : "integer"
16263 },
16264 "timezone" : {
16265 "description" : "Time zone",
16266 "type" : "string"
16267 }
16268 },
16269 "type" : "object"
16270 }
16271 },
16272 "PUT" : {
6bd70b95 16273 "allowtoken" : 1,
9fda36b0
DM
16274 "description" : "Set time zone.",
16275 "method" : "PUT",
16276 "name" : "set_timezone",
16277 "parameters" : {
16278 "additionalProperties" : 0,
16279 "properties" : {
16280 "node" : {
16281 "description" : "The cluster node name.",
16282 "format" : "pve-node",
16283 "type" : "string",
16284 "typetext" : "<string>"
16285 },
16286 "timezone" : {
16287 "description" : "Time zone. The file '/usr/share/zoneinfo/zone.tab' contains the list of valid names.",
16288 "type" : "string",
16289 "typetext" : "<string>"
16290 }
16291 }
16292 },
16293 "protected" : 1,
16294 "proxyto" : "node",
16295 "returns" : {
16296 "type" : "null"
16297 }
16298 }
16299 },
16300 "leaf" : 1,
16301 "path" : "/nodes/{node}/time",
16302 "text" : "time"
16303 },
16304 {
16305 "info" : {
16306 "GET" : {
6bd70b95 16307 "allowtoken" : 1,
9fda36b0
DM
16308 "description" : "Read server status. This is used by the cluster manager to test the node health.",
16309 "method" : "GET",
16310 "name" : "status",
16311 "parameters" : {
16312 "additionalProperties" : 0,
16313 "properties" : {
16314 "node" : {
16315 "description" : "The cluster node name.",
16316 "format" : "pve-node",
16317 "type" : "string",
16318 "typetext" : "<string>"
16319 }
16320 }
16321 },
241ac83c
TL
16322 "permissions" : {
16323 "check" : [
16324 "admin",
16325 "qmanager",
16326 "audit"
16327 ]
16328 },
9fda36b0
DM
16329 "protected" : 1,
16330 "proxyto" : "node",
16331 "returns" : {
16332 "additionalProperties" : 1,
16333 "properties" : {
16334 "insync" : {
16335 "description" : "Database is synced with other nodes.",
16336 "type" : "boolean"
16337 },
16338 "time" : {
16339 "description" : "Seconds since 1970-01-01 00:00:00 UTC.",
16340 "minimum" : 1297163644,
16341 "type" : "integer"
16342 },
16343 "uptime" : {
16344 "description" : "The uptime of the system in seconds.",
16345 "minimum" : 0,
16346 "type" : "integer"
16347 }
16348 },
16349 "type" : "object"
16350 }
274b47fc
DM
16351 },
16352 "POST" : {
6bd70b95 16353 "allowtoken" : 1,
274b47fc
DM
16354 "description" : "Reboot or shutdown a node.",
16355 "method" : "POST",
16356 "name" : "node_cmd",
16357 "parameters" : {
16358 "additionalProperties" : 0,
16359 "properties" : {
16360 "command" : {
16361 "description" : "Specify the command.",
16362 "enum" : [
16363 "reboot",
16364 "shutdown"
16365 ],
16366 "type" : "string"
16367 },
16368 "node" : {
16369 "description" : "The cluster node name.",
16370 "format" : "pve-node",
16371 "type" : "string",
16372 "typetext" : "<string>"
16373 }
16374 }
16375 },
16376 "permissions" : {
16377 "check" : [
16378 "admin"
16379 ]
16380 },
16381 "protected" : 1,
16382 "proxyto" : "node",
16383 "returns" : {
16384 "type" : "null"
16385 }
9fda36b0
DM
16386 }
16387 },
16388 "leaf" : 1,
16389 "path" : "/nodes/{node}/status",
16390 "text" : "status"
16391 }
16392 ],
16393 "info" : {
16394 "GET" : {
6bd70b95 16395 "allowtoken" : 1,
9fda36b0
DM
16396 "description" : "Node index.",
16397 "method" : "GET",
16398 "name" : "index",
16399 "parameters" : {
16400 "additionalProperties" : 0,
16401 "properties" : {
16402 "node" : {
16403 "description" : "The cluster node name.",
16404 "format" : "pve-node",
16405 "type" : "string",
16406 "typetext" : "<string>"
16407 }
16408 }
16409 },
16410 "permissions" : {
16411 "user" : "all"
16412 },
16413 "returns" : {
16414 "items" : {
16415 "properties" : {},
16416 "type" : "object"
16417 },
16418 "links" : [
16419 {
16420 "href" : "{name}",
16421 "rel" : "child"
16422 }
16423 ],
16424 "type" : "array"
16425 }
16426 }
16427 },
16428 "leaf" : 0,
16429 "path" : "/nodes/{node}",
16430 "text" : "{node}"
16431 }
16432 ],
16433 "info" : {
16434 "GET" : {
6bd70b95 16435 "allowtoken" : 1,
9fda36b0
DM
16436 "description" : "Cluster node index.",
16437 "method" : "GET",
16438 "name" : "index",
16439 "parameters" : {
16440 "additionalProperties" : 0
16441 },
16442 "permissions" : {
16443 "user" : "all"
16444 },
16445 "returns" : {
16446 "items" : {
16447 "properties" : {},
16448 "type" : "object"
16449 },
16450 "links" : [
16451 {
16452 "href" : "{node}",
16453 "rel" : "child"
16454 }
16455 ],
16456 "type" : "array"
16457 }
16458 }
16459 },
16460 "leaf" : 0,
16461 "path" : "/nodes",
16462 "text" : "nodes"
16463 },
16464 {
16465 "children" : [
16466 {
16467 "children" : [
16468 {
16469 "info" : {
16470 "DELETE" : {
6bd70b95 16471 "allowtoken" : 1,
9fda36b0
DM
16472 "description" : "Delete a user.",
16473 "method" : "DELETE",
16474 "name" : "delete",
16475 "parameters" : {
16476 "additionalProperties" : 0,
16477 "properties" : {
16478 "userid" : {
16479 "description" : "User ID",
16480 "format" : "pmg-userid",
16481 "maxLength" : 64,
16482 "minLength" : 4,
16483 "type" : "string",
16484 "typetext" : "<string>"
16485 }
16486 }
16487 },
16488 "protected" : 1,
16489 "proxyto" : "master",
16490 "returns" : {
16491 "type" : "null"
16492 }
16493 },
16494 "GET" : {
6bd70b95 16495 "allowtoken" : 1,
9fda36b0
DM
16496 "description" : "Read User data.",
16497 "method" : "GET",
16498 "name" : "read",
16499 "parameters" : {
16500 "additionalProperties" : 0,
16501 "properties" : {
16502 "userid" : {
16503 "description" : "User ID",
16504 "format" : "pmg-userid",
16505 "maxLength" : 64,
16506 "minLength" : 4,
16507 "type" : "string",
16508 "typetext" : "<string>"
16509 }
16510 }
16511 },
4a46ced6
DM
16512 "permissions" : {
16513 "check" : [
16514 "admin",
16515 "qmanager",
16516 "audit"
16517 ]
16518 },
9fda36b0
DM
16519 "protected" : 1,
16520 "proxyto" : "master",
16521 "returns" : {
9fda36b0
DM
16522 "type" : "object"
16523 }
16524 },
e0e71e6a
TL
16525 "PUT" : {
16526 "allowtoken" : 1,
16527 "description" : "Update user data.",
16528 "method" : "PUT",
16529 "name" : "write",
16530 "parameters" : {
16531 "additionalProperties" : 0,
16532 "properties" : {
16533 "comment" : {
16534 "description" : "Comment.",
16535 "optional" : 1,
16536 "type" : "string",
16537 "typetext" : "<string>"
16538 },
16539 "crypt_pass" : {
16540 "description" : "Encrypted password (see `man crypt`)",
16541 "optional" : 1,
16542 "pattern" : "\\$\\d\\$[a-zA-Z0-9\\.\\/]+\\$[a-zA-Z0-9\\.\\/]+",
16543 "type" : "string"
16544 },
16545 "delete" : {
16546 "description" : "A list of settings you want to delete.",
16547 "format" : "pve-configid-list",
16548 "maxLength" : 4096,
16549 "optional" : 1,
16550 "type" : "string",
16551 "typetext" : "<string>"
16552 },
16553 "email" : {
16554 "description" : "Users E-Mail address.",
16555 "format" : "email",
16556 "optional" : 1,
16557 "type" : "string",
16558 "typetext" : "<string>"
16559 },
16560 "enable" : {
16561 "default" : 0,
16562 "description" : "Flag to enable or disable the account.",
16563 "optional" : 1,
16564 "type" : "boolean",
16565 "typetext" : "<boolean>"
16566 },
16567 "expire" : {
16568 "default" : 0,
16569 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
16570 "minimum" : 0,
16571 "optional" : 1,
16572 "type" : "integer",
16573 "typetext" : "<integer> (0 - N)"
16574 },
16575 "firstname" : {
16576 "description" : "First name.",
16577 "maxLength" : 64,
16578 "optional" : 1,
16579 "type" : "string",
16580 "typetext" : "<string>"
16581 },
16582 "keys" : {
16583 "description" : "Keys for two factor auth (yubico).",
16584 "maxLength" : 128,
16585 "optional" : 1,
16586 "type" : "string",
16587 "typetext" : "<string>"
16588 },
16589 "lastname" : {
16590 "description" : "Last name.",
16591 "maxLength" : 64,
16592 "optional" : 1,
16593 "type" : "string",
16594 "typetext" : "<string>"
16595 },
16596 "password" : {
16597 "description" : "Password",
16598 "maxLength" : 32,
16599 "minLength" : 5,
16600 "optional" : 1,
16601 "type" : "string",
16602 "typetext" : "<string>"
16603 },
16604 "role" : {
16605 "description" : "User role. Role 'root' is reserved for the Unix Superuser.",
16606 "enum" : [
16607 "root",
16608 "admin",
16609 "helpdesk",
16610 "qmanager",
16611 "audit"
16612 ],
16613 "optional" : 1,
16614 "type" : "string"
16615 },
16616 "userid" : {
16617 "description" : "User ID",
16618 "format" : "pmg-userid",
16619 "maxLength" : 64,
16620 "minLength" : 4,
16621 "type" : "string",
16622 "typetext" : "<string>"
16623 }
16624 }
16625 },
16626 "protected" : 1,
16627 "proxyto" : "master",
16628 "returns" : {
16629 "type" : "null"
16630 }
16631 }
16632 },
16633 "leaf" : 1,
16634 "path" : "/access/users/{userid}",
16635 "text" : "{userid}"
16636 }
16637 ],
16638 "info" : {
16639 "GET" : {
16640 "allowtoken" : 1,
16641 "description" : "List users.",
16642 "method" : "GET",
16643 "name" : "index",
16644 "parameters" : {
16645 "additionalProperties" : 0
16646 },
16647 "permissions" : {
16648 "check" : [
16649 "admin",
16650 "qmanager",
16651 "audit"
16652 ]
16653 },
16654 "protected" : 1,
16655 "proxyto" : "master",
16656 "returns" : {
16657 "items" : {
16658 "properties" : {
16659 "comment" : {
16660 "optional" : 1,
16661 "type" : "string"
16662 },
16663 "enable" : {
16664 "type" : "boolean"
16665 },
16666 "role" : {
16667 "type" : "string"
16668 },
16669 "userid" : {
16670 "type" : "string"
16671 }
16672 },
16673 "type" : "object"
16674 },
16675 "links" : [
16676 {
16677 "href" : "{userid}",
16678 "rel" : "child"
16679 }
16680 ],
16681 "type" : "array"
16682 }
16683 },
16684 "POST" : {
16685 "allowtoken" : 1,
16686 "description" : "Create new user",
16687 "method" : "POST",
16688 "name" : "create",
16689 "parameters" : {
16690 "additionalProperties" : 0,
16691 "properties" : {
16692 "comment" : {
16693 "description" : "Comment.",
16694 "optional" : 1,
16695 "type" : "string",
16696 "typetext" : "<string>"
16697 },
16698 "crypt_pass" : {
16699 "description" : "Encrypted password (see `man crypt`)",
16700 "optional" : 1,
16701 "pattern" : "\\$\\d\\$[a-zA-Z0-9\\.\\/]+\\$[a-zA-Z0-9\\.\\/]+",
16702 "type" : "string"
16703 },
16704 "email" : {
16705 "description" : "Users E-Mail address.",
16706 "format" : "email",
16707 "optional" : 1,
16708 "type" : "string",
16709 "typetext" : "<string>"
16710 },
16711 "enable" : {
16712 "default" : 0,
16713 "description" : "Flag to enable or disable the account.",
16714 "optional" : 1,
16715 "type" : "boolean",
16716 "typetext" : "<boolean>"
16717 },
16718 "expire" : {
16719 "default" : 0,
16720 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
16721 "minimum" : 0,
16722 "optional" : 1,
16723 "type" : "integer",
16724 "typetext" : "<integer> (0 - N)"
16725 },
16726 "firstname" : {
16727 "description" : "First name.",
16728 "maxLength" : 64,
16729 "optional" : 1,
16730 "type" : "string",
16731 "typetext" : "<string>"
16732 },
16733 "keys" : {
16734 "description" : "Keys for two factor auth (yubico).",
16735 "maxLength" : 128,
16736 "optional" : 1,
16737 "type" : "string",
16738 "typetext" : "<string>"
16739 },
16740 "lastname" : {
16741 "description" : "Last name.",
16742 "maxLength" : 64,
16743 "optional" : 1,
16744 "type" : "string",
16745 "typetext" : "<string>"
16746 },
16747 "password" : {
16748 "description" : "Password",
16749 "maxLength" : 32,
16750 "minLength" : 5,
16751 "optional" : 1,
16752 "type" : "string",
16753 "typetext" : "<string>"
16754 },
16755 "role" : {
16756 "description" : "User role. Role 'root' is reserved for the Unix Superuser.",
16757 "enum" : [
16758 "root",
16759 "admin",
16760 "helpdesk",
16761 "qmanager",
16762 "audit"
16763 ],
16764 "type" : "string"
16765 },
16766 "userid" : {
16767 "description" : "User ID",
16768 "format" : "pmg-userid",
16769 "maxLength" : 64,
16770 "minLength" : 4,
16771 "type" : "string",
16772 "typetext" : "<string>"
16773 }
16774 }
16775 },
16776 "protected" : 1,
16777 "proxyto" : "master",
16778 "returns" : {
16779 "type" : "null"
16780 }
16781 }
16782 },
16783 "leaf" : 0,
16784 "path" : "/access/users",
16785 "text" : "users"
16786 },
16787 {
16788 "children" : [
16789 {
16790 "children" : [
16791 {
16792 "info" : {
16793 "DELETE" : {
16794 "allowtoken" : 0,
16795 "description" : "Delete a TFA entry by ID.",
16796 "method" : "DELETE",
16797 "name" : "delete_tfa",
16798 "parameters" : {
16799 "additionalProperties" : 0,
16800 "properties" : {
16801 "id" : {
16802 "description" : "A TFA entry id.",
16803 "type" : "string",
16804 "typetext" : "<string>"
16805 },
16806 "password" : {
16807 "description" : "The current password.",
16808 "maxLength" : 64,
16809 "minLength" : 5,
16810 "optional" : 1,
16811 "type" : "string",
16812 "typetext" : "<string>"
16813 },
16814 "userid" : {
16815 "description" : "User ID",
16816 "format" : "pmg-userid",
16817 "maxLength" : 64,
16818 "minLength" : 4,
16819 "type" : "string",
16820 "typetext" : "<string>"
16821 }
16822 }
16823 },
16824 "permissions" : {
16825 "check" : [
16826 "admin",
16827 "qmanager",
16828 "audit"
16829 ],
16830 "description" : "Each user is allowed to modify their own TFA entries. Only root can modify entries of another user."
16831 },
16832 "protected" : 1,
16833 "proxyto" : "master",
16834 "returns" : {
16835 "type" : "null"
16836 }
16837 },
16838 "GET" : {
16839 "allowtoken" : 0,
16840 "description" : "Fetch a requested TFA entry if present.",
16841 "method" : "GET",
16842 "name" : "get_tfa_entry",
16843 "parameters" : {
16844 "additionalProperties" : 0,
16845 "properties" : {
16846 "id" : {
16847 "description" : "A TFA entry id.",
16848 "type" : "string",
16849 "typetext" : "<string>"
16850 },
16851 "userid" : {
16852 "description" : "User ID",
16853 "format" : "pmg-userid",
16854 "maxLength" : 64,
16855 "minLength" : 4,
16856 "type" : "string",
16857 "typetext" : "<string>"
16858 }
16859 }
16860 },
16861 "permissions" : {
16862 "description" : "Each user is allowed to view their own TFA entries. Only root can view entries of another user.",
16863 "user" : "all"
16864 },
16865 "protected" : 1,
16866 "proxyto" : "master",
16867 "returns" : {
16868 "description" : "TFA Entry.",
16869 "properties" : {
16870 "created" : {
16871 "description" : "Creation time of this entry as unix epoch.",
16872 "type" : "integer"
16873 },
16874 "description" : {
16875 "description" : "User chosen description for this entry.",
16876 "type" : "string"
16877 },
16878 "enable" : {
16879 "default" : 1,
16880 "description" : "Whether this TFA entry is currently enabled.",
16881 "optional" : 1,
16882 "type" : "boolean"
16883 },
16884 "id" : {
16885 "description" : "The id used to reference this entry.",
16886 "type" : "string"
16887 },
16888 "type" : {
16889 "description" : "TFA Entry Type.",
16890 "enum" : [
16891 "totp",
16892 "u2f",
16893 "webauthn",
16894 "recovery"
16895 ],
16896 "type" : "string"
16897 }
16898 },
16899 "type" : "object"
16900 }
16901 },
16902 "PUT" : {
16903 "allowtoken" : 0,
16904 "description" : "Add a TFA entry for a user.",
16905 "method" : "PUT",
16906 "name" : "update_tfa_entry",
16907 "parameters" : {
16908 "additionalProperties" : 0,
16909 "properties" : {
16910 "description" : {
16911 "description" : "A description to distinguish multiple entries from one another",
16912 "maxLength" : 255,
16913 "optional" : 1,
16914 "type" : "string",
16915 "typetext" : "<string>"
16916 },
16917 "enable" : {
16918 "description" : "Whether the entry should be enabled for login.",
16919 "optional" : 1,
16920 "type" : "boolean",
16921 "typetext" : "<boolean>"
16922 },
16923 "id" : {
16924 "description" : "A TFA entry id.",
16925 "type" : "string",
16926 "typetext" : "<string>"
16927 },
16928 "password" : {
16929 "description" : "The current password.",
16930 "maxLength" : 64,
16931 "minLength" : 5,
16932 "optional" : 1,
16933 "type" : "string",
16934 "typetext" : "<string>"
16935 },
16936 "userid" : {
16937 "description" : "User ID",
16938 "format" : "pmg-userid",
16939 "maxLength" : 64,
16940 "minLength" : 4,
16941 "type" : "string",
16942 "typetext" : "<string>"
16943 }
16944 }
16945 },
16946 "permissions" : {
16947 "check" : [
16948 "admin",
16949 "qmanager",
16950 "audit"
16951 ],
16952 "description" : "Each user is allowed to modify their own TFA entries. Only root can modify entries of another user."
16953 },
16954 "protected" : 1,
16955 "proxyto" : "master",
16956 "returns" : {
16957 "type" : "null"
16958 }
16959 }
16960 },
16961 "leaf" : 1,
16962 "path" : "/access/tfa/{userid}/{id}",
16963 "text" : "{id}"
16964 }
16965 ],
16966 "info" : {
16967 "GET" : {
16968 "allowtoken" : 0,
16969 "description" : "List TFA configurations of users.",
16970 "method" : "GET",
16971 "name" : "list_user_tfa",
16972 "parameters" : {
16973 "additionalProperties" : 0,
16974 "properties" : {
16975 "userid" : {
16976 "description" : "User ID",
16977 "format" : "pmg-userid",
16978 "maxLength" : 64,
16979 "minLength" : 4,
16980 "type" : "string",
16981 "typetext" : "<string>"
16982 }
16983 }
16984 },
16985 "permissions" : {
16986 "description" : "Each user is allowed to view their own TFA entries. Only root can view entries of another user.",
16987 "user" : "all"
16988 },
16989 "protected" : 1,
16990 "proxyto" : "master",
16991 "returns" : {
16992 "description" : "A list of the user's TFA entries.",
16993 "items" : {
16994 "description" : "TFA Entry.",
16995 "properties" : {
16996 "created" : {
16997 "description" : "Creation time of this entry as unix epoch.",
16998 "type" : "integer"
16999 },
17000 "description" : {
17001 "description" : "User chosen description for this entry.",
17002 "type" : "string"
17003 },
17004 "enable" : {
17005 "default" : 1,
17006 "description" : "Whether this TFA entry is currently enabled.",
17007 "optional" : 1,
17008 "type" : "boolean"
17009 },
17010 "id" : {
17011 "description" : "The id used to reference this entry.",
17012 "type" : "string"
17013 },
17014 "type" : {
17015 "description" : "TFA Entry Type.",
17016 "enum" : [
17017 "totp",
17018 "u2f",
17019 "webauthn",
17020 "recovery"
17021 ],
17022 "type" : "string"
17023 }
17024 },
17025 "type" : "object"
17026 },
17027 "type" : "array"
17028 }
17029 },
17030 "POST" : {
17031 "allowtoken" : 0,
17032 "description" : "Add a TFA entry for a user.",
17033 "method" : "POST",
17034 "name" : "add_tfa_entry",
9fda36b0
DM
17035 "parameters" : {
17036 "additionalProperties" : 0,
17037 "properties" : {
e0e71e6a
TL
17038 "challenge" : {
17039 "description" : "When responding to a u2f challenge: the original challenge string",
9fda36b0
DM
17040 "optional" : 1,
17041 "type" : "string",
17042 "typetext" : "<string>"
17043 },
e0e71e6a
TL
17044 "description" : {
17045 "description" : "A description to distinguish multiple entries from one another",
17046 "maxLength" : 255,
9fda36b0
DM
17047 "optional" : 1,
17048 "type" : "string",
17049 "typetext" : "<string>"
17050 },
e0e71e6a
TL
17051 "password" : {
17052 "description" : "The current password.",
9fda36b0 17053 "maxLength" : 64,
e0e71e6a 17054 "minLength" : 5,
9fda36b0
DM
17055 "optional" : 1,
17056 "type" : "string",
17057 "typetext" : "<string>"
17058 },
e0e71e6a
TL
17059 "totp" : {
17060 "description" : "A totp URI.",
9fda36b0
DM
17061 "optional" : 1,
17062 "type" : "string",
17063 "typetext" : "<string>"
17064 },
e0e71e6a
TL
17065 "type" : {
17066 "description" : "TFA Entry Type.",
9fda36b0 17067 "enum" : [
e0e71e6a
TL
17068 "totp",
17069 "u2f",
17070 "webauthn",
17071 "recovery"
9fda36b0 17072 ],
9fda36b0
DM
17073 "type" : "string"
17074 },
17075 "userid" : {
17076 "description" : "User ID",
17077 "format" : "pmg-userid",
17078 "maxLength" : 64,
17079 "minLength" : 4,
17080 "type" : "string",
17081 "typetext" : "<string>"
e0e71e6a
TL
17082 },
17083 "value" : {
17084 "description" : "The current value for the provided totp URI, or a Webauthn/U2F challenge response",
17085 "optional" : 1,
17086 "type" : "string",
17087 "typetext" : "<string>"
9fda36b0
DM
17088 }
17089 }
17090 },
e0e71e6a
TL
17091 "permissions" : {
17092 "check" : [
17093 "admin",
17094 "qmanager",
17095 "audit"
17096 ],
17097 "description" : "Each user is allowed to modify their own TFA entries. Only root can modify entries of another user."
17098 },
9fda36b0
DM
17099 "protected" : 1,
17100 "proxyto" : "master",
17101 "returns" : {
e0e71e6a
TL
17102 "properties" : {
17103 "challenge" : {
17104 "description" : "When adding u2f entries, this contains a challenge the user must respond to in order to finish the registration.",
17105 "optional" : 1,
17106 "type" : "string"
17107 },
17108 "id" : {
17109 "description" : "The id of a newly added TFA entry.",
17110 "type" : "string"
17111 },
17112 "recovery" : {
17113 "description" : "When adding recovery codes, this contains the list of codes to be displayed to the user",
17114 "items" : {
17115 "description" : "A recovery entry.",
17116 "type" : "string"
17117 },
17118 "optional" : 1,
17119 "type" : "array"
17120 }
17121 },
17122 "type" : "object"
9fda36b0
DM
17123 }
17124 }
17125 },
e0e71e6a
TL
17126 "leaf" : 0,
17127 "path" : "/access/tfa/{userid}",
9fda36b0
DM
17128 "text" : "{userid}"
17129 }
17130 ],
17131 "info" : {
17132 "GET" : {
e0e71e6a
TL
17133 "allowtoken" : 0,
17134 "description" : "List TFA configurations of users.",
9fda36b0 17135 "method" : "GET",
e0e71e6a 17136 "name" : "list_tfa",
9fda36b0
DM
17137 "parameters" : {
17138 "additionalProperties" : 0
17139 },
17140 "permissions" : {
e0e71e6a
TL
17141 "description" : "Returns all or just the logged-in user, depending on privileges.",
17142 "user" : "all"
9fda36b0
DM
17143 },
17144 "protected" : 1,
17145 "proxyto" : "master",
17146 "returns" : {
e0e71e6a 17147 "description" : "The list tuples of user and TFA entries.",
9fda36b0
DM
17148 "items" : {
17149 "properties" : {
e0e71e6a
TL
17150 "entries" : {
17151 "items" : {
17152 "description" : "TFA Entry.",
17153 "properties" : {
17154 "created" : {
17155 "description" : "Creation time of this entry as unix epoch.",
17156 "type" : "integer"
17157 },
17158 "description" : {
17159 "description" : "User chosen description for this entry.",
17160 "type" : "string"
17161 },
17162 "enable" : {
17163 "default" : 1,
17164 "description" : "Whether this TFA entry is currently enabled.",
17165 "optional" : 1,
17166 "type" : "boolean"
17167 },
17168 "id" : {
17169 "description" : "The id used to reference this entry.",
17170 "type" : "string"
17171 },
17172 "type" : {
17173 "description" : "TFA Entry Type.",
17174 "enum" : [
17175 "totp",
17176 "u2f",
17177 "webauthn",
17178 "recovery"
17179 ],
17180 "type" : "string"
17181 }
17182 },
17183 "type" : "object"
17184 },
17185 "type" : "array"
9fda36b0
DM
17186 },
17187 "userid" : {
e0e71e6a 17188 "description" : "User this entry belongs to.",
9fda36b0
DM
17189 "type" : "string"
17190 }
17191 },
17192 "type" : "object"
17193 },
9fda36b0
DM
17194 "type" : "array"
17195 }
9fda36b0
DM
17196 }
17197 },
17198 "leaf" : 0,
e0e71e6a
TL
17199 "path" : "/access/tfa",
17200 "text" : "tfa"
9fda36b0
DM
17201 },
17202 {
17203 "info" : {
17204 "GET" : {
6bd70b95 17205 "allowtoken" : 1,
9fda36b0
DM
17206 "description" : "Dummy. Useful for formaters which want to priovde a login page.",
17207 "method" : "GET",
17208 "name" : "get_ticket",
17209 "parameters" : {
17210 "additionalProperties" : 0
17211 },
17212 "permissions" : {
17213 "user" : "world"
17214 },
17215 "returns" : {
17216 "type" : "null"
17217 }
a55e94a6 17218 },
9fda36b0 17219 "POST" : {
6bd70b95 17220 "allowtoken" : 1,
9fda36b0
DM
17221 "description" : "Create or verify authentication ticket.",
17222 "method" : "POST",
17223 "name" : "create_ticket",
17224 "parameters" : {
17225 "additionalProperties" : 0,
17226 "properties" : {
17227 "otp" : {
17228 "description" : "One-time password for Two-factor authentication.",
17229 "optional" : 1,
17230 "type" : "string",
17231 "typetext" : "<string>"
410dc2c9 17232 },
9fda36b0
DM
17233 "password" : {
17234 "description" : "The secret password. This can also be a valid ticket.",
17235 "type" : "string",
17236 "typetext" : "<string>"
17237 },
274b47fc
DM
17238 "path" : {
17239 "description" : "Verify ticket, and check if user have access on 'path'",
17240 "maxLength" : 64,
17241 "optional" : 1,
17242 "type" : "string",
17243 "typetext" : "<string>"
17244 },
9fda36b0
DM
17245 "realm" : {
17246 "description" : "You can optionally pass the realm using this parameter. Normally the realm is simply added to the username <username>@<relam>.",
732d76e1
DM
17247 "enum" : [
17248 "pam",
17249 "pmg",
17250 "quarantine"
17251 ],
9fda36b0
DM
17252 "maxLength" : 32,
17253 "optional" : 1,
732d76e1 17254 "type" : "string"
9fda36b0 17255 },
e0e71e6a
TL
17256 "tfa-challenge" : {
17257 "description" : "The signed TFA challenge string the user wants to respond to.",
17258 "optional" : 1,
17259 "type" : "string",
17260 "typetext" : "<string>"
17261 },
9fda36b0
DM
17262 "username" : {
17263 "description" : "User name",
17264 "maxLength" : 64,
17265 "type" : "string",
17266 "typetext" : "<string>"
17267 }
17268 }
17269 },
17270 "permissions" : {
17271 "description" : "You need to pass valid credientials.",
17272 "user" : "world"
17273 },
17274 "protected" : 1,
17275 "returns" : {
17276 "properties" : {
17277 "CSRFPreventionToken" : {
17278 "optional" : 1,
17279 "type" : "string"
17280 },
17281 "role" : {
17282 "optional" : 1,
17283 "type" : "string"
17284 },
17285 "ticket" : {
17286 "optional" : 1,
17287 "type" : "string"
17288 },
17289 "username" : {
17290 "type" : "string"
17291 }
17292 },
17293 "type" : "object"
17294 }
17295 }
17296 },
17297 "leaf" : 1,
17298 "path" : "/access/ticket",
17299 "text" : "ticket"
17300 },
17301 {
17302 "info" : {
17303 "PUT" : {
6bd70b95 17304 "allowtoken" : 1,
9fda36b0
DM
17305 "description" : "Change user password.",
17306 "method" : "PUT",
17307 "name" : "change_passsword",
17308 "parameters" : {
17309 "additionalProperties" : 0,
17310 "properties" : {
17311 "password" : {
17312 "description" : "The new password.",
17313 "maxLength" : 64,
17314 "minLength" : 5,
17315 "type" : "string",
17316 "typetext" : "<string>"
17317 },
17318 "userid" : {
17319 "description" : "User ID",
17320 "format" : "pmg-userid",
17321 "maxLength" : 64,
17322 "minLength" : 4,
17323 "type" : "string",
17324 "typetext" : "<string>"
410dc2c9
DM
17325 }
17326 }
17327 },
9fda36b0
DM
17328 "permissions" : {
17329 "description" : "Each user is allowed to change his own password. Only root can change the password of another user.",
17330 "user" : "all"
17331 },
17332 "protected" : 1,
17333 "returns" : {
17334 "type" : "null"
17335 }
17336 }
17337 },
17338 "leaf" : 1,
17339 "path" : "/access/password",
17340 "text" : "password"
17341 }
17342 ],
17343 "info" : {
17344 "GET" : {
6bd70b95 17345 "allowtoken" : 1,
9fda36b0
DM
17346 "description" : "Directory index.",
17347 "method" : "GET",
17348 "name" : "index",
17349 "parameters" : {
17350 "additionalProperties" : 0
17351 },
17352 "permissions" : {
17353 "user" : "all"
17354 },
17355 "returns" : {
17356 "items" : {
17357 "properties" : {
17358 "subdir" : {
17359 "type" : "string"
17360 }
17361 },
17362 "type" : "object"
410dc2c9 17363 },
9fda36b0
DM
17364 "links" : [
17365 {
17366 "href" : "{subdir}",
17367 "rel" : "child"
17368 }
17369 ],
17370 "type" : "array"
17371 }
17372 }
17373 },
17374 "leaf" : 0,
17375 "path" : "/access",
17376 "text" : "access"
17377 },
17378 {
17379 "children" : [
17380 {
9fda36b0 17381 "info" : {
549cfb68
TL
17382 "DELETE" : {
17383 "allowtoken" : 1,
17384 "description" : "Delete user whitelist entries.",
17385 "method" : "DELETE",
17386 "name" : "whitelist_delete_base",
17387 "parameters" : {
17388 "additionalProperties" : 0,
17389 "properties" : {
17390 "address" : {
17391 "description" : "The address, or comma-separated list of addresses, you want to remove.",
17392 "minLength" : 3,
17393 "pattern" : "",
17394 "type" : "string"
17395 },
17396 "pmail" : {
d8212759 17397 "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
17398 "maxLength" : 512,
17399 "minLength" : 3,
17400 "optional" : 1,
c5ccf1ab 17401 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
549cfb68
TL
17402 "type" : "string"
17403 }
17404 }
17405 },
17406 "permissions" : {
17407 "check" : [
17408 "admin",
17409 "qmanager",
17410 "audit",
17411 "quser"
17412 ]
17413 },
17414 "protected" : 1,
17415 "returns" : {
17416 "type" : "null"
17417 }
17418 },
9fda36b0 17419 "GET" : {
6bd70b95 17420 "allowtoken" : 1,
9fda36b0
DM
17421 "description" : "Show user whitelist.",
17422 "method" : "GET",
17423 "name" : "whitelist",
17424 "parameters" : {
17425 "additionalProperties" : 0,
17426 "properties" : {
17427 "pmail" : {
d8212759 17428 "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
17429 "maxLength" : 512,
17430 "minLength" : 3,
9fda36b0 17431 "optional" : 1,
c5ccf1ab 17432 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
241ac83c 17433 "type" : "string"
9fda36b0
DM
17434 }
17435 }
17436 },
17437 "permissions" : {
17438 "check" : [
17439 "admin",
17440 "qmanager",
17441 "audit",
17442 "quser"
17443 ]
17444 },
17445 "returns" : {
17446 "items" : {
17447 "properties" : {
17448 "address" : {
17449 "type" : "string"
410dc2c9
DM
17450 }
17451 },
9fda36b0
DM
17452 "type" : "object"
17453 },
17454 "type" : "array"
17455 }
17456 },
17457 "POST" : {
6bd70b95 17458 "allowtoken" : 1,
9fda36b0
DM
17459 "description" : "Add user whitelist entries.",
17460 "method" : "POST",
17461 "name" : "whitelist_add",
17462 "parameters" : {
17463 "additionalProperties" : 0,
17464 "properties" : {
17465 "address" : {
17466 "description" : "The address you want to add.",
9fda36b0 17467 "minLength" : 3,
241ac83c 17468 "pattern" : "(?:[^\\s\\/\\\\;\\,]+)(?:\\,[^\\s\\/\\\\;\\,]+)*",
9fda36b0
DM
17469 "type" : "string"
17470 },
17471 "pmail" : {
d8212759 17472 "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
17473 "maxLength" : 512,
17474 "minLength" : 3,
9fda36b0 17475 "optional" : 1,
c5ccf1ab 17476 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
241ac83c 17477 "type" : "string"
410dc2c9
DM
17478 }
17479 }
17480 },
9fda36b0
DM
17481 "permissions" : {
17482 "check" : [
17483 "admin",
17484 "qmanager",
17485 "audit",
17486 "quser"
17487 ]
17488 },
17489 "protected" : 1,
17490 "returns" : {
17491 "type" : "null"
17492 }
17493 }
17494 },
14ffe66b 17495 "leaf" : 1,
9fda36b0
DM
17496 "path" : "/quarantine/whitelist",
17497 "text" : "whitelist"
17498 },
17499 {
9fda36b0 17500 "info" : {
549cfb68
TL
17501 "DELETE" : {
17502 "allowtoken" : 1,
17503 "description" : "Delete user blacklist entries.",
17504 "method" : "DELETE",
17505 "name" : "blacklist_delete_base",
17506 "parameters" : {
17507 "additionalProperties" : 0,
17508 "properties" : {
17509 "address" : {
17510 "description" : "The address, or comma-separated list of addresses, you want to remove.",
17511 "minLength" : 3,
17512 "pattern" : "",
17513 "type" : "string"
17514 },
17515 "pmail" : {
d8212759 17516 "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
17517 "maxLength" : 512,
17518 "minLength" : 3,
17519 "optional" : 1,
c5ccf1ab 17520 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
549cfb68
TL
17521 "type" : "string"
17522 }
17523 }
17524 },
17525 "permissions" : {
17526 "check" : [
17527 "admin",
17528 "qmanager",
17529 "audit",
17530 "quser"
17531 ]
17532 },
17533 "protected" : 1,
17534 "returns" : {
17535 "type" : "null"
17536 }
17537 },
9fda36b0 17538 "GET" : {
6bd70b95 17539 "allowtoken" : 1,
9fda36b0
DM
17540 "description" : "Show user blacklist.",
17541 "method" : "GET",
17542 "name" : "blacklist",
17543 "parameters" : {
17544 "additionalProperties" : 0,
17545 "properties" : {
17546 "pmail" : {
d8212759 17547 "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
17548 "maxLength" : 512,
17549 "minLength" : 3,
9fda36b0 17550 "optional" : 1,
c5ccf1ab 17551 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
241ac83c 17552 "type" : "string"
9fda36b0
DM
17553 }
17554 }
17555 },
17556 "permissions" : {
17557 "check" : [
17558 "admin",
17559 "qmanager",
17560 "audit",
17561 "quser"
17562 ]
17563 },
17564 "returns" : {
17565 "items" : {
17566 "properties" : {
17567 "address" : {
17568 "type" : "string"
410dc2c9
DM
17569 }
17570 },
9fda36b0
DM
17571 "type" : "object"
17572 },
17573 "type" : "array"
17574 }
17575 },
17576 "POST" : {
6bd70b95 17577 "allowtoken" : 1,
9fda36b0
DM
17578 "description" : "Add user blacklist entries.",
17579 "method" : "POST",
17580 "name" : "blacklist_add",
17581 "parameters" : {
17582 "additionalProperties" : 0,
17583 "properties" : {
17584 "address" : {
17585 "description" : "The address you want to add.",
9fda36b0 17586 "minLength" : 3,
241ac83c 17587 "pattern" : "(?:[^\\s\\/\\\\;\\,]+)(?:\\,[^\\s\\/\\\\;\\,]+)*",
9fda36b0
DM
17588 "type" : "string"
17589 },
17590 "pmail" : {
d8212759 17591 "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
17592 "maxLength" : 512,
17593 "minLength" : 3,
9fda36b0 17594 "optional" : 1,
c5ccf1ab 17595 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
241ac83c 17596 "type" : "string"
9fda36b0
DM
17597 }
17598 }
17599 },
17600 "permissions" : {
17601 "check" : [
17602 "admin",
17603 "qmanager",
17604 "audit",
17605 "quser"
17606 ]
17607 },
17608 "protected" : 1,
17609 "returns" : {
17610 "type" : "null"
17611 }
17612 }
17613 },
14ffe66b 17614 "leaf" : 1,
9fda36b0
DM
17615 "path" : "/quarantine/blacklist",
17616 "text" : "blacklist"
17617 },
17618 {
17619 "info" : {
17620 "GET" : {
6bd70b95 17621 "allowtoken" : 1,
9fda36b0
DM
17622 "description" : "Get a list of receivers of spam in the given timespan (Default the last 24 hours).",
17623 "method" : "GET",
17624 "name" : "spamusers",
17625 "parameters" : {
17626 "additionalProperties" : 0,
17627 "properties" : {
17628 "endtime" : {
17629 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
17630 "minimum" : 1,
17631 "optional" : 1,
17632 "type" : "integer",
17633 "typetext" : "<integer> (1 - N)"
17634 },
17635 "starttime" : {
17636 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
17637 "minimum" : 0,
17638 "optional" : 1,
17639 "type" : "integer",
17640 "typetext" : "<integer> (0 - N)"
410dc2c9 17641 }
9fda36b0
DM
17642 }
17643 },
17644 "permissions" : {
17645 "check" : [
17646 "admin",
17647 "qmanager",
17648 "audit"
17649 ]
17650 },
17651 "returns" : {
17652 "items" : {
17653 "properties" : {
17654 "mail" : {
17655 "description" : "the receiving email",
17656 "type" : "string"
17657 }
17658 },
17659 "type" : "object"
410dc2c9 17660 },
9fda36b0
DM
17661 "type" : "array"
17662 }
17663 }
17664 },
17665 "leaf" : 1,
17666 "path" : "/quarantine/spamusers",
17667 "text" : "spamusers"
17668 },
17669 {
17670 "info" : {
17671 "GET" : {
6bd70b95 17672 "allowtoken" : 1,
9fda36b0
DM
17673 "description" : "Get Spam Quarantine Status",
17674 "method" : "GET",
17675 "name" : "spamstatus",
17676 "parameters" : {
17677 "additionalProperties" : 0
17678 },
17679 "permissions" : {
17680 "check" : [
17681 "admin",
17682 "qmanager",
17683 "audit"
17684 ]
17685 },
17686 "returns" : {
17687 "properties" : {
17688 "avgbytes" : {
17689 "description" : "Average size of stored mails in bytes.",
17690 "type" : "number"
17691 },
17692 "avgspam" : {
17693 "description" : "Average spam level.",
17694 "type" : "number"
17695 },
17696 "count" : {
17697 "description" : "Number of stored mails.",
17698 "type" : "integer"
17699 },
17700 "mbytes" : {
17701 "description" : "Estimated disk space usage in MByte.",
17702 "type" : "number"
17703 }
17704 },
17705 "type" : "object"
17706 }
17707 }
17708 },
17709 "leaf" : 1,
17710 "path" : "/quarantine/spamstatus",
17711 "text" : "spamstatus"
17712 },
17713 {
17714 "info" : {
17715 "GET" : {
6bd70b95 17716 "allowtoken" : 1,
d8212759 17717 "description" : "Get a list of users with whitelist/blacklist settings.",
9fda36b0
DM
17718 "method" : "GET",
17719 "name" : "quarusers",
17720 "parameters" : {
241ac83c
TL
17721 "additionalProperties" : 0,
17722 "properties" : {
17723 "list" : {
17724 "description" : "If set, limits the result to the given list.",
17725 "enum" : [
17726 "BL",
17727 "WL"
17728 ],
17729 "optional" : 1,
17730 "type" : "string"
17731 }
17732 }
9fda36b0
DM
17733 },
17734 "permissions" : {
17735 "check" : [
17736 "admin",
17737 "qmanager",
17738 "audit"
17739 ]
17740 },
17741 "returns" : {
17742 "items" : {
17743 "properties" : {
17744 "mail" : {
17745 "description" : "the receiving email",
17746 "type" : "string"
410dc2c9
DM
17747 }
17748 },
9fda36b0
DM
17749 "type" : "object"
17750 },
17751 "type" : "array"
17752 }
17753 }
17754 },
17755 "leaf" : 1,
17756 "path" : "/quarantine/quarusers",
17757 "text" : "quarusers"
17758 },
17759 {
17760 "info" : {
17761 "GET" : {
6bd70b95 17762 "allowtoken" : 1,
9fda36b0
DM
17763 "description" : "Get a list of quarantined spam mails in the given timeframe (default the last 24 hours) for the given user.",
17764 "method" : "GET",
17765 "name" : "spam",
17766 "parameters" : {
17767 "additionalProperties" : 0,
17768 "properties" : {
17769 "endtime" : {
17770 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
17771 "minimum" : 1,
17772 "optional" : 1,
17773 "type" : "integer",
17774 "typetext" : "<integer> (1 - N)"
17775 },
17776 "pmail" : {
d8212759 17777 "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
17778 "maxLength" : 512,
17779 "minLength" : 3,
9fda36b0 17780 "optional" : 1,
c5ccf1ab 17781 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
241ac83c 17782 "type" : "string"
9fda36b0
DM
17783 },
17784 "starttime" : {
17785 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
17786 "minimum" : 0,
17787 "optional" : 1,
17788 "type" : "integer",
17789 "typetext" : "<integer> (0 - N)"
410dc2c9
DM
17790 }
17791 }
17792 },
9fda36b0
DM
17793 "permissions" : {
17794 "check" : [
17795 "admin",
17796 "qmanager",
17797 "audit",
17798 "quser"
17799 ]
17800 },
17801 "returns" : {
17802 "items" : {
17803 "properties" : {
17804 "bytes" : {
17805 "description" : "Size of raw email.",
17806 "type" : "integer"
17807 },
17808 "envelope_sender" : {
17809 "description" : "SMTP envelope sender.",
17810 "type" : "string"
17811 },
17812 "from" : {
17813 "description" : "Header 'From' field.",
17814 "type" : "string"
17815 },
17816 "id" : {
17817 "description" : "Unique ID",
17818 "type" : "string"
17819 },
17820 "receiver" : {
17821 "description" : "Receiver email address",
17822 "type" : "string"
17823 },
17824 "sender" : {
17825 "description" : "Header 'Sender' field.",
17826 "optional" : 1,
17827 "type" : "string"
17828 },
17829 "spamlevel" : {
17830 "description" : "Spam score.",
17831 "type" : "number"
17832 },
17833 "subject" : {
17834 "description" : "Header 'Subject' field.",
17835 "type" : "string"
17836 },
17837 "time" : {
17838 "description" : "Receive time stamp",
17839 "type" : "integer"
410dc2c9
DM
17840 }
17841 },
9fda36b0 17842 "type" : "object"
410dc2c9 17843 },
9fda36b0
DM
17844 "type" : "array"
17845 }
17846 }
17847 },
17848 "leaf" : 1,
17849 "path" : "/quarantine/spam",
17850 "text" : "spam"
17851 },
17852 {
17853 "info" : {
17854 "GET" : {
6bd70b95 17855 "allowtoken" : 1,
9fda36b0
DM
17856 "description" : "Get a list of quarantined virus mails in the given timeframe (default the last 24 hours).",
17857 "method" : "GET",
17858 "name" : "virus",
17859 "parameters" : {
17860 "additionalProperties" : 0,
17861 "properties" : {
17862 "endtime" : {
17863 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
17864 "minimum" : 1,
17865 "optional" : 1,
17866 "type" : "integer",
17867 "typetext" : "<integer> (1 - N)"
410dc2c9 17868 },
9fda36b0
DM
17869 "starttime" : {
17870 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
17871 "minimum" : 0,
17872 "optional" : 1,
17873 "type" : "integer",
17874 "typetext" : "<integer> (0 - N)"
410dc2c9
DM
17875 }
17876 }
17877 },
9fda36b0
DM
17878 "permissions" : {
17879 "check" : [
17880 "admin",
17881 "qmanager",
17882 "audit"
17883 ]
17884 },
17885 "returns" : {
17886 "items" : {
17887 "properties" : {
17888 "bytes" : {
17889 "description" : "Size of raw email.",
17890 "type" : "integer"
17891 },
17892 "envelope_sender" : {
17893 "description" : "SMTP envelope sender.",
17894 "type" : "string"
17895 },
17896 "from" : {
17897 "description" : "Header 'From' field.",
17898 "type" : "string"
17899 },
17900 "id" : {
17901 "description" : "Unique ID",
17902 "type" : "string"
17903 },
17904 "receiver" : {
17905 "description" : "Receiver email address",
17906 "type" : "string"
17907 },
17908 "sender" : {
17909 "description" : "Header 'Sender' field.",
17910 "optional" : 1,
17911 "type" : "string"
17912 },
17913 "subject" : {
17914 "description" : "Header 'Subject' field.",
17915 "type" : "string"
17916 },
17917 "time" : {
17918 "description" : "Receive time stamp",
17919 "type" : "integer"
17920 },
17921 "virusname" : {
17922 "description" : "Virus name.",
17923 "type" : "string"
d7cd791b
DM
17924 }
17925 },
9fda36b0
DM
17926 "type" : "object"
17927 },
17928 "type" : "array"
17929 }
17930 }
17931 },
17932 "leaf" : 1,
17933 "path" : "/quarantine/virus",
17934 "text" : "virus"
17935 },
d210277a
TL
17936 {
17937 "info" : {
17938 "GET" : {
6bd70b95 17939 "allowtoken" : 1,
d210277a
TL
17940 "description" : "Get a list of quarantined attachment mails in the given timeframe (default the last 24 hours).",
17941 "method" : "GET",
17942 "name" : "attachment",
17943 "parameters" : {
17944 "additionalProperties" : 0,
17945 "properties" : {
17946 "endtime" : {
17947 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
17948 "minimum" : 1,
17949 "optional" : 1,
17950 "type" : "integer",
17951 "typetext" : "<integer> (1 - N)"
17952 },
17953 "starttime" : {
17954 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
17955 "minimum" : 0,
17956 "optional" : 1,
17957 "type" : "integer",
17958 "typetext" : "<integer> (0 - N)"
17959 }
17960 }
17961 },
17962 "permissions" : {
17963 "check" : [
17964 "admin",
17965 "qmanager",
17966 "audit"
17967 ]
17968 },
17969 "returns" : {
17970 "items" : {
17971 "properties" : {
17972 "bytes" : {
17973 "description" : "Size of raw email.",
17974 "type" : "integer"
17975 },
17976 "envelope_sender" : {
17977 "description" : "SMTP envelope sender.",
17978 "type" : "string"
17979 },
17980 "from" : {
17981 "description" : "Header 'From' field.",
17982 "type" : "string"
17983 },
17984 "id" : {
17985 "description" : "Unique ID",
17986 "type" : "string"
17987 },
17988 "receiver" : {
17989 "description" : "Receiver email address",
17990 "type" : "string"
17991 },
17992 "sender" : {
17993 "description" : "Header 'Sender' field.",
17994 "optional" : 1,
17995 "type" : "string"
17996 },
17997 "subject" : {
17998 "description" : "Header 'Subject' field.",
17999 "type" : "string"
18000 },
18001 "time" : {
18002 "description" : "Receive time stamp",
18003 "type" : "integer"
18004 }
18005 },
18006 "type" : "object"
18007 },
18008 "type" : "array"
18009 }
18010 }
18011 },
18012 "leaf" : 1,
18013 "path" : "/quarantine/attachment",
18014 "text" : "attachment"
18015 },
9fda36b0
DM
18016 {
18017 "info" : {
18018 "GET" : {
6bd70b95 18019 "allowtoken" : 1,
9fda36b0
DM
18020 "description" : "Get Virus Quarantine Status",
18021 "method" : "GET",
18022 "name" : "virusstatus",
18023 "parameters" : {
18024 "additionalProperties" : 0
18025 },
18026 "permissions" : {
18027 "check" : [
18028 "admin",
18029 "qmanager",
18030 "audit"
18031 ]
18032 },
18033 "returns" : {
18034 "properties" : {
18035 "avgbytes" : {
18036 "description" : "Average size of stored mails in bytes.",
18037 "type" : "number"
18038 },
18039 "count" : {
18040 "description" : "Number of stored mails.",
18041 "type" : "integer"
18042 },
18043 "mbytes" : {
18044 "description" : "Estimated disk space usage in MByte.",
18045 "type" : "number"
d7cd791b 18046 }
9fda36b0
DM
18047 },
18048 "type" : "object"
18049 }
d7cd791b 18050 }
9fda36b0
DM
18051 },
18052 "leaf" : 1,
18053 "path" : "/quarantine/virusstatus",
18054 "text" : "virusstatus"
18055 },
18056 {
d7cd791b
DM
18057 "info" : {
18058 "GET" : {
6bd70b95 18059 "allowtoken" : 1,
9fda36b0 18060 "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 18061 "method" : "GET",
9fda36b0 18062 "name" : "content",
d7cd791b
DM
18063 "parameters" : {
18064 "additionalProperties" : 0,
18065 "properties" : {
9fda36b0
DM
18066 "id" : {
18067 "description" : "Unique ID",
274b47fc
DM
18068 "maxLength" : 60,
18069 "pattern" : "C\\d+R\\d+T\\d+",
9fda36b0
DM
18070 "type" : "string"
18071 },
18072 "raw" : {
18073 "default" : 0,
241ac83c 18074 "description" : "Display 'raw' eml data. Deactivates size limit.",
9fda36b0
DM
18075 "optional" : 1,
18076 "type" : "boolean",
18077 "typetext" : "<boolean>"
d7cd791b
DM
18078 }
18079 }
18080 },
18081 "permissions" : {
9fda36b0
DM
18082 "check" : [
18083 "admin",
18084 "qmanager",
18085 "audit",
18086 "quser"
18087 ]
d7cd791b
DM
18088 },
18089 "returns" : {
9fda36b0
DM
18090 "properties" : {
18091 "bytes" : {
18092 "description" : "Size of raw email.",
18093 "type" : "integer"
18094 },
18095 "content" : {
18096 "description" : "Raw email data (first 4096 bytes). Useful for preview. NOTE: The 'htmlmail' formatter displays the whole email.",
18097 "type" : "string"
18098 },
18099 "envelope_sender" : {
18100 "description" : "SMTP envelope sender.",
18101 "type" : "string"
18102 },
18103 "from" : {
18104 "description" : "Header 'From' field.",
18105 "type" : "string"
18106 },
18107 "header" : {
18108 "description" : "Raw email header data.",
18109 "type" : "string"
18110 },
18111 "id" : {
18112 "description" : "Unique ID",
18113 "type" : "string"
18114 },
18115 "receiver" : {
18116 "description" : "Receiver email address",
18117 "type" : "string"
18118 },
18119 "sender" : {
18120 "description" : "Header 'Sender' field.",
18121 "optional" : 1,
18122 "type" : "string"
18123 },
18124 "spaminfo" : {
18125 "description" : "Information about matched spam tests (name, score, desc, url).",
18126 "type" : "array"
18127 },
18128 "spamlevel" : {
18129 "description" : "Spam score.",
18130 "type" : "number"
18131 },
18132 "subject" : {
18133 "description" : "Header 'Subject' field.",
18134 "type" : "string"
18135 },
18136 "time" : {
18137 "description" : "Receive time stamp",
18138 "type" : "integer"
18139 }
d7cd791b 18140 },
9fda36b0
DM
18141 "type" : "object"
18142 }
18143 },
18144 "POST" : {
6bd70b95 18145 "allowtoken" : 1,
9fda36b0
DM
18146 "description" : "Execute quarantine actions.",
18147 "method" : "POST",
18148 "name" : "action",
18149 "parameters" : {
18150 "additionalProperties" : 0,
18151 "properties" : {
18152 "action" : {
18153 "description" : "Action - specify what you want to do with the mail.",
18154 "enum" : [
18155 "whitelist",
18156 "blacklist",
18157 "deliver",
18158 "delete"
18159 ],
18160 "type" : "string"
18161 },
18162 "id" : {
d8212759 18163 "description" : "Unique IDs, separate with ;",
445686c9 18164 "pattern" : "C\\d+R\\d+T\\d+(;C\\d+R\\d+T\\d+)*",
9fda36b0 18165 "type" : "string"
410dc2c9 18166 }
9fda36b0
DM
18167 }
18168 },
18169 "permissions" : {
18170 "check" : [
18171 "admin",
18172 "qmanager",
18173 "quser"
18174 ]
18175 },
18176 "protected" : 1,
18177 "returns" : {
18178 "type" : "null"
410dc2c9
DM
18179 }
18180 }
18181 },
9fda36b0
DM
18182 "leaf" : 1,
18183 "path" : "/quarantine/content",
18184 "text" : "content"
d210277a
TL
18185 },
18186 {
18187 "info" : {
18188 "GET" : {
6bd70b95 18189 "allowtoken" : 1,
d210277a
TL
18190 "description" : "Get Attachments for E-Mail in Quarantine.",
18191 "method" : "GET",
18192 "name" : "listattachments",
18193 "parameters" : {
18194 "additionalProperties" : 0,
18195 "properties" : {
18196 "id" : {
18197 "description" : "Unique ID",
18198 "maxLength" : 60,
18199 "pattern" : "C\\d+R\\d+T\\d+",
18200 "type" : "string"
18201 }
18202 }
18203 },
18204 "permissions" : {
18205 "check" : [
18206 "admin",
18207 "qmanager",
18208 "audit"
18209 ]
18210 },
18211 "returns" : {
18212 "items" : {
18213 "properties" : {
18214 "content-type" : {
18215 "description" : "Raw email header data.",
18216 "type" : "string"
18217 },
18218 "id" : {
18219 "description" : "Attachment ID",
18220 "type" : "integer"
18221 },
18222 "name" : {
18223 "description" : "Raw email header data.",
18224 "type" : "string"
18225 },
18226 "size" : {
18227 "description" : "Size of raw attachment in bytes.",
18228 "type" : "integer"
18229 }
18230 },
18231 "type" : "object"
18232 },
18233 "type" : "array"
18234 }
18235 }
18236 },
18237 "leaf" : 1,
18238 "path" : "/quarantine/listattachments",
18239 "text" : "listattachments"
18240 },
18241 {
18242 "info" : {
18243 "GET" : {
6bd70b95 18244 "allowtoken" : 1,
d210277a
TL
18245 "description" : "Download E-Mail or Attachment from Quarantine.",
18246 "download" : 1,
18247 "method" : "GET",
18248 "name" : "download",
18249 "parameters" : {
18250 "additionalProperties" : 0,
18251 "properties" : {
18252 "attachmentid" : {
18253 "description" : "The Attachment ID for the mail.",
18254 "optional" : 1,
18255 "type" : "integer",
18256 "typetext" : "<integer>"
18257 },
18258 "mailid" : {
18259 "description" : "Unique ID",
18260 "maxLength" : 60,
18261 "pattern" : "C\\d+R\\d+T\\d+",
18262 "type" : "string"
18263 }
18264 }
18265 },
18266 "permissions" : {
18267 "check" : [
18268 "admin",
18269 "qmanager",
18270 "audit",
18271 "quser"
18272 ]
18273 },
18274 "returns" : {
18275 "type" : "object"
18276 }
18277 }
18278 },
18279 "leaf" : 1,
18280 "path" : "/quarantine/download",
18281 "text" : "download"
ab2b846b
TL
18282 },
18283 {
18284 "info" : {
18285 "POST" : {
18286 "allowtoken" : 1,
18287 "description" : "Send Quarantine link to given e-mail.",
18288 "method" : "POST",
18289 "name" : "sendlink",
18290 "parameters" : {
18291 "additionalProperties" : 0,
18292 "properties" : {
18293 "mail" : {
18294 "description" : "Email Address (allow most characters).",
18295 "maxLength" : 512,
18296 "minLength" : 3,
c5ccf1ab 18297 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
ab2b846b
TL
18298 "type" : "string"
18299 }
18300 }
18301 },
18302 "permissions" : {
18303 "user" : "world"
18304 },
18305 "protected" : 1,
18306 "returns" : {
18307 "type" : "null"
18308 }
18309 }
18310 },
18311 "leaf" : 1,
18312 "path" : "/quarantine/sendlink",
18313 "text" : "sendlink"
410dc2c9
DM
18314 }
18315 ],
18316 "info" : {
18317 "GET" : {
6bd70b95 18318 "allowtoken" : 1,
9fda36b0 18319 "description" : "Directory index.",
410dc2c9
DM
18320 "method" : "GET",
18321 "name" : "index",
18322 "parameters" : {
18323 "additionalProperties" : 0
18324 },
18325 "permissions" : {
18326 "user" : "all"
18327 },
18328 "returns" : {
18329 "items" : {
18330 "properties" : {},
18331 "type" : "object"
18332 },
18333 "links" : [
18334 {
9fda36b0 18335 "href" : "{name}",
410dc2c9
DM
18336 "rel" : "child"
18337 }
18338 ],
18339 "type" : "array"
18340 }
18341 }
18342 },
18343 "leaf" : 0,
9fda36b0
DM
18344 "path" : "/quarantine",
18345 "text" : "quarantine"
410dc2c9
DM
18346 },
18347 {
18348 "children" : [
a55e94a6 18349 {
a55e94a6
DM
18350 "info" : {
18351 "GET" : {
6bd70b95 18352 "allowtoken" : 1,
9fda36b0 18353 "description" : "Contact Address Statistics.",
a55e94a6 18354 "method" : "GET",
9fda36b0 18355 "name" : "contact",
a55e94a6
DM
18356 "parameters" : {
18357 "additionalProperties" : 0,
18358 "properties" : {
9fda36b0
DM
18359 "day" : {
18360 "description" : "Day of month. Get statistics for a single day.",
18361 "maximum" : 31,
18362 "minimum" : 1,
a55e94a6
DM
18363 "optional" : 1,
18364 "type" : "integer",
9fda36b0 18365 "typetext" : "<integer> (1 - 31)"
a55e94a6 18366 },
9fda36b0
DM
18367 "endtime" : {
18368 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
18369 "minimum" : 1,
410dc2c9 18370 "optional" : 1,
9fda36b0
DM
18371 "type" : "integer",
18372 "typetext" : "<integer> (1 - N)"
410dc2c9 18373 },
9fda36b0
DM
18374 "filter" : {
18375 "description" : "Contact address filter.",
18376 "maxLength" : 512,
18377 "optional" : 1,
410dc2c9
DM
18378 "type" : "string",
18379 "typetext" : "<string>"
18380 },
9fda36b0
DM
18381 "month" : {
18382 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
18383 "maximum" : 12,
18384 "minimum" : 1,
410dc2c9 18385 "optional" : 1,
9fda36b0
DM
18386 "type" : "integer",
18387 "typetext" : "<integer> (1 - 12)"
410dc2c9 18388 },
9fda36b0
DM
18389 "orderby" : {
18390 "description" : "Remote sorting configuration(JSON, ExtJS compatible).",
18391 "maxLength" : 4096,
18392 "optional" : 1,
410dc2c9
DM
18393 "type" : "string",
18394 "typetext" : "<string>"
9fda36b0
DM
18395 },
18396 "starttime" : {
18397 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
18398 "minimum" : 0,
18399 "optional" : 1,
18400 "type" : "integer",
18401 "typetext" : "<integer> (0 - N)"
18402 },
18403 "year" : {
18404 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
18405 "maximum" : 3000,
18406 "minimum" : 1900,
18407 "optional" : 1,
18408 "type" : "integer",
18409 "typetext" : "<integer> (1900 - 3000)"
410dc2c9
DM
18410 }
18411 }
18412 },
18413 "permissions" : {
9fda36b0
DM
18414 "check" : [
18415 "admin",
18416 "qmanager",
18417 "audit"
18418 ]
410dc2c9 18419 },
410dc2c9 18420 "returns" : {
9fda36b0
DM
18421 "items" : {
18422 "properties" : {
18423 "bytes" : {
18424 "description" : "Mail traffic (Bytes).",
18425 "type" : "number"
18426 },
18427 "contact" : {
18428 "description" : "Contact email.",
18429 "type" : "string"
18430 },
18431 "count" : {
18432 "description" : "Mail count.",
18433 "optional" : 1,
18434 "type" : "number"
18435 },
18436 "viruscount" : {
18437 "description" : "Number of sent virus mails.",
18438 "optional" : 1,
18439 "type" : "number"
18440 }
410dc2c9 18441 },
9fda36b0 18442 "type" : "object"
410dc2c9 18443 },
9fda36b0
DM
18444 "links" : [
18445 {
18446 "href" : "{contact}",
18447 "rel" : "child"
18448 }
18449 ],
18450 "type" : "array"
410dc2c9
DM
18451 }
18452 }
18453 },
14ffe66b 18454 "leaf" : 1,
9fda36b0
DM
18455 "path" : "/statistics/contact",
18456 "text" : "contact"
410dc2c9 18457 },
c5ccf1ab
TL
18458 {
18459 "info" : {
18460 "GET" : {
18461 "allowtoken" : 1,
18462 "description" : "Detailed Statistics.",
18463 "method" : "GET",
18464 "name" : "detailstats",
18465 "parameters" : {
18466 "additionalProperties" : 0,
18467 "properties" : {
18468 "address" : {
18469 "description" : "Email address.",
18470 "maxLength" : 512,
18471 "minLength" : 3,
18472 "pattern" : "(?:[^\\s\\\\@]+\\@[^\\s\\/\\\\@]+)",
18473 "type" : "string"
18474 },
18475 "day" : {
18476 "description" : "Day of month. Get statistics for a single day.",
18477 "maximum" : 31,
18478 "minimum" : 1,
18479 "optional" : 1,
18480 "type" : "integer",
18481 "typetext" : "<integer> (1 - 31)"
18482 },
18483 "endtime" : {
18484 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
18485 "minimum" : 1,
18486 "optional" : 1,
18487 "type" : "integer",
18488 "typetext" : "<integer> (1 - N)"
18489 },
18490 "filter" : {
18491 "description" : "Address filter.",
18492 "maxLength" : 512,
18493 "optional" : 1,
18494 "type" : "string",
18495 "typetext" : "<string>"
18496 },
18497 "month" : {
18498 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
18499 "maximum" : 12,
18500 "minimum" : 1,
18501 "optional" : 1,
18502 "type" : "integer",
18503 "typetext" : "<integer> (1 - 12)"
18504 },
18505 "orderby" : {
18506 "description" : "Remote sorting configuration(JSON, ExtJS compatible).",
18507 "maxLength" : 4096,
18508 "optional" : 1,
18509 "type" : "string",
18510 "typetext" : "<string>"
18511 },
18512 "starttime" : {
18513 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
18514 "minimum" : 0,
18515 "optional" : 1,
18516 "type" : "integer",
18517 "typetext" : "<integer> (0 - N)"
18518 },
18519 "type" : {
18520 "description" : "Type of statistics",
18521 "enum" : [
18522 "contact",
18523 "sender",
18524 "receiver"
18525 ],
18526 "type" : "string"
18527 },
18528 "year" : {
18529 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
18530 "maximum" : 3000,
18531 "minimum" : 1900,
18532 "optional" : 1,
18533 "type" : "integer",
18534 "typetext" : "<integer> (1900 - 3000)"
18535 }
18536 }
18537 },
18538 "permissions" : {
18539 "check" : [
18540 "admin",
18541 "qmanager",
18542 "audit"
18543 ]
18544 },
18545 "returns" : {
18546 "items" : {
18547 "properties" : {
18548 "blocked" : {
18549 "description" : "Mail was blocked.",
18550 "type" : "boolean"
18551 },
18552 "bytes" : {
18553 "description" : "Mail traffic (Bytes).",
18554 "type" : "number"
18555 },
18556 "receiver" : {
18557 "description" : "Receiver email. (for sender statistics)",
18558 "optional" : 1,
18559 "type" : "string"
18560 },
18561 "sender" : {
18562 "description" : "Sender email. (for contact and receiver statistics)",
18563 "optional" : 1,
18564 "type" : "string"
18565 },
18566 "spamlevel" : {
18567 "description" : "Spam score.",
18568 "type" : "number"
18569 },
18570 "time" : {
18571 "description" : "Receive time stamp",
18572 "type" : "integer"
18573 },
18574 "virusinfo" : {
18575 "description" : "Virus name.",
18576 "optional" : 1,
18577 "type" : "string"
18578 }
18579 },
18580 "type" : "object"
18581 },
18582 "type" : "array"
18583 }
18584 }
18585 },
18586 "leaf" : 1,
18587 "path" : "/statistics/detail",
18588 "text" : "detail"
18589 },
410dc2c9
DM
18590 {
18591 "info" : {
9fda36b0 18592 "GET" : {
6bd70b95 18593 "allowtoken" : 1,
9fda36b0
DM
18594 "description" : "Sender Address Statistics.",
18595 "method" : "GET",
18596 "name" : "sender",
410dc2c9
DM
18597 "parameters" : {
18598 "additionalProperties" : 0,
18599 "properties" : {
9fda36b0
DM
18600 "day" : {
18601 "description" : "Day of month. Get statistics for a single day.",
18602 "maximum" : 31,
18603 "minimum" : 1,
18604 "optional" : 1,
18605 "type" : "integer",
18606 "typetext" : "<integer> (1 - 31)"
18607 },
18608 "endtime" : {
18609 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
18610 "minimum" : 1,
18611 "optional" : 1,
18612 "type" : "integer",
18613 "typetext" : "<integer> (1 - N)"
18614 },
18615 "filter" : {
18616 "description" : "Sender address filter.",
18617 "maxLength" : 512,
18618 "optional" : 1,
410dc2c9
DM
18619 "type" : "string",
18620 "typetext" : "<string>"
18621 },
9fda36b0
DM
18622 "month" : {
18623 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
18624 "maximum" : 12,
18625 "minimum" : 1,
18626 "optional" : 1,
18627 "type" : "integer",
18628 "typetext" : "<integer> (1 - 12)"
18629 },
18630 "orderby" : {
18631 "description" : "Remote sorting configuration(JSON, ExtJS compatible).",
18632 "maxLength" : 4096,
18633 "optional" : 1,
410dc2c9
DM
18634 "type" : "string",
18635 "typetext" : "<string>"
9fda36b0
DM
18636 },
18637 "starttime" : {
18638 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
18639 "minimum" : 0,
18640 "optional" : 1,
18641 "type" : "integer",
18642 "typetext" : "<integer> (0 - N)"
18643 },
18644 "year" : {
18645 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
18646 "maximum" : 3000,
18647 "minimum" : 1900,
18648 "optional" : 1,
18649 "type" : "integer",
18650 "typetext" : "<integer> (1900 - 3000)"
410dc2c9
DM
18651 }
18652 }
18653 },
a55e94a6 18654 "permissions" : {
9fda36b0
DM
18655 "check" : [
18656 "admin",
18657 "qmanager",
18658 "audit"
18659 ]
a55e94a6 18660 },
410dc2c9 18661 "returns" : {
9fda36b0
DM
18662 "items" : {
18663 "properties" : {
18664 "bytes" : {
18665 "description" : "Mail traffic (Bytes).",
18666 "type" : "number"
18667 },
18668 "count" : {
18669 "description" : "Mail count.",
18670 "optional" : 1,
18671 "type" : "number"
18672 },
18673 "sender" : {
18674 "description" : "Sender email.",
18675 "type" : "string"
18676 },
18677 "viruscount" : {
18678 "description" : "Number of sent virus mails.",
18679 "optional" : 1,
18680 "type" : "number"
18681 }
18682 },
18683 "type" : "object"
18684 },
18685 "links" : [
18686 {
18687 "href" : "{sender}",
18688 "rel" : "child"
18689 }
18690 ],
18691 "type" : "array"
410dc2c9 18692 }
9fda36b0
DM
18693 }
18694 },
14ffe66b 18695 "leaf" : 1,
9fda36b0
DM
18696 "path" : "/statistics/sender",
18697 "text" : "sender"
18698 },
d7cd791b 18699 {
d7cd791b
DM
18700 "info" : {
18701 "GET" : {
6bd70b95 18702 "allowtoken" : 1,
9fda36b0 18703 "description" : "Receiver Address Statistics.",
d7cd791b 18704 "method" : "GET",
9fda36b0 18705 "name" : "receiver",
d7cd791b
DM
18706 "parameters" : {
18707 "additionalProperties" : 0,
18708 "properties" : {
9fda36b0
DM
18709 "day" : {
18710 "description" : "Day of month. Get statistics for a single day.",
18711 "maximum" : 31,
18712 "minimum" : 1,
18713 "optional" : 1,
18714 "type" : "integer",
18715 "typetext" : "<integer> (1 - 31)"
18716 },
18717 "endtime" : {
18718 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
18719 "minimum" : 1,
18720 "optional" : 1,
18721 "type" : "integer",
18722 "typetext" : "<integer> (1 - N)"
18723 },
18724 "filter" : {
18725 "description" : "Receiver address filter.",
18726 "maxLength" : 512,
18727 "optional" : 1,
18728 "type" : "string",
18729 "typetext" : "<string>"
18730 },
18731 "month" : {
18732 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
18733 "maximum" : 12,
18734 "minimum" : 1,
18735 "optional" : 1,
18736 "type" : "integer",
18737 "typetext" : "<integer> (1 - 12)"
18738 },
18739 "orderby" : {
18740 "description" : "Remote sorting configuration(JSON, ExtJS compatible).",
18741 "maxLength" : 4096,
d7cd791b
DM
18742 "optional" : 1,
18743 "type" : "string",
18744 "typetext" : "<string>"
9fda36b0
DM
18745 },
18746 "starttime" : {
18747 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
18748 "minimum" : 0,
18749 "optional" : 1,
18750 "type" : "integer",
18751 "typetext" : "<integer> (0 - N)"
18752 },
18753 "year" : {
18754 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
18755 "maximum" : 3000,
18756 "minimum" : 1900,
18757 "optional" : 1,
18758 "type" : "integer",
18759 "typetext" : "<integer> (1900 - 3000)"
d7cd791b
DM
18760 }
18761 }
18762 },
18763 "permissions" : {
18764 "check" : [
18765 "admin",
18766 "qmanager",
9fda36b0 18767 "audit"
d7cd791b
DM
18768 ]
18769 },
18770 "returns" : {
18771 "items" : {
18772 "properties" : {
9fda36b0
DM
18773 "bytes" : {
18774 "description" : "Mail traffic (Bytes).",
18775 "type" : "number"
18776 },
18777 "count" : {
18778 "description" : "Mail count.",
18779 "optional" : 1,
18780 "type" : "number"
18781 },
18782 "receiver" : {
18783 "description" : "Sender email.",
d7cd791b 18784 "type" : "string"
9fda36b0
DM
18785 },
18786 "spamcount" : {
18787 "description" : "Number of sent spam mails.",
18788 "optional" : 1,
18789 "type" : "number"
18790 },
18791 "viruscount" : {
18792 "description" : "Number of sent virus mails.",
18793 "optional" : 1,
18794 "type" : "number"
d7cd791b
DM
18795 }
18796 },
18797 "type" : "object"
18798 },
9fda36b0
DM
18799 "links" : [
18800 {
18801 "href" : "{receiver}",
18802 "rel" : "child"
d7cd791b 18803 }
9fda36b0
DM
18804 ],
18805 "type" : "array"
d7cd791b
DM
18806 }
18807 }
18808 },
14ffe66b 18809 "leaf" : 1,
9fda36b0
DM
18810 "path" : "/statistics/receiver",
18811 "text" : "receiver"
d7cd791b
DM
18812 },
18813 {
d7cd791b
DM
18814 "info" : {
18815 "GET" : {
6bd70b95 18816 "allowtoken" : 1,
9fda36b0 18817 "description" : "Mail Domains Statistics.",
d7cd791b 18818 "method" : "GET",
9fda36b0 18819 "name" : "domains",
d7cd791b
DM
18820 "parameters" : {
18821 "additionalProperties" : 0,
18822 "properties" : {
9fda36b0
DM
18823 "day" : {
18824 "description" : "Day of month. Get statistics for a single day.",
18825 "maximum" : 31,
18826 "minimum" : 1,
18827 "optional" : 1,
18828 "type" : "integer",
18829 "typetext" : "<integer> (1 - 31)"
18830 },
18831 "endtime" : {
18832 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
18833 "minimum" : 1,
18834 "optional" : 1,
18835 "type" : "integer",
18836 "typetext" : "<integer> (1 - N)"
18837 },
18838 "month" : {
18839 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
18840 "maximum" : 12,
18841 "minimum" : 1,
18842 "optional" : 1,
18843 "type" : "integer",
18844 "typetext" : "<integer> (1 - 12)"
18845 },
18846 "starttime" : {
18847 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
18848 "minimum" : 0,
d7cd791b 18849 "optional" : 1,
9fda36b0
DM
18850 "type" : "integer",
18851 "typetext" : "<integer> (0 - N)"
18852 },
18853 "year" : {
18854 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
18855 "maximum" : 3000,
18856 "minimum" : 1900,
18857 "optional" : 1,
18858 "type" : "integer",
18859 "typetext" : "<integer> (1900 - 3000)"
d7cd791b
DM
18860 }
18861 }
18862 },
18863 "permissions" : {
18864 "check" : [
18865 "admin",
18866 "qmanager",
9fda36b0 18867 "audit"
d7cd791b
DM
18868 ]
18869 },
18870 "returns" : {
18871 "items" : {
18872 "properties" : {
274b47fc
DM
18873 "bytes_in" : {
18874 "description" : "Incoming mail traffic (Bytes).",
18875 "type" : "number"
18876 },
18877 "bytes_out" : {
18878 "description" : "Outgoing mail traffic (Bytes).",
18879 "type" : "number"
18880 },
9fda36b0
DM
18881 "count_in" : {
18882 "description" : "Incoming mail count.",
18883 "type" : "number"
18884 },
18885 "count_out" : {
18886 "description" : "Outgoing mail count.",
18887 "type" : "number"
18888 },
18889 "domain" : {
18890 "description" : "Domain name.",
d7cd791b 18891 "type" : "string"
9fda36b0 18892 },
9fda36b0
DM
18893 "spamcount_in" : {
18894 "description" : "Incoming spam mails.",
18895 "type" : "number"
18896 },
18897 "spamcount_out" : {
18898 "description" : "Outgoing spam mails.",
18899 "type" : "number"
18900 },
18901 "viruscount_in" : {
18902 "description" : "Number of incoming virus mails.",
18903 "type" : "number"
18904 },
18905 "viruscount_out" : {
18906 "description" : "Number of outgoing virus mails.",
18907 "type" : "number"
d7cd791b
DM
18908 }
18909 },
18910 "type" : "object"
18911 },
18912 "type" : "array"
18913 }
9fda36b0
DM
18914 }
18915 },
18916 "leaf" : 1,
18917 "path" : "/statistics/domains",
18918 "text" : "domains"
18919 },
18920 {
18921 "info" : {
18922 "GET" : {
6bd70b95 18923 "allowtoken" : 1,
9fda36b0
DM
18924 "description" : "General Mail Statistics.",
18925 "method" : "GET",
18926 "name" : "mail",
d7cd791b
DM
18927 "parameters" : {
18928 "additionalProperties" : 0,
18929 "properties" : {
9fda36b0
DM
18930 "day" : {
18931 "description" : "Day of month. Get statistics for a single day.",
18932 "maximum" : 31,
18933 "minimum" : 1,
18934 "optional" : 1,
18935 "type" : "integer",
18936 "typetext" : "<integer> (1 - 31)"
d7cd791b 18937 },
9fda36b0
DM
18938 "endtime" : {
18939 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
18940 "minimum" : 1,
d7cd791b 18941 "optional" : 1,
9fda36b0
DM
18942 "type" : "integer",
18943 "typetext" : "<integer> (1 - N)"
18944 },
18945 "month" : {
18946 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
18947 "maximum" : 12,
18948 "minimum" : 1,
18949 "optional" : 1,
18950 "type" : "integer",
18951 "typetext" : "<integer> (1 - 12)"
18952 },
18953 "starttime" : {
18954 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
18955 "minimum" : 0,
18956 "optional" : 1,
18957 "type" : "integer",
18958 "typetext" : "<integer> (0 - N)"
18959 },
18960 "year" : {
18961 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
18962 "maximum" : 3000,
18963 "minimum" : 1900,
18964 "optional" : 1,
18965 "type" : "integer",
18966 "typetext" : "<integer> (1900 - 3000)"
d7cd791b
DM
18967 }
18968 }
18969 },
18970 "permissions" : {
18971 "check" : [
18972 "admin",
18973 "qmanager",
9fda36b0 18974 "audit"
d7cd791b
DM
18975 ]
18976 },
d7cd791b 18977 "returns" : {
9fda36b0
DM
18978 "properties" : {
18979 "avptime" : {
18980 "description" : "Average mail processing time in seconds.",
18981 "type" : "number"
18982 },
18983 "bounces_in" : {
18984 "description" : "Incoming bounce mail count (sender = <>).",
18985 "type" : "number"
18986 },
18987 "bounces_out" : {
18988 "description" : "Outgoing bounce mail count (sender = <>).",
18989 "type" : "number"
18990 },
18991 "bytes_in" : {
18992 "description" : "Incoming mail traffic (bytes).",
18993 "type" : "number"
18994 },
18995 "bytes_out" : {
18996 "description" : "Outgoing mail traffic (bytes).",
18997 "type" : "number"
18998 },
18999 "count" : {
19000 "description" : "Overall mail count (in and out).",
19001 "type" : "number"
19002 },
19003 "count_in" : {
19004 "description" : "Incoming mail count.",
19005 "type" : "number"
19006 },
19007 "count_out" : {
19008 "description" : "Outgoing mail count.",
19009 "type" : "number"
19010 },
19011 "glcount" : {
19012 "description" : "Number of greylisted mails.",
19013 "type" : "number"
19014 },
19015 "junk_in" : {
274b47fc 19016 "description" : "Incoming junk mail count (viruscount_in + spamcount_in + glcount + spfcount + rbl_rejects + pregreet_rejects).",
9fda36b0
DM
19017 "type" : "number"
19018 },
19019 "junk_out" : {
19020 "description" : "Outgoing junk mail count (viruscount_out + spamcount_out).",
19021 "type" : "number"
19022 },
274b47fc
DM
19023 "pregreet_rejects" : {
19024 "description" : "PREGREET recject count.",
19025 "type" : "integer"
19026 },
19027 "rbl_rejects" : {
19028 "description" : "Number of RBL rejects.",
19029 "type" : "integer"
19030 },
9fda36b0
DM
19031 "spamcount_in" : {
19032 "description" : "Incoming spam mails.",
19033 "type" : "number"
19034 },
19035 "spamcount_out" : {
19036 "description" : "Outgoing spam mails.",
19037 "type" : "number"
19038 },
19039 "spfcount" : {
19040 "description" : "Mails rejected by SPF.",
19041 "type" : "number"
19042 },
19043 "viruscount_in" : {
19044 "description" : "Number of incoming virus mails.",
19045 "type" : "number"
19046 },
19047 "viruscount_out" : {
19048 "description" : "Number of outgoing virus mails.",
19049 "type" : "number"
19050 }
19051 },
19052 "type" : "object"
d7cd791b
DM
19053 }
19054 }
19055 },
9fda36b0
DM
19056 "leaf" : 1,
19057 "path" : "/statistics/mail",
19058 "text" : "mail"
d7cd791b 19059 },
732d76e1
DM
19060 {
19061 "info" : {
19062 "GET" : {
6bd70b95 19063 "allowtoken" : 1,
732d76e1
DM
19064 "description" : "Mail Count Statistics.",
19065 "method" : "GET",
19066 "name" : "recent",
19067 "parameters" : {
19068 "additionalProperties" : 0,
19069 "properties" : {
19070 "hours" : {
19071 "default" : 12,
19072 "description" : "How many hours you want to get",
19073 "maximum" : 24,
19074 "minimum" : 1,
19075 "optional" : 1,
19076 "type" : "integer",
19077 "typetext" : "<integer> (1 - 24)"
19078 },
19079 "timespan" : {
19080 "default" : 1800,
19081 "description" : "The Timespan for one datapoint (in seconds)",
19082 "maximum" : 1800,
19083 "minimum" : 1,
19084 "optional" : 1,
19085 "type" : "integer",
19086 "typetext" : "<integer> (1 - 1800)"
19087 }
19088 }
19089 },
19090 "permissions" : {
19091 "check" : [
19092 "admin",
19093 "qmanager",
19094 "audit"
19095 ]
19096 },
19097 "returns" : {
19098 "items" : {
19099 "properties" : {
19100 "bytes_in" : {
19101 "description" : "Number of incoming bytes mails.",
19102 "type" : "number"
19103 },
19104 "bytes_out" : {
19105 "description" : "Number of outgoing bytes mails.",
19106 "type" : "number"
19107 },
19108 "count" : {
19109 "description" : "Overall mail count (in and out).",
19110 "type" : "number"
19111 },
19112 "count_in" : {
19113 "description" : "Incoming mail count.",
19114 "type" : "number"
19115 },
19116 "count_out" : {
19117 "description" : "Outgoing mail count.",
19118 "type" : "number"
19119 },
19120 "index" : {
19121 "description" : "Time index.",
19122 "type" : "integer"
19123 },
19124 "spam" : {
19125 "description" : "Overall spam mail count (in and out).",
19126 "type" : "number"
19127 },
19128 "spam_in" : {
19129 "description" : "Incoming spam mails (spamcount_in + glcount + spfcount).",
19130 "type" : "number"
19131 },
19132 "spam_out" : {
19133 "description" : "Outgoing spam mails.",
19134 "type" : "number"
19135 },
19136 "time" : {
19137 "description" : "Time (Unix epoch).",
19138 "type" : "integer"
19139 },
19140 "timespan" : {
19141 "description" : "Timespan in seconds for one data point",
19142 "type" : "number"
19143 },
19144 "virus_in" : {
19145 "description" : "Number of incoming virus mails.",
19146 "type" : "number"
19147 },
19148 "virus_out" : {
19149 "description" : "Number of outgoing virus mails.",
19150 "type" : "number"
19151 }
19152 },
19153 "type" : "object"
19154 },
19155 "type" : "array"
19156 }
19157 }
19158 },
19159 "leaf" : 1,
19160 "path" : "/statistics/recent",
19161 "text" : "recent"
19162 },
19163 {
19164 "info" : {
19165 "GET" : {
6bd70b95 19166 "allowtoken" : 1,
732d76e1
DM
19167 "description" : "Top recent Mail Receivers (including spam)",
19168 "method" : "GET",
19169 "name" : "recentreceivers",
19170 "parameters" : {
19171 "additionalProperties" : 0,
19172 "properties" : {
19173 "hours" : {
19174 "default" : 12,
19175 "description" : "How many hours you want to get",
19176 "maximum" : 24,
19177 "minimum" : 1,
19178 "optional" : 1,
19179 "type" : "integer",
19180 "typetext" : "<integer> (1 - 24)"
19181 },
19182 "limit" : {
19183 "default" : 5,
19184 "description" : "The maximum number of receivers to return.",
19185 "maximum" : 50,
19186 "minimum" : 1,
19187 "optional" : 1,
19188 "type" : "integer",
19189 "typetext" : "<integer> (1 - 50)"
19190 }
19191 }
19192 },
19193 "permissions" : {
19194 "check" : [
19195 "admin",
19196 "qmanager",
19197 "audit"
19198 ]
19199 },
19200 "returns" : {
19201 "items" : {
19202 "properties" : {
19203 "count" : {
19204 "description" : "The count of incoming not blocked E-Mails",
19205 "type" : "integer"
19206 },
19207 "receiver" : {
19208 "description" : "The receiver",
19209 "type" : "string"
19210 }
19211 },
19212 "type" : "object"
19213 },
19214 "type" : "array"
19215 }
19216 }
19217 },
19218 "leaf" : 1,
19219 "path" : "/statistics/recentreceivers",
19220 "text" : "recentreceivers"
19221 },
d7cd791b 19222 {
9fda36b0
DM
19223 "info" : {
19224 "GET" : {
6bd70b95 19225 "allowtoken" : 1,
9fda36b0
DM
19226 "description" : "Mail Count Statistics.",
19227 "method" : "GET",
19228 "name" : "mailcount",
19229 "parameters" : {
19230 "additionalProperties" : 0,
19231 "properties" : {
19232 "day" : {
19233 "description" : "Day of month. Get statistics for a single day.",
19234 "maximum" : 31,
19235 "minimum" : 1,
19236 "optional" : 1,
19237 "type" : "integer",
19238 "typetext" : "<integer> (1 - 31)"
d7cd791b 19239 },
9fda36b0
DM
19240 "endtime" : {
19241 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
19242 "minimum" : 1,
19243 "optional" : 1,
19244 "type" : "integer",
19245 "typetext" : "<integer> (1 - N)"
d7cd791b 19246 },
9fda36b0
DM
19247 "month" : {
19248 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
19249 "maximum" : 12,
19250 "minimum" : 1,
19251 "optional" : 1,
19252 "type" : "integer",
19253 "typetext" : "<integer> (1 - 12)"
19254 },
19255 "starttime" : {
19256 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
19257 "minimum" : 0,
19258 "optional" : 1,
19259 "type" : "integer",
19260 "typetext" : "<integer> (0 - N)"
19261 },
19262 "timespan" : {
19263 "default" : 3600,
19264 "description" : "Return Mails/<timespan>, where <timespan> is specified in seconds.",
19265 "maximum" : 31622400,
19266 "minimum" : 3600,
19267 "optional" : 1,
19268 "type" : "integer",
19269 "typetext" : "<integer> (3600 - 31622400)"
19270 },
19271 "year" : {
19272 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
19273 "maximum" : 3000,
19274 "minimum" : 1900,
19275 "optional" : 1,
19276 "type" : "integer",
19277 "typetext" : "<integer> (1900 - 3000)"
d7cd791b
DM
19278 }
19279 }
19280 },
9fda36b0
DM
19281 "permissions" : {
19282 "check" : [
19283 "admin",
19284 "qmanager",
19285 "audit"
19286 ]
19287 },
19288 "returns" : {
19289 "items" : {
19290 "properties" : {
19291 "bounces_in" : {
19292 "description" : "Incoming bounce mail count (sender = <>).",
19293 "type" : "number"
19294 },
19295 "bounces_out" : {
19296 "description" : "Outgoing bounce mail count (sender = <>).",
19297 "type" : "number"
19298 },
19299 "count" : {
19300 "description" : "Overall mail count (in and out).",
19301 "type" : "number"
19302 },
19303 "count_in" : {
19304 "description" : "Incoming mail count.",
19305 "type" : "number"
19306 },
19307 "count_out" : {
19308 "description" : "Outgoing mail count.",
19309 "type" : "number"
19310 },
19311 "index" : {
19312 "description" : "Time index.",
19313 "type" : "integer"
19314 },
274b47fc
DM
19315 "pregreet_rejects" : {
19316 "description" : "PREGREET recject count.",
19317 "type" : "integer"
19318 },
19319 "rbl_rejects" : {
19320 "description" : "Number of RBL rejects.",
19321 "type" : "integer"
19322 },
9fda36b0 19323 "spamcount_in" : {
274b47fc 19324 "description" : "Incoming spam mails (spamcount_in + glcount + spfcount + rbl_rejects + pregreet_rejects).",
9fda36b0
DM
19325 "type" : "number"
19326 },
19327 "spamcount_out" : {
19328 "description" : "Outgoing spam mails.",
19329 "type" : "number"
19330 },
19331 "time" : {
19332 "description" : "Time (Unix epoch).",
19333 "type" : "integer"
19334 },
19335 "viruscount_in" : {
19336 "description" : "Number of incoming virus mails.",
19337 "type" : "number"
19338 },
19339 "viruscount_out" : {
19340 "description" : "Number of outgoing virus mails.",
19341 "type" : "number"
19342 }
19343 },
19344 "type" : "object"
19345 },
19346 "type" : "array"
19347 }
d7cd791b 19348 }
9fda36b0
DM
19349 },
19350 "leaf" : 1,
19351 "path" : "/statistics/mailcount",
19352 "text" : "mailcount"
19353 },
19354 {
d7cd791b
DM
19355 "info" : {
19356 "GET" : {
6bd70b95 19357 "allowtoken" : 1,
9fda36b0 19358 "description" : "Get Statistics about detected Viruses.",
d7cd791b 19359 "method" : "GET",
9fda36b0 19360 "name" : "virus",
d7cd791b
DM
19361 "parameters" : {
19362 "additionalProperties" : 0,
19363 "properties" : {
9fda36b0
DM
19364 "day" : {
19365 "description" : "Day of month. Get statistics for a single day.",
19366 "maximum" : 31,
19367 "minimum" : 1,
19368 "optional" : 1,
19369 "type" : "integer",
19370 "typetext" : "<integer> (1 - 31)"
19371 },
d7cd791b 19372 "endtime" : {
9fda36b0 19373 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
d7cd791b
DM
19374 "minimum" : 1,
19375 "optional" : 1,
19376 "type" : "integer",
19377 "typetext" : "<integer> (1 - N)"
19378 },
9fda36b0
DM
19379 "month" : {
19380 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
19381 "maximum" : 12,
19382 "minimum" : 1,
d7cd791b 19383 "optional" : 1,
9fda36b0
DM
19384 "type" : "integer",
19385 "typetext" : "<integer> (1 - 12)"
d7cd791b
DM
19386 },
19387 "starttime" : {
9fda36b0 19388 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
d7cd791b
DM
19389 "minimum" : 0,
19390 "optional" : 1,
19391 "type" : "integer",
19392 "typetext" : "<integer> (0 - N)"
9fda36b0
DM
19393 },
19394 "year" : {
19395 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
19396 "maximum" : 3000,
19397 "minimum" : 1900,
19398 "optional" : 1,
19399 "type" : "integer",
19400 "typetext" : "<integer> (1900 - 3000)"
d7cd791b
DM
19401 }
19402 }
19403 },
19404 "permissions" : {
19405 "check" : [
19406 "admin",
19407 "qmanager",
9fda36b0 19408 "audit"
d7cd791b
DM
19409 ]
19410 },
19411 "returns" : {
19412 "items" : {
19413 "properties" : {
19414 "count" : {
9fda36b0 19415 "description" : "Detection count.",
d7cd791b
DM
19416 "type" : "integer"
19417 },
9fda36b0
DM
19418 "name" : {
19419 "description" : "Virus name.",
19420 "type" : "string"
d7cd791b
DM
19421 }
19422 },
19423 "type" : "object"
19424 },
d7cd791b
DM
19425 "type" : "array"
19426 }
19427 }
19428 },
9fda36b0
DM
19429 "leaf" : 1,
19430 "path" : "/statistics/virus",
19431 "text" : "virus"
d7cd791b
DM
19432 },
19433 {
19434 "info" : {
19435 "GET" : {
6bd70b95 19436 "allowtoken" : 1,
9fda36b0 19437 "description" : "Get the count of spam mails grouped by spam score. Count for score 10 includes mails with spam score > 10.",
d7cd791b 19438 "method" : "GET",
9fda36b0 19439 "name" : "spamscores",
d7cd791b
DM
19440 "parameters" : {
19441 "additionalProperties" : 0,
19442 "properties" : {
9fda36b0
DM
19443 "day" : {
19444 "description" : "Day of month. Get statistics for a single day.",
19445 "maximum" : 31,
19446 "minimum" : 1,
19447 "optional" : 1,
19448 "type" : "integer",
19449 "typetext" : "<integer> (1 - 31)"
d7cd791b 19450 },
9fda36b0
DM
19451 "endtime" : {
19452 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
19453 "minimum" : 1,
d7cd791b 19454 "optional" : 1,
9fda36b0
DM
19455 "type" : "integer",
19456 "typetext" : "<integer> (1 - N)"
19457 },
19458 "month" : {
19459 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
19460 "maximum" : 12,
19461 "minimum" : 1,
19462 "optional" : 1,
19463 "type" : "integer",
19464 "typetext" : "<integer> (1 - 12)"
19465 },
19466 "starttime" : {
19467 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
19468 "minimum" : 0,
19469 "optional" : 1,
19470 "type" : "integer",
19471 "typetext" : "<integer> (0 - N)"
19472 },
19473 "year" : {
19474 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
19475 "maximum" : 3000,
19476 "minimum" : 1900,
19477 "optional" : 1,
19478 "type" : "integer",
19479 "typetext" : "<integer> (1900 - 3000)"
d7cd791b
DM
19480 }
19481 }
19482 },
19483 "permissions" : {
19484 "check" : [
19485 "admin",
19486 "qmanager",
9fda36b0 19487 "audit"
d7cd791b
DM
19488 ]
19489 },
19490 "returns" : {
9fda36b0
DM
19491 "items" : {
19492 "properties" : {
19493 "count" : {
19494 "description" : "Detection count.",
19495 "type" : "integer"
19496 },
19497 "level" : {
19498 "description" : "Spam level.",
19499 "type" : "string"
19500 },
19501 "ratio" : {
19502 "description" : "Portion of overall mail count.",
19503 "type" : "number"
19504 }
d7cd791b 19505 },
9fda36b0
DM
19506 "type" : "object"
19507 },
19508 "type" : "array"
19509 }
19510 }
19511 },
19512 "leaf" : 1,
19513 "path" : "/statistics/spamscores",
19514 "text" : "spamscores"
19515 },
19516 {
19517 "info" : {
19518 "GET" : {
6bd70b95 19519 "allowtoken" : 1,
9fda36b0
DM
19520 "description" : "Get the count of spam mails grouped by spam score. Count for score 10 includes mails with spam score > 10.",
19521 "method" : "GET",
19522 "name" : "maildistribution",
19523 "parameters" : {
19524 "additionalProperties" : 0,
19525 "properties" : {
19526 "day" : {
19527 "description" : "Day of month. Get statistics for a single day.",
19528 "maximum" : 31,
19529 "minimum" : 1,
d7cd791b 19530 "optional" : 1,
9fda36b0
DM
19531 "type" : "integer",
19532 "typetext" : "<integer> (1 - 31)"
d7cd791b 19533 },
9fda36b0
DM
19534 "endtime" : {
19535 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
19536 "minimum" : 1,
19537 "optional" : 1,
19538 "type" : "integer",
19539 "typetext" : "<integer> (1 - N)"
d7cd791b 19540 },
9fda36b0
DM
19541 "month" : {
19542 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
19543 "maximum" : 12,
19544 "minimum" : 1,
19545 "optional" : 1,
19546 "type" : "integer",
19547 "typetext" : "<integer> (1 - 12)"
d7cd791b 19548 },
9fda36b0
DM
19549 "starttime" : {
19550 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
19551 "minimum" : 0,
19552 "optional" : 1,
19553 "type" : "integer",
19554 "typetext" : "<integer> (0 - N)"
d7cd791b 19555 },
9fda36b0
DM
19556 "year" : {
19557 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
19558 "maximum" : 3000,
19559 "minimum" : 1900,
19560 "optional" : 1,
19561 "type" : "integer",
19562 "typetext" : "<integer> (1900 - 3000)"
d7cd791b 19563 }
9fda36b0
DM
19564 }
19565 },
19566 "permissions" : {
19567 "check" : [
19568 "admin",
19569 "qmanager",
19570 "audit"
19571 ]
19572 },
19573 "returns" : {
19574 "items" : {
19575 "properties" : {
19576 "bounces_in" : {
19577 "description" : "Incoming bounce mail count (sender = <>).",
19578 "type" : "number"
19579 },
19580 "bounces_out" : {
19581 "description" : "Outgoing bounce mail count (sender = <>).",
19582 "type" : "number"
19583 },
19584 "count" : {
19585 "description" : "Overall mail count (in and out).",
19586 "type" : "number"
19587 },
19588 "count_in" : {
19589 "description" : "Incoming mail count.",
19590 "type" : "number"
19591 },
19592 "count_out" : {
19593 "description" : "Outgoing mail count.",
19594 "type" : "number"
19595 },
19596 "index" : {
19597 "description" : "Hour (0-23).",
19598 "type" : "integer"
19599 },
19600 "spamcount_in" : {
19601 "description" : "Incoming spam mails (spamcount_in + glcount + spfcount).",
19602 "type" : "number"
19603 },
19604 "spamcount_out" : {
19605 "description" : "Outgoing spam mails.",
19606 "type" : "number"
19607 },
19608 "viruscount_in" : {
19609 "description" : "Number of incoming virus mails.",
19610 "type" : "number"
19611 },
19612 "viruscount_out" : {
19613 "description" : "Number of outgoing virus mails.",
19614 "type" : "number"
19615 }
19616 },
19617 "type" : "object"
d7cd791b 19618 },
9fda36b0 19619 "type" : "array"
d7cd791b 19620 }
9fda36b0
DM
19621 }
19622 },
19623 "leaf" : 1,
19624 "path" : "/statistics/maildistribution",
19625 "text" : "maildistribution"
19626 },
19627 {
19628 "info" : {
19629 "GET" : {
6bd70b95 19630 "allowtoken" : 1,
274b47fc 19631 "description" : "Early SMTP reject count statistic (RBL, PREGREET rejects with postscreen)",
9fda36b0 19632 "method" : "GET",
274b47fc 19633 "name" : "rejectcount",
d7cd791b
DM
19634 "parameters" : {
19635 "additionalProperties" : 0,
19636 "properties" : {
9fda36b0
DM
19637 "day" : {
19638 "description" : "Day of month. Get statistics for a single day.",
19639 "maximum" : 31,
19640 "minimum" : 1,
19641 "optional" : 1,
19642 "type" : "integer",
19643 "typetext" : "<integer> (1 - 31)"
d7cd791b 19644 },
9fda36b0
DM
19645 "endtime" : {
19646 "description" : "Only consider entries older than 'endtime' (unix epoch). This is set to '<start> + 1day' by default.",
19647 "minimum" : 1,
19648 "optional" : 1,
19649 "type" : "integer",
19650 "typetext" : "<integer> (1 - N)"
19651 },
19652 "month" : {
19653 "description" : "Month. You will get statistics for the whole month if you do not specify a day.",
19654 "maximum" : 12,
19655 "minimum" : 1,
19656 "optional" : 1,
19657 "type" : "integer",
19658 "typetext" : "<integer> (1 - 12)"
19659 },
19660 "starttime" : {
19661 "description" : "Only consider entries newer than 'starttime' (unix epoch). Default is 'now - 1day'.",
19662 "minimum" : 0,
19663 "optional" : 1,
19664 "type" : "integer",
19665 "typetext" : "<integer> (0 - N)"
19666 },
19667 "timespan" : {
19668 "default" : 3600,
274b47fc 19669 "description" : "Return RBL/PREGREET rejects/<timespan>, where <timespan> is specified in seconds.",
9fda36b0
DM
19670 "maximum" : 31622400,
19671 "minimum" : 3600,
19672 "optional" : 1,
19673 "type" : "integer",
19674 "typetext" : "<integer> (3600 - 31622400)"
19675 },
19676 "year" : {
19677 "description" : "Year. Defaults to current year. You will get statistics for the whole year if you do not specify a month or day.",
19678 "maximum" : 3000,
19679 "minimum" : 1900,
19680 "optional" : 1,
19681 "type" : "integer",
19682 "typetext" : "<integer> (1900 - 3000)"
d7cd791b
DM
19683 }
19684 }
19685 },
19686 "permissions" : {
19687 "check" : [
19688 "admin",
19689 "qmanager",
9fda36b0 19690 "audit"
d7cd791b
DM
19691 ]
19692 },
d7cd791b 19693 "returns" : {
9fda36b0
DM
19694 "items" : {
19695 "properties" : {
9fda36b0
DM
19696 "index" : {
19697 "description" : "Time index.",
19698 "type" : "integer"
19699 },
274b47fc
DM
19700 "pregreet_rejects" : {
19701 "description" : "PREGREET recject count.",
19702 "type" : "integer"
19703 },
19704 "rbl_rejects" : {
19705 "description" : "RBL recject count.",
19706 "type" : "integer"
19707 },
9fda36b0
DM
19708 "time" : {
19709 "description" : "Time (Unix epoch).",
19710 "type" : "integer"
19711 }
19712 },
19713 "type" : "object"
19714 },
19715 "type" : "array"
d7cd791b
DM
19716 }
19717 }
19718 },
19719 "leaf" : 1,
274b47fc
DM
19720 "path" : "/statistics/rejectcount",
19721 "text" : "rejectcount"
d7cd791b
DM
19722 }
19723 ],
19724 "info" : {
19725 "GET" : {
6bd70b95 19726 "allowtoken" : 1,
d7cd791b
DM
19727 "description" : "Directory index.",
19728 "method" : "GET",
19729 "name" : "index",
19730 "parameters" : {
19731 "additionalProperties" : 0
19732 },
19733 "permissions" : {
9fda36b0
DM
19734 "check" : [
19735 "admin",
19736 "qmanager",
19737 "audit"
19738 ]
d7cd791b
DM
19739 },
19740 "returns" : {
19741 "items" : {
19742 "properties" : {},
19743 "type" : "object"
19744 },
19745 "links" : [
19746 {
19747 "href" : "{name}",
19748 "rel" : "child"
19749 }
19750 ],
19751 "type" : "array"
19752 }
19753 }
19754 },
19755 "leaf" : 0,
9fda36b0
DM
19756 "path" : "/statistics",
19757 "text" : "statistics"
d7cd791b 19758 },
410dc2c9
DM
19759 {
19760 "info" : {
19761 "GET" : {
6bd70b95 19762 "allowtoken" : 1,
410dc2c9
DM
19763 "description" : "API version details.",
19764 "method" : "GET",
19765 "name" : "version",
19766 "parameters" : {
19767 "additionalProperties" : 0
19768 },
19769 "permissions" : {
19770 "user" : "all"
19771 },
19772 "returns" : {
19773 "properties" : {
19774 "release" : {
241ac83c 19775 "description" : "The current installed Proxmox Mailgateway Release",
410dc2c9
DM
19776 "type" : "string"
19777 },
19778 "repoid" : {
241ac83c 19779 "description" : "The short git commit hash ID from which this version was build",
410dc2c9
DM
19780 "type" : "string"
19781 },
19782 "version" : {
241ac83c 19783 "description" : "The current installed pmg-api package version",
410dc2c9
DM
19784 "type" : "string"
19785 }
19786 },
19787 "type" : "object"
19788 }
19789 }
19790 },
19791 "leaf" : 1,
19792 "path" : "/version",
19793 "text" : "version"
19794 }
19795]
19796;
19797