blob: a14c47d88465d735365d62f6d2d5808f2f68bb59 [file] [log] [blame]
Matthias Andreas Benkardb382b102021-01-02 15:32:21 +01001openapi: 3.0.0
2info:
3 description: >-
4 mailcow is complete e-mailing solution with advanced antispam, antivirus,
5 nice UI and API.
6
7
8 In order to use this API you have to create a API key and add your IP
9 address to the whitelist of allowed IPs this can be done by logging into the
10 Mailcow UI using your admin account, then go to Configuration > Access >
11 Edit administrator details > API. There you will find a collapsed API menu.
12
13
14 There are two types of API keys
15 - The read only key can only be used for all get endpoints
16 - The read write key can be used for all endpoints
17
18 title: mailcow API
19 version: "1.0.0"
20
21servers:
22 - url: /
23
24components:
25 securitySchemes:
26 ApiKeyAuth:
27 type: apiKey
28 in: header
29 name: X-API-Key
30 responses:
31 Unauthorized:
32 description: Unauthorized
33 content:
34 application/json:
35 schema:
36 type: object
37 properties:
38 type:
39 type: string
40 example: error
41 msg:
42 type: string
43 example: authentication failed
44 required:
45 - type
46 - msg
47
48security:
49 - ApiKeyAuth: []
50
51paths:
52 /api/v1/add/alias:
53 post:
54 responses:
55 "401":
56 $ref: "#/components/responses/Unauthorized"
57 "200":
58 content:
59 application/json:
60 examples:
61 response:
62 value:
63 - log:
64 - mailbox
65 - add
66 - alias
67 - active: "1"
68 address: alias@domain.tld
69 goto: destination@domain.tld
70 - null
71 msg:
72 - alias_added
73 - alias@domain.tld
74 type: success
75 schema:
76 properties:
77 log:
78 description: contains request object
79 items: {}
80 type: array
81 msg:
82 items: {}
83 type: array
84 type:
85 enum:
86 - success
87 - danger
88 - error
89 type: string
90 type: object
91 description: OK
92 headers: {}
93 tags:
94 - Aliases
95 description: >-
96 You may create your own mailbox alias using this action. It takes a JSON
97 object containing a domain informations.
98
99 Only one `goto*` option can be used, for ex. if you want learn as spam,
100 then send just `goto_spam = 1` in request body.
101 operationId: Create alias
102 requestBody:
103 content:
104 application/json:
105 schema:
106 example:
107 active: "1"
108 address: alias@domain.tld
109 goto: destination@domain.tld
110 properties:
111 active:
112 description: is alias active or not
113 type: boolean
114 address:
115 description: 'alias address, for catchall use "@domain.tld"'
116 type: string
117 goto:
118 description: "destination address, comma separated"
119 type: string
120 goto_ham:
121 description: learn as ham
122 type: boolean
123 goto_null:
124 description: silently ignore
125 type: boolean
126 goto_spam:
127 description: learn as spam
128 type: boolean
129 type: object
130 summary: Create alias
131 /api/v1/add/app-passwd:
132 post:
133 responses:
134 "401":
135 $ref: "#/components/responses/Unauthorized"
136 "200":
137 content:
138 application/json:
139 examples:
140 response:
141 value:
142 - log:
143 - app_passwd
144 - add
145 - active: "1"
146 app_name: emclient
147 app_passwd: keyleudecticidechothistishownsan31
148 app_passwd2: keyleudecticidechothistishownsan31
149 username: hello@mailcow.email
150 msg: app_passwd_added
151 type: success
152 schema:
153 properties:
154 log:
155 description: contains request object
156 items: {}
157 type: array
158 msg:
159 items: {}
160 type: array
161 type:
162 enum:
163 - success
164 - danger
165 - error
166 type: string
167 type: object
168 description: OK
169 headers: {}
170 tags:
171 - App Passwords
172 description: >-
173 Using this endpoint you can create a new app password for a specific
174 mailbox.
175 operationId: Create App Password
176 requestBody:
177 content:
178 application/json:
179 schema:
180 example:
181 active: "1"
182 username: info@domain.tld
183 app_name: wordpress
184 app_passwd: keyleudecticidechothistishownsan31
185 app_passwd2: keyleudecticidechothistishownsan31
186 properties:
187 active:
188 description: is alias active or not
189 type: boolean
190 username:
191 description: mailbox for which the app password should be created
192 type: string
193 app_name:
194 description: name of your app password
195 type: string
196 app_passwd:
197 description: your app password
198 type: string
199 app_passwd2:
200 description: your app password
201 type: string
202 type: object
203 summary: Create App Password
204 /api/v1/add/bcc:
205 post:
206 responses:
207 "401":
208 $ref: "#/components/responses/Unauthorized"
209 "200":
210 content:
211 application/json:
212 examples:
213 response:
214 value:
215 - log:
216 - bcc
217 - add
218 - active: "1"
219 bcc_dest: bcc@awesomecow.tld
220 local_dest: mailcow.tld
221 type: sender
222 - null
223 msg: bcc_saved
224 type: success
225 schema:
226 properties:
227 log:
228 description: contains request object
229 items: {}
230 type: array
231 msg:
232 items: {}
233 type: array
234 type:
235 enum:
236 - success
237 - danger
238 - error
239 type: string
240 type: object
241 description: OK
242 headers: {}
243 tags:
244 - Address Rewriting
245 description: >-
246 Using this endpoint you can create a BCC map to forward all mails via a
247 bcc for a given domain.
248 operationId: Create BCC Map
249 requestBody:
250 content:
251 application/json:
252 schema:
253 example:
254 active: "1"
255 bcc_dest: bcc@awesomecow.tld
256 local_dest: mailcow.tld
257 type: sender
258 properties:
259 active:
260 description: 1 for a active user account 0 for a disabled user account
261 type: number
262 bcc_dest:
263 description: the email address where all mails should be send to
264 type: string
265 local_dest:
266 description: the domain which emails should be forwarded
267 type: string
268 type:
269 description: the type of bcc map can be `sender` or `recipient`
270 type: string
271 type: object
272 summary: Create BCC Map
273 /api/v1/add/dkim:
274 post:
275 responses:
276 "401":
277 $ref: "#/components/responses/Unauthorized"
278 "200":
279 content:
280 application/json:
281 examples:
282 response:
283 value:
284 - log:
285 - dkim
286 - add
287 - dkim_selector: dkim
288 domains: hanspeterlol.de
289 key_size: "2048"
290 msg:
291 - dkim_added
292 - hanspeterlol.de
293 type: success
294 schema:
295 properties:
296 log:
297 description: contains request object
298 items: {}
299 type: array
300 msg:
301 items: {}
302 type: array
303 type:
304 enum:
305 - success
306 - danger
307 - error
308 type: string
309 type: object
310 description: OK
311 headers: {}
312 tags:
313 - DKIM
314 description: Using this endpoint you can generate new DKIM keys.
315 operationId: Generate DKIM Key
316 requestBody:
317 content:
318 application/json:
319 schema:
320 example:
321 dkim_selector: dkim
322 domains: mailcow.tld
323 key_size: "2048"
324 properties:
325 dkim_selector:
326 description: the DKIM selector default dkim
327 type: string
328 domains:
329 description: a list of domains for which a dkim key should be generated
330 type: string
331 key_size:
332 description: the key size (1024 or 2048)
333 type: number
334 type: object
335 summary: Generate DKIM Key
336 /api/v1/add/dkim_duplicate:
337 post:
338 responses:
339 "401":
340 $ref: "#/components/responses/Unauthorized"
341 "200":
342 content:
343 application/json:
344 examples:
345 response:
346 value:
347 - log:
348 - dkim
349 - duplicate
350 - from_domain: mailcow.tld
351 to_domain: awesomecow.tld
352 msg:
353 - dkim_duplicated
354 - mailcow.tld
355 - awesomecow.tld
356 type: success
357 schema:
358 properties:
359 log:
360 description: contains request object
361 items: {}
362 type: array
363 msg:
364 items: {}
365 type: array
366 type:
367 enum:
368 - success
369 - danger
370 - error
371 type: string
372 type: object
373 description: OK
374 headers: {}
375 tags:
376 - DKIM
377 description: Using this endpoint you can duplicate the DKIM Key of one domain.
378 operationId: Duplicate DKIM Key
379 requestBody:
380 content:
381 application/json:
382 schema:
383 example:
384 from_domain: mailcow.tld
385 to_domain: awesomecow.tld
386 properties:
387 fron_domain:
388 description: the domain where the dkim key should be copied from
389 type: string
390 to_domain:
391 description: the domain where the dkim key should be copied to
392 type: string
393 type: object
394 summary: Duplicate DKIM Key
395 /api/v1/add/domain:
396 post:
397 responses:
398 "401":
399 $ref: "#/components/responses/Unauthorized"
400 "200":
401 content:
402 application/json:
403 examples:
404 response:
405 value:
406 - log:
407 - ratelimit
408 - edit
409 - domain
410 - object: domain.tld
411 rl_frame: s
412 rl_value: "10"
413 msg:
414 - rl_saved
415 - domain.tld
416 type: success
417 - log:
418 - mailbox
419 - add
420 - domain
421 - active: "1"
422 aliases: "400"
423 backupmx: "0"
424 defquota: "3072"
425 description: some decsription
426 domain: domain.tld
427 lang: cs
428 mailboxes: "10"
429 maxquota: "10240"
430 quota: "10240"
431 relay_all_recipients: "0"
432 rl_frame: s
433 rl_value: "10"
434 - null
435 msg:
436 - domain_added
437 - domain.tld
438 type: success
439 schema:
440 properties:
441 log:
442 description: contains request object
443 items: {}
444 type: array
445 msg:
446 items: {}
447 type: array
448 type:
449 enum:
450 - success
451 - danger
452 - error
453 type: string
454 type: object
455 description: OK
456 headers: {}
457 tags:
458 - Domains
459 description: >-
460 You may create your own domain using this action. It takes a JSON object
461 containing a domain informations.
462 operationId: Create domain
463 requestBody:
464 content:
465 application/json:
466 schema:
467 example:
468 active: "1"
469 aliases: "400"
470 backupmx: "0"
471 defquota: "3072"
472 description: some decsription
473 domain: domain.tld
474 lang: cs
475 mailboxes: "10"
476 maxquota: "10240"
477 quota: "10240"
478 relay_all_recipients: "0"
479 rl_frame: s
480 rl_value: "10"
481 properties:
482 active:
483 description: is domain active or not
484 type: boolean
485 aliases:
486 description: limit count of aliases associated with this domain
487 type: number
488 backupmx:
489 description: relay domain or not
490 type: boolean
491 defquota:
492 description: predefined mailbox quota in `add mailbox` form
493 type: number
494 description:
495 description: Description of domain
496 type: string
497 domain:
498 description: Fully qualified domain name
499 type: string
500 lang:
501 description: language code
502 enum:
503 - sk
504 - cs
505 - de
506 - en
507 - es
508 - fr
509 - lv
510 - nl
511 - pl
512 - pt
513 - ru
514 - it
515 - ca
516 type: string
517 mailboxes:
518 description: limit count of mailboxes associated with this domain
519 type: number
520 maxquota:
521 description: maximum quota per mailbox
522 type: number
523 quota:
524 description: maximum quota for this domain (for all mailboxes in sum)
525 type: number
526 relay_all_recipients:
527 description: >-
528 if not, them you have to create "dummy" mailbox for each
529 address to relay
530 type: boolean
531 rl_frame:
532 enum:
533 - s
534 - m
535 - h
536 - d
537 type: string
538 rl_value:
539 description: rate limit value
540 type: number
541 type: object
542 summary: Create domain
543 /api/v1/add/domain-admin:
544 post:
545 responses:
546 "401":
547 $ref: "#/components/responses/Unauthorized"
548 "200":
549 content:
550 application/json:
551 examples:
552 response:
553 value:
554 - log:
555 - domain_admin
556 - add
557 - active: "1"
558 domains: mailcow.tld
559 password: "*"
560 password2: "*"
561 username: testadmin
562 msg:
563 - domain_admin_added
564 - testadmin
565 type: success
566 schema:
567 properties:
568 log:
569 description: contains request object
570 items: {}
571 type: array
572 msg:
573 items: {}
574 type: array
575 type:
576 enum:
577 - success
578 - danger
579 - error
580 type: string
581 type: object
582 description: OK
583 headers: {}
584 tags:
585 - Domain admin
586 description: >-
587 Using this endpoint you can create a new Domain Admin user. This user
588 has full control over a domain, and can create new mailboxes and
589 aliases.
590 operationId: Create Domain Admin user
591 requestBody:
592 content:
593 application/json:
594 schema:
595 example:
596 active: "1"
597 domains: mailcow.tld
598 password: supersecurepw
599 password2: supersecurepw
600 username: testadmin
601 properties:
602 active:
603 description: 1 for a active user account 0 for a disabled user account
604 type: number
605 domains:
606 description: the domains the user should be a admin of
607 type: string
608 password:
609 description: domain admin user password
610 type: string
611 password2:
612 description: domain admin user password
613 type: string
614 username:
615 description: the username for the admin user
616 type: string
617 type: object
618 summary: Create Domain Admin user
619 /api/v1/edit/da-acl:
620 post:
621 responses:
622 "401":
623 $ref: "#/components/responses/Unauthorized"
624 "200":
625 content:
626 application/json:
627 examples:
628 response:
629 value:
630 - type: success
631 log:
632 - acl
633 - edit
634 - testadmin
635 - username:
636 - testadmin
637 da_acl:
638 - syncjobs
639 - quarantine
640 - login_as
641 - sogo_access
642 - app_passwds
643 - bcc_maps
644 - pushover
645 - filters
646 - ratelimit
647 - spam_policy
648 - extend_sender_acl
649 - unlimited_quota
650 - protocol_access
651 - smtp_ip_access
652 - alias_domains
653 - domain_desc
654 msg:
655 - acl_saved
656 - testadmin
657 schema:
658 properties:
659 log:
660 description: contains request object
661 items: {}
662 type: array
663 msg:
664 items: {}
665 type: array
666 type:
667 enum:
668 - success
669 - danger
670 - error
671 type: string
672 type: object
673 description: OK
674 headers: {}
675 tags:
676 - Domain admin
677 description: >-
678 Using this endpoint you can edit the ACLs of a Domain Admin user. This user
679 has full control over a domain, and can create new mailboxes and
680 aliases.
681 operationId: Edit Domain Admin ACL
682 requestBody:
683 content:
684 application/json:
685 schema:
686 example:
687 items:
688 - testadmin
689 attr:
690 da_acl:
691 - syncjobs
692 - quarantine
693 - login_as
694 - sogo_access
695 - app_passwds
696 - bcc_maps
697 - pushover
698 - filters
699 - ratelimit
700 - spam_policy
701 - extend_sender_acl
702 - unlimited_quota
703 - protocol_access
704 - smtp_ip_access
705 - alias_domains
706 - domain_desc
707 properties:
708 items:
709 description: contains the domain admin username you want to edit
710 type: object
711 attr:
712 properties:
713 da_acl:
714 description: contains the list of acl names that are active for this user
715 type: object
716 type: object
717 summary: Edit Domain Admin ACL
718 /api/v1/edit/domain-admin:
719 post:
720 responses:
721 "401":
722 $ref: "#/components/responses/Unauthorized"
723 "200":
724 content:
725 application/json:
726 examples:
727 response:
728 value:
729 - type: success
730 log:
731 - domain_admin
732 - edit
733 - username: testadmin
734 active: ["0","1"]
735 username_new: testadmin
736 domains: ["domain.tld"]
737 password: "*"
738 password2: "*"
739 msg:
740 - domain_admin_modified
741 - testadmin
742 schema:
743 properties:
744 type:
745 enum:
746 - success
747 - danger
748 - error
749 type: string
750 log:
751 description: contains request object
752 items: {}
753 type: array
754 msg:
755 items: {}
756 type: array
757 type: object
758 description: OK
759 headers: {}
760 tags:
761 - Domain admin
762 description: >-
763 Using this endpoint you can edit a existing Domain Admin user. This user
764 has full control over a domain, and can create new mailboxes and
765 aliases.
766 operationId: Edit Domain Admin user
767 requestBody:
768 content:
769 application/json:
770 schema:
771 example:
772 items:
773 - testadmin
774 attr:
775 active:
776 - '0'
777 - '1'
778 username_new: testadmin
779 domains: ["domain.tld"]
780 password: supersecurepassword
781 password2: supersecurepassword
782 properties:
783 attr:
784 properties:
785 active:
786 description: is the domain admin active or not
787 type: boolean
788 username_new:
789 description: the username of the domain admin, change this to change the username
790 type: string
791 domains:
792 description: a list of all domains managed by this domain admin
793 type: array
794 items:
795 type: string
796 password:
797 description: the new domain admin user password
798 type: string
799 password2:
800 description: the new domain admin user password for confirmation
801 type: string
802 type: object
803 items:
804 description: contains the domain admin username you want to edit
805 type: object
806 summary: Edit Domain Admin user
807 /api/v1/add/domain-policy:
808 post:
809 responses:
810 "401":
811 $ref: "#/components/responses/Unauthorized"
812 "200":
813 content:
814 application/json:
815 examples:
816 response:
817 value:
818 - log:
819 - policy
820 - add
821 - domain
822 - domain: domain.tld
823 object_from: "*@baddomain.tld"
824 object_list: bl
825 msg:
826 - domain_modified
827 - domain.tld
828 type: success
829 schema:
830 properties:
831 log:
832 description: contains request object
833 items: {}
834 type: array
835 msg:
836 items: {}
837 type: array
838 type:
839 enum:
840 - success
841 - danger
842 - error
843 type: string
844 type: object
845 description: OK
846 headers: {}
847 tags:
848 - Domain antispam policies
849 description: >-
850 You may create your own domain policy using this action. It takes a JSON
851 object containing a domain informations.
852 operationId: Create domain policy
853 requestBody:
854 content:
855 application/json:
856 schema:
857 example:
858 domain: domain.tld
859 object_from: "*@baddomain.tld"
860 object_list: bl
861 properties:
862 domain:
863 description: domain name to which policy is associated to
864 type: string
865 object_from:
866 description: exact address or use wildcard to match whole domain
867 type: string
868 object_list:
869 enum:
870 - wl
871 - bl
872 type: string
873 type: object
874 summary: Create domain policy
875 /api/v1/add/fwdhost:
876 post:
877 responses:
878 "401":
879 $ref: "#/components/responses/Unauthorized"
880 "200":
881 content:
882 application/json:
883 examples:
884 response:
885 value:
886 - log:
887 - fwdhost
888 - add
889 - filter_spam: "0"
890 hostname: hosted.mailcow.de
891 msg:
892 - forwarding_host_added
893 - "5.1.76.202, 2a00:f820:417::202"
894 type: success
895 schema:
896 properties:
897 log:
898 description: contains request object
899 items: {}
900 type: array
901 msg:
902 items: {}
903 type: array
904 type:
905 enum:
906 - success
907 - danger
908 - error
909 type: string
910 type: object
911 description: OK
912 headers: {}
913 tags:
914 - Fordwarding Hosts
915 description: >-
916 Add a new Forwarding host to mailcow. You can chose to enable or disable
917 spam filtering of incoming emails by specifing `filter_spam` 0 =
918 inactive, 1 = active.
919 operationId: Add Forward Host
920 requestBody:
921 content:
922 application/json:
923 schema:
924 example:
925 filter_spam: "0"
926 hostname: hosted.mailcow.de
927 properties:
928 filter_spam:
929 description: "1 to enable spam filter, 0 to disable spam filter"
930 type: number
931 hostname:
932 description: contains the hostname you want to add
933 type: string
934 type: object
935 summary: Add Forward Host
936 /api/v1/add/mailbox:
937 post:
938 responses:
939 "401":
940 $ref: "#/components/responses/Unauthorized"
941 "200":
942 content:
943 application/json:
944 examples:
945 response:
946 value:
947 - log:
948 - mailbox
949 - add
950 - mailbox
951 - active: "1"
952 domain: domain.tld
953 local_part: info
954 name: Full name
955 password: "*"
956 password2: "*"
957 quota: "3072"
958 force_pw_update: "1"
959 tls_enforce_in: "1"
960 tls_enforce_out: "1"
961 - null
962 msg:
963 - mailbox_added
964 - info@domain.tld
965 type: success
966 schema:
967 properties:
968 log:
969 description: contains request object
970 items: {}
971 type: array
972 msg:
973 items: {}
974 type: array
975 type:
976 enum:
977 - success
978 - danger
979 - error
980 type: string
981 type: object
982 description: OK
983 headers: {}
984 tags:
985 - Mailboxes
986 description: >-
987 You may create your own mailbox using this action. It takes a JSON
988 object containing a domain informations.
989 operationId: Create mailbox
990 requestBody:
991 content:
992 application/json:
993 schema:
994 example:
995 active: "1"
996 domain: domain.tld
997 local_part: info
998 name: Full name
999 password: atedismonsin
1000 password2: atedismonsin
1001 quota: "3072"
1002 force_pw_update: "1"
1003 tls_enforce_in: "1"
1004 tls_enforce_out: "1"
1005 properties:
1006 active:
1007 description: is mailbox active or not
1008 type: boolean
1009 domain:
1010 description: domain name
1011 type: string
1012 local_part:
1013 description: left part of email address
1014 type: string
1015 name:
1016 description: Full name of the mailbox user
1017 type: string
1018 password2:
1019 description: mailbox password for confirmation
1020 type: string
1021 pasword:
1022 description: mailbox password
1023 type: string
1024 quota:
1025 description: mailbox quota
1026 type: number
1027 force_pw_update:
1028 description: forces the user to update its password on first login
1029 type: boolean
1030 tls_enforce_in:
1031 description: force inbound email tls encryption
1032 type: boolean
1033 tls_enforce_out:
1034 description: force oubound tmail tls encryption
1035 type: boolean
1036 type: object
1037 summary: Create mailbox
1038
1039 /api/v1/add/oauth2-client:
1040 post:
1041 responses:
1042 "401":
1043 $ref: "#/components/responses/Unauthorized"
1044 "200":
1045 content:
1046 application/json:
1047 examples:
1048 response:
1049 value:
1050 - log:
1051 - oauth2
1052 - add
1053 - client
1054 - redirect_uri: "https://mailcow.tld"
1055 msg: Added client access
1056 type: success
1057 schema:
1058 properties:
1059 log:
1060 description: contains request object
1061 items: {}
1062 type: array
1063 msg:
1064 items: {}
1065 type: array
1066 type:
1067 enum:
1068 - success
1069 - danger
1070 - error
1071 type: string
1072 type: object
1073 description: OK
1074 headers: {}
1075 tags:
1076 - oAuth Clients
1077 description: Using this endpoint you can create a oAuth clients.
1078 operationId: Create oAuth Client
1079 requestBody:
1080 content:
1081 application/json:
1082 schema:
1083 example:
1084 redirect_uri: "https://mailcow.tld"
1085 properties:
1086 redirect_uri:
1087 description: the uri where you should be redirected after oAuth
1088 type: string
1089 type: object
1090 summary: Create oAuth Client
1091 /api/v1/add/recipient_map:
1092 post:
1093 responses:
1094 "401":
1095 $ref: "#/components/responses/Unauthorized"
1096 "200":
1097 content:
1098 application/json:
1099 examples:
1100 response:
1101 value:
1102 - log:
1103 - recipient_map
1104 - add
1105 - active: "1"
1106 recipient_map_new: target@mailcow.tld
1107 recipient_map_old: recipient@mailcow.tld
1108 - null
1109 msg:
1110 - recipient_map_entry_saved
1111 - recipient@mailcow.tld
1112 type: success
1113 schema:
1114 properties:
1115 log:
1116 description: contains request object
1117 items: {}
1118 type: array
1119 msg:
1120 items: {}
1121 type: array
1122 type:
1123 enum:
1124 - success
1125 - danger
1126 - error
1127 type: string
1128 type: object
1129 description: OK
1130 headers: {}
1131 tags:
1132 - Address Rewriting
1133 description: >-
1134 Using this endpoint you can create a recipient map to forward all mails
1135 from one email address to another.
1136 operationId: Create Recipient Map
1137 requestBody:
1138 content:
1139 application/json:
1140 schema:
1141 example:
1142 active: "1"
1143 recipient_map_new: target@mailcow.tld
1144 recipient_map_old: recipient@mailcow.tld
1145 properties:
1146 active:
1147 description: 1 for a active user account 0 for a disabled user account
1148 type: number
1149 recipient_map_new:
1150 description: the email address that should receive the forwarded emails
1151 type: string
1152 recipient_map_old:
1153 description: the email address which emails should be forwarded
1154 type: string
1155 type: object
1156 summary: Create Recipient Map
1157 /api/v1/add/relayhost:
1158 post:
1159 responses:
1160 "401":
1161 $ref: "#/components/responses/Unauthorized"
1162 "200":
1163 content:
1164 application/json:
1165 examples:
1166 response:
1167 value:
1168 - log:
1169 - relayhost
1170 - add
1171 - hostname: "mailcow.tld:25"
1172 password: supersecurepassword
1173 username: testuser
1174 msg:
1175 - relayhost_added
1176 - ""
1177 type: success
1178 schema:
1179 properties:
1180 log:
1181 description: contains request object
1182 items: {}
1183 type: array
1184 msg:
1185 items: {}
1186 type: array
1187 type:
1188 enum:
1189 - success
1190 - danger
1191 - error
1192 type: string
1193 type: object
1194 description: OK
1195 headers: {}
1196 tags:
1197 - Routing
1198 description: Using this endpoint you can create Sender-Dependent Transports.
1199 operationId: Create Sender-Dependent Transports
1200 requestBody:
1201 content:
1202 application/json:
1203 schema:
1204 example:
1205 hostname: "mailcow.tld:25"
1206 password: supersecurepassword
1207 username: testuser
1208 properties:
1209 hostname:
1210 description: the hostname of the smtp server with port
1211 type: string
1212 password:
1213 description: the password for the smtp user
1214 type: string
1215 username:
1216 description: the username used to authenticate
1217 type: string
1218 type: object
1219 summary: Create Sender-Dependent Transports
1220 /api/v1/add/resource:
1221 post:
1222 responses:
1223 "401":
1224 $ref: "#/components/responses/Unauthorized"
1225 "200":
1226 content:
1227 application/json:
1228 examples:
1229 response:
1230 value:
1231 - log:
1232 - mailbox
1233 - add
1234 - resource
1235 - active: "1"
1236 description: test
1237 domain: mailcow.tld
1238 kind: location
1239 multiple_bookings: "0"
1240 multiple_bookings_custom: ""
1241 multiple_bookings_select: "0"
1242 - null
1243 msg:
1244 - resource_added
1245 - mailcow.tld
1246 type: success
1247 schema:
1248 properties:
1249 log:
1250 description: contains request object
1251 items: {}
1252 type: array
1253 msg:
1254 items: {}
1255 type: array
1256 type:
1257 enum:
1258 - success
1259 - danger
1260 - error
1261 type: string
1262 type: object
1263 description: OK
1264 headers: {}
1265 tags:
1266 - Resources
1267 description: Using this endpoint you can create Resources.
1268 operationId: Create Resources
1269 requestBody:
1270 content:
1271 application/json:
1272 schema:
1273 example:
1274 active: "1"
1275 description: test
1276 domain: mailcow.tld
1277 kind: location
1278 multiple_bookings: "0"
1279 multiple_bookings_custom: ""
1280 multiple_bookings_select: "0"
1281 properties:
1282 active:
1283 description: 1 for a active transport map 0 for a disabled transport map
1284 type: number
1285 description:
1286 description: a description of the resource
1287 type: string
1288 domain:
1289 description: the domain for which the resource should be
1290 type: string
1291 kind:
1292 description: the kind of recouse
1293 enum:
1294 - location
1295 - group
1296 - thing
1297 type: string
1298 multiple_bookings:
1299 enum:
1300 - "-1"
1301 - "1"
1302 - custom
1303 type: string
1304 multiple_bookings_custom:
1305 description: always empty
1306 type: number
1307 multiple_bookings_select:
1308 enum:
1309 - "-1"
1310 - "1"
1311 - custom
1312 type: string
1313 type: object
1314 summary: Create Resources
1315 /api/v1/add/syncjob:
1316 post:
1317 responses:
1318 "401":
1319 $ref: "#/components/responses/Unauthorized"
1320 "200":
1321 content:
1322 application/json:
1323 examples:
1324 response:
1325 value:
1326 - log:
1327 - mailbox
1328 - add
1329 - syncjob
1330 - active: "1"
1331 automap: "1"
1332 custom_params: ""
1333 delete1: "0"
1334 delete2: "0"
1335 delete2duplicates: "1"
1336 enc1: SSL
1337 exclude: (?i)spam|(?i)junk
1338 host1: imap.server.tld
1339 maxage: "0"
1340 maxbytespersecond: "0"
1341 mins_interval: "20"
1342 password1: supersecret
1343 port1: 993
1344 skipcrossduplicates: "0"
1345 subfolder2: External
1346 subscribeall: "1"
1347 timeout1: "600"
1348 timeout2: "600"
1349 user1: username
1350 username: mailbox@domain.tld
1351 - null
1352 msg:
1353 - mailbox_modified
1354 - mailbox@domain.tld
1355 type: success
1356 schema:
1357 properties:
1358 log:
1359 description: contains request object
1360 items: {}
1361 type: array
1362 msg:
1363 items: {}
1364 type: array
1365 type:
1366 enum:
1367 - success
1368 - danger
1369 - error
1370 type: string
1371 type: object
1372 description: OK
1373 headers: {}
1374 tags:
1375 - Sync jobs
1376 description: >-
1377 You can create new sync job using this action. It takes a JSON object
1378 containing a domain informations.
1379 operationId: Create sync job
1380 summary: Create sync job
1381 requestBody:
1382 content:
1383 application/json:
1384 schema:
1385 example:
1386 username: lisa@mailcow.tld
1387 host1: mail.mailcow.tld
1388 port1: "143"
1389 user1: demo@mailcow.tld
1390 password1: supersecretpw
1391 enc1: TLS
1392 mins_interval: "20"
1393 subfolder2: "/SyncIntoSubfolder"
1394 maxage: "0"
1395 maxbytespersecond: "0"
1396 timeout1: "600"
1397 timeout2: "600"
1398 exclude: "(?i)spam|(?i)junk"
1399 custom_params: "--dry"
1400 delete2duplicates: "1"
1401 delete1: "1"
1402 delete2: "0"
1403 automap: "1"
1404 skipcrossduplicates: "0"
1405 subscribeall: "0"
1406 active: "1"
1407 properties:
1408 parameters:
1409 description: your local mailcow mailbox
1410 type: string
1411 host1:
1412 description: the smtp server where mails should be synced from
1413 type: string
1414 port1:
1415 description: the smtp port of the target mail server
1416 type: string
1417 password:
1418 description: the password of the mailbox
1419 type: string
1420 enc1:
1421 description: the encryption method used to connect to the mailserver
1422 type: string
1423 mins_internal:
1424 description: the interval in which messages should be syned
1425 type: number
1426 subfolder2:
1427 description: sync into subfolder on destination (empty = do not use subfolder)
1428 type: string
1429 maxage:
1430 description: only sync messages up to this age in days
1431 type: number
1432 maxbytespersecond:
1433 description: max speed transfer limit for the sync
1434 type: number
1435 timeout1:
1436 description: timeout for connection to remote host
1437 type: number
1438 timeout2:
1439 description: timeout for connection to local host
1440 type: number
1441 exclude:
1442 description: exclude objects (regex)
1443 type: string
1444 custom_params:
1445 description: custom parameters
1446 type: string
1447 delete2duplicates:
1448 description: delete duplicates on destination (--delete2duplicates)
1449 type: boolean
1450 delete1:
1451 description: delete from source when completed (--delete1)
1452 type: boolean
1453 delete2:
1454 description: delete messages on destination that are not on source (--delete2)
1455 type: boolean
1456 automap:
1457 description: try to automap folders ("Sent items", "Sent" => "Sent" etc.) (--automap)
1458 type: boolean
1459 skipcrossduplicates:
1460 description: skip duplicate messages across folders (first come, first serve) (--skipcrossduplicates)
1461 type: boolean
1462 subscribeall:
1463 description: subscribe all folders (--subscribeall)
1464 type: boolean
1465 active:
1466 description: enables or disables the sync job
1467 type: boolean
1468 type: object
1469 /api/v1/add/tls-policy-map:
1470 post:
1471 responses:
1472 "401":
1473 $ref: "#/components/responses/Unauthorized"
1474 "200":
1475 content:
1476 application/json:
1477 examples:
1478 response:
1479 value:
1480 - log:
1481 - tls_policy_maps
1482 - add
1483 - parameters: ""
1484 active: "1"
1485 dest: mailcow.tld
1486 policy: encrypt
1487 - null
1488 msg:
1489 - tls_policy_map_entry_saved
1490 - mailcow.tld
1491 type: success
1492 schema:
1493 properties:
1494 log:
1495 description: contains request object
1496 items: {}
1497 type: array
1498 msg:
1499 items: {}
1500 type: array
1501 type:
1502 enum:
1503 - success
1504 - danger
1505 - error
1506 type: string
1507 type: object
1508 description: OK
1509 headers: {}
1510 tags:
1511 - Outgoing TLS Policy Map Overrides
1512 description: Using this endpoint you can create a TLS policy map override.
1513 operationId: Create TLS Policy Map
1514 requestBody:
1515 content:
1516 application/json:
1517 schema:
1518 example:
1519 parameters: ""
1520 active: "1"
1521 dest: mailcow.tld
1522 policy: encrypt
1523 properties:
1524 parameters:
1525 description: >-
1526 custom parameters you find out more about them
1527 [here](http://www.postfix.org/postconf.5.html#smtp_tls_policy_maps)
1528 type: string
1529 active:
1530 description: 1 for a active user account 0 for a disabled user account
1531 type: number
1532 dest:
1533 description: the target domain or email address
1534 type: string
1535 policy:
1536 description: the policy
1537 enum:
1538 - none
1539 - may
1540 - encrypt
1541 - dane
1542 - "'dane"
1543 - fingerprint
1544 - verify
1545 - secure
1546 type: string
1547 type: object
1548 summary: Create TLS Policy Map
1549 /api/v1/add/transport/all:
1550 post:
1551 responses:
1552 "401":
1553 $ref: "#/components/responses/Unauthorized"
1554 "200":
1555 content:
1556 application/json:
1557 examples:
1558 response:
1559 value:
1560 - log:
1561 - transport
1562 - add
1563 - active: "1"
1564 destination: example2.org
1565 nexthop: "host:25"
1566 password: supersecurepw
1567 username: testuser
1568 msg:
1569 - relayhost_added
1570 - ""
1571 type: success
1572 schema:
1573 properties:
1574 log:
1575 description: contains request object
1576 items: {}
1577 type: array
1578 msg:
1579 items: {}
1580 type: array
1581 type:
1582 enum:
1583 - success
1584 - danger
1585 - error
1586 type: string
1587 type: object
1588 description: OK
1589 headers: {}
1590 tags:
1591 - Routing
1592 description: Using this endpoint you can create Sender-Dependent Transports.
1593 operationId: Create Transport Maps
1594 requestBody:
1595 content:
1596 application/json:
1597 schema:
1598 example:
1599 active: "1"
1600 destination: example.org
1601 nexthop: "host:25"
1602 password: supersecurepw
1603 username: testuser
1604 properties:
1605 active:
1606 description: 1 for a active transport map 0 for a disabled transport map
1607 type: number
1608 destination:
1609 type: string
1610 nexthop:
1611 type: string
1612 password:
1613 description: the password for the smtp user
1614 type: string
1615 username:
1616 description: the username used to authenticate
1617 type: string
1618 type: object
1619 summary: Create Transport Maps
1620 /api/v1/delete/alias:
1621 post:
1622 responses:
1623 "401":
1624 $ref: "#/components/responses/Unauthorized"
1625 "200":
1626 content:
1627 application/json:
1628 examples:
1629 response:
1630 value:
1631 - log:
1632 - mailbox
1633 - delete
1634 - alias
1635 - id:
1636 - "6"
1637 - "9"
1638 - null
1639 msg:
1640 - alias_removed
1641 - alias@domain.tld
1642 type: success
1643 - log:
1644 - mailbox
1645 - delete
1646 - alias
1647 - id:
1648 - "6"
1649 - "9"
1650 - null
1651 msg:
1652 - alias_removed
1653 - alias2@domain.tld
1654 type: success
1655 schema:
1656 properties:
1657 log:
1658 description: contains request object
1659 items: {}
1660 type: array
1661 msg:
1662 items: {}
1663 type: array
1664 type:
1665 enum:
1666 - success
1667 - danger
1668 - error
1669 type: string
1670 type: object
1671 description: OK
1672 headers: {}
1673 tags:
1674 - Aliases
1675 description: You can delete one or more aliases.
1676 operationId: Delete alias
1677 requestBody:
1678 content:
1679 application/json:
1680 schema:
1681 items:
1682 example: "6"
1683 type: string
1684 type: array
1685 summary: Delete alias
1686 /api/v1/delete/app-passwd:
1687 post:
1688 responses:
1689 "401":
1690 $ref: "#/components/responses/Unauthorized"
1691 "200":
1692 content:
1693 application/json:
1694 examples:
1695 response:
1696 value:
1697 - log:
1698 - app_passwd
1699 - delete
1700 - id:
1701 - "2"
1702 msg:
1703 - app_passwd_removed
1704 - "2"
1705 type: success
1706 schema:
1707 properties:
1708 log:
1709 description: contains request object
1710 items: {}
1711 type: array
1712 msg:
1713 items: {}
1714 type: array
1715 type:
1716 enum:
1717 - success
1718 - danger
1719 - error
1720 type: string
1721 type: object
1722 description: OK
1723 headers: {}
1724 tags:
1725 - App Passwords
1726 description: Using this endpoint you can delete a single app password.
1727 operationId: Delete App Password
1728 requestBody:
1729 content:
1730 application/json:
1731 schema:
1732 example:
1733 - "1"
1734 properties:
1735 items:
1736 description: contains list of app passwords you want to delete
1737 type: object
1738 type: object
1739 summary: Delete App Password
1740 /api/v1/delete/bcc:
1741 post:
1742 responses:
1743 "401":
1744 $ref: "#/components/responses/Unauthorized"
1745 "200":
1746 content:
1747 application/json:
1748 examples:
1749 response:
1750 value:
1751 - log:
1752 - bcc
1753 - delete
1754 - id:
1755 - "4"
1756 - null
1757 msg:
1758 - bcc_deleted
1759 - "4"
1760 type: success
1761 schema:
1762 properties:
1763 log:
1764 description: contains request object
1765 items: {}
1766 type: array
1767 msg:
1768 items: {}
1769 type: array
1770 type:
1771 enum:
1772 - success
1773 - danger
1774 - error
1775 type: string
1776 type: object
1777 description: OK
1778 headers: {}
1779 tags:
1780 - Address Rewriting
1781 description: >-
1782 Using this endpoint you can delete a BCC map, for this you have to know
1783 its ID. You can get the ID using the GET method.
1784 operationId: Delete BCC Map
1785 requestBody:
1786 content:
1787 application/json:
1788 schema:
1789 example:
1790 - "3"
1791 properties:
1792 items:
1793 description: contains list of bcc maps you want to delete
1794 type: object
1795 type: object
1796 summary: Delete BCC Map
1797 /api/v1/delete/dkim:
1798 post:
1799 responses:
1800 "401":
1801 $ref: "#/components/responses/Unauthorized"
1802 "200":
1803 content:
1804 application/json:
1805 examples:
1806 response:
1807 value:
1808 - log:
1809 - dkim
1810 - delete
1811 - domains:
1812 - mailcow.tld
1813 msg:
1814 - dkim_removed
1815 - mailcow.tld
1816 type: success
1817 schema:
1818 properties:
1819 log:
1820 description: contains request object
1821 items: {}
1822 type: array
1823 msg:
1824 items: {}
1825 type: array
1826 type:
1827 enum:
1828 - success
1829 - danger
1830 - error
1831 type: string
1832 type: object
1833 description: OK
1834 headers: {}
1835 tags:
1836 - DKIM
1837 description: Using this endpoint a existing DKIM Key can be deleted
1838 operationId: Delete DKIM Key
1839 requestBody:
1840 content:
1841 application/json:
1842 schema:
1843 items:
1844 example:
1845 - mailcow.tld
1846 type: string
1847 type: array
1848 summary: Delete DKIM Key
1849 /api/v1/delete/domain:
1850 post:
1851 responses:
1852 "401":
1853 $ref: "#/components/responses/Unauthorized"
1854 "200":
1855 content:
1856 application/json:
1857 examples:
1858 response:
1859 value:
1860 - log:
1861 - mailbox
1862 - delete
1863 - domain
1864 - domain:
1865 - domain.tld
1866 - domain2.tld
1867 - null
1868 msg:
1869 - domain_removed
1870 - domain.tld
1871 type: success
1872 - log:
1873 - mailbox
1874 - delete
1875 - domain
1876 - domain:
1877 - domain.tld
1878 - domain2.tld
1879 - null
1880 msg:
1881 - domain_removed
1882 - domain2.tld
1883 type: success
1884 schema:
1885 properties:
1886 log:
1887 description: contains request object
1888 items: {}
1889 type: array
1890 msg:
1891 items: {}
1892 type: array
1893 type:
1894 enum:
1895 - success
1896 - danger
1897 - error
1898 type: string
1899 type: object
1900 description: OK
1901 headers: {}
1902 tags:
1903 - Domains
1904 description: You can delete one or more domains.
1905 operationId: Delete domain
1906 requestBody:
1907 content:
1908 application/json:
1909 schema:
1910 example:
1911 - domain.tld
1912 - domain2.tld
1913 properties:
1914 items:
1915 description: contains list of domains you want to delete
1916 type: object
1917 type: object
1918 summary: Delete domain
1919 /api/v1/delete/domain-admin:
1920 post:
1921 responses:
1922 "401":
1923 $ref: "#/components/responses/Unauthorized"
1924 "200":
1925 content:
1926 application/json:
1927 examples:
1928 response:
1929 value:
1930 - log:
1931 - domain_admin
1932 - delete
1933 - username:
1934 - testadmin
1935 msg:
1936 - domain_admin_removed
1937 - testadmin
1938 type: success
1939 schema:
1940 properties:
1941 log:
1942 description: contains request object
1943 items: {}
1944 type: array
1945 msg:
1946 items: {}
1947 type: array
1948 type:
1949 enum:
1950 - success
1951 - danger
1952 - error
1953 type: string
1954 type: object
1955 description: OK
1956 headers: {}
1957 tags:
1958 - Domain admin
1959 description: Using this endpoint a existing Domain Admin user can be deleted.
1960 operationId: Delete Domain Admin
1961 requestBody:
1962 content:
1963 application/json:
1964 schema:
1965 example:
1966 - testadmin
1967 properties:
1968 items:
1969 description: contains list of usernames of the users you want to delete
1970 type: object
1971 type: object
1972 summary: Delete Domain Admin
1973 /api/v1/delete/domain-policy:
1974 post:
1975 responses:
1976 "401":
1977 $ref: "#/components/responses/Unauthorized"
1978 "200":
1979 content:
1980 application/json:
1981 examples:
1982 response:
1983 value:
1984 - log:
1985 - policy
1986 - delete
1987 - domain
1988 - prefid:
1989 - "1"
1990 - "2"
1991 msg:
1992 - item_deleted
1993 - "1"
1994 type: success
1995 - log:
1996 - policy
1997 - delete
1998 - domain
1999 - prefid:
2000 - "1"
2001 - "2"
2002 msg:
2003 - item_deleted
2004 - "2"
2005 type: success
2006 schema:
2007 properties:
2008 log:
2009 description: contains request object
2010 items: {}
2011 type: array
2012 msg:
2013 items: {}
2014 type: array
2015 type:
2016 enum:
2017 - success
2018 - danger
2019 - error
2020 type: string
2021 type: object
2022 description: OK
2023 headers: {}
2024 tags:
2025 - Domain antispam policies
2026 description: You can delete one o more domain policies.
2027 operationId: Delete domain policy
2028 requestBody:
2029 content:
2030 application/json:
2031 schema:
2032 example:
2033 - "1"
2034 - "2"
2035 properties:
2036 items:
2037 description: contains list of domain policys you want to delete
2038 type: object
2039 type: object
2040 summary: Delete domain policy
2041 /api/v1/delete/fwdhost:
2042 post:
2043 responses:
2044 "401":
2045 $ref: "#/components/responses/Unauthorized"
2046 "200":
2047 content:
2048 application/json:
2049 examples:
2050 response:
2051 value:
2052 - log:
2053 - fwdhost
2054 - delete
2055 - forwardinghost:
2056 - 5.1.76.202
2057 - "2a00:f820:417::202"
2058 msg:
2059 - forwarding_host_removed
2060 - 5.1.76.202
2061 type: success
2062 - log:
2063 - fwdhost
2064 - delete
2065 - forwardinghost:
2066 - 5.1.76.202
2067 - "2a00:f820:417::202"
2068 msg:
2069 - forwarding_host_removed
2070 - "2a00:f820:417::202"
2071 type: success
2072 schema:
2073 properties:
2074 log:
2075 description: contains request object
2076 items: {}
2077 type: array
2078 msg:
2079 items: {}
2080 type: array
2081 type:
2082 enum:
2083 - success
2084 - danger
2085 - error
2086 type: string
2087 type: object
2088 description: OK
2089 headers: {}
2090 tags:
2091 - Fordwarding Hosts
2092 description: >-
2093 Using this endpoint you can delete a forwarding host, in order to do so
2094 you need to know the IP of the host.
2095 operationId: Delete Forward Host
2096 requestBody:
2097 content:
2098 application/json:
2099 schema:
2100 example:
2101 - 5.1.76.202
2102 - "2a00:f820:417::202"
2103 properties:
2104 ip:
2105 description: contains the ip of the fowarding host you want to delete
2106 type: string
2107 type: object
2108 summary: Delete Forward Host
2109 /api/v1/delete/mailbox:
2110 post:
2111 responses:
2112 "401":
2113 $ref: "#/components/responses/Unauthorized"
2114 "200":
2115 content:
2116 application/json:
2117 examples:
2118 response:
2119 value:
2120 - log:
2121 - mailbox
2122 - delete
2123 - mailbox
2124 - username:
2125 - info@domain.tld
2126 - sales@domain.tld
2127 - null
2128 msg:
2129 - mailbox_removed
2130 - info@domain.tld
2131 type: success
2132 - log:
2133 - mailbox
2134 - delete
2135 - mailbox
2136 - username:
2137 - info@domain.tld
2138 - sales@domain.tld
2139 - null
2140 msg:
2141 - mailbox_removed
2142 - sales@domain.tld
2143 type: success
2144 schema:
2145 properties:
2146 log:
2147 description: contains request object
2148 items: {}
2149 type: array
2150 msg:
2151 items: {}
2152 type: array
2153 type:
2154 enum:
2155 - success
2156 - danger
2157 - error
2158 type: string
2159 type: object
2160 description: OK
2161 headers: {}
2162 tags:
2163 - Mailboxes
2164 description: You can delete one or more mailboxes.
2165 operationId: Delete mailbox
2166 requestBody:
2167 content:
2168 application/json:
2169 schema:
2170 example:
2171 - info@domain.tld
2172 - sales@domain.tld
2173 properties:
2174 items:
2175 description: contains list of mailboxes you want to delete
2176 type: object
2177 type: object
2178 summary: Delete mailbox
2179 /api/v1/delete/mailq:
2180 post:
2181 responses:
2182 "401":
2183 $ref: "#/components/responses/Unauthorized"
2184 "200":
2185 content:
2186 application/json:
2187 examples:
2188 response:
2189 value:
2190 msg: Task completed
2191 type: success
2192 description: OK
2193 headers: {}
2194 tags:
2195 - Queue Manager
2196 description: >-
2197 Using this API you can delete the current mail queue. This will delete
2198 all mails in it.
2199
2200 This API uses the command: `postsuper -d`
2201 operationId: Delete Queue
2202 requestBody:
2203 content:
2204 application/json:
2205 schema:
2206 example:
2207 action: super_delete
2208 properties:
2209 action:
2210 description: use super_delete to delete the mail queue
2211 type: string
2212 type: object
2213 summary: Delete Queue
2214 /api/v1/delete/oauth2-client:
2215 post:
2216 responses:
2217 "401":
2218 $ref: "#/components/responses/Unauthorized"
2219 "200":
2220 content:
2221 application/json:
2222 examples:
2223 response:
2224 value:
2225 - log:
2226 - oauth2
2227 - delete
2228 - client
2229 - id:
2230 - "1"
2231 msg:
2232 - items_deleted
2233 - "1"
2234 type: success
2235 schema:
2236 properties:
2237 log:
2238 description: contains request object
2239 items: {}
2240 type: array
2241 msg:
2242 items: {}
2243 type: array
2244 type:
2245 enum:
2246 - success
2247 - danger
2248 - error
2249 type: string
2250 type: object
2251 description: OK
2252 headers: {}
2253 tags:
2254 - oAuth Clients
2255 description: >-
2256 Using this endpoint you can delete a oAuth client, for this you have to
2257 know its ID. You can get the ID using the GET method.
2258 operationId: Delete oAuth Client
2259 requestBody:
2260 content:
2261 application/json:
2262 schema:
2263 example:
2264 - "3"
2265 properties:
2266 items:
2267 description: contains list of oAuth clients you want to delete
2268 type: object
2269 type: object
2270 summary: Delete oAuth Client
2271 /api/v1/delete/qitem:
2272 post:
2273 responses:
2274 "401":
2275 $ref: "#/components/responses/Unauthorized"
2276 "200":
2277 content:
2278 application/json:
2279 examples:
2280 response:
2281 value:
2282 - log:
2283 - quarantine
2284 - delete
2285 - id:
2286 - "33"
2287 msg:
2288 - item_deleted
2289 - "33"
2290 type: success
2291 schema:
2292 properties:
2293 log:
2294 description: contains request object
2295 items: {}
2296 type: array
2297 msg:
2298 items: {}
2299 type: array
2300 type:
2301 enum:
2302 - success
2303 - danger
2304 - error
2305 type: string
2306 type: object
2307 description: OK
2308 headers: {}
2309 tags:
2310 - Quarantine
2311 description: >-
2312 Using this endpoint you can delete a email from quarantine, for this you
2313 have to know its ID. You can get the ID using the GET method.
2314 operationId: Delete mails in Quarantine
2315 requestBody:
2316 content:
2317 application/json:
2318 schema:
2319 example:
2320 - "33"
2321 properties:
2322 items:
2323 description: contains list of emails you want to delete
2324 type: object
2325 type: object
2326 summary: Delete mails in Quarantine
2327 /api/v1/delete/recipient_map:
2328 post:
2329 responses:
2330 "401":
2331 $ref: "#/components/responses/Unauthorized"
2332 "200":
2333 content:
2334 application/json:
2335 examples:
2336 response:
2337 value:
2338 - log:
2339 - recipient_map
2340 - delete
2341 - id:
2342 - "1"
2343 - null
2344 msg:
2345 - recipient_map_entry_deleted
2346 - "1"
2347 type: success
2348 schema:
2349 properties:
2350 log:
2351 description: contains request object
2352 items: {}
2353 type: array
2354 msg:
2355 items: {}
2356 type: array
2357 type:
2358 enum:
2359 - success
2360 - danger
2361 - error
2362 type: string
2363 type: object
2364 description: OK
2365 headers: {}
2366 tags:
2367 - Address Rewriting
2368 description: >-
2369 Using this endpoint you can delete a recipient map, for this you have to
2370 know its ID. You can get the ID using the GET method.
2371 operationId: Delete Recipient Map
2372 requestBody:
2373 content:
2374 application/json:
2375 schema:
2376 example:
2377 - "1"
2378 properties:
2379 items:
2380 description: contains list of recipient maps you want to delete
2381 type: object
2382 type: object
2383 summary: Delete Recipient Map
2384 /api/v1/delete/relayhost:
2385 post:
2386 responses:
2387 "401":
2388 $ref: "#/components/responses/Unauthorized"
2389 "200":
2390 content:
2391 application/json:
2392 examples:
2393 response:
2394 value:
2395 - log:
2396 - relayhost
2397 - delete
2398 - id:
2399 - "1"
2400 msg:
2401 - relayhost_removed
2402 - "1"
2403 type: success
2404 schema:
2405 properties:
2406 log:
2407 description: contains request object
2408 items: {}
2409 type: array
2410 msg:
2411 items: {}
2412 type: array
2413 type:
2414 enum:
2415 - success
2416 - danger
2417 - error
2418 type: string
2419 type: object
2420 description: OK
2421 headers: {}
2422 tags:
2423 - Routing
2424 description: >-
2425 Using this endpoint you can delete a Sender-Dependent Transport, for
2426 this you have to know its ID. You can get the ID using the GET method.
2427 operationId: Delete Sender-Dependent Transports
2428 requestBody:
2429 content:
2430 application/json:
2431 schema:
2432 example:
2433 - "1"
2434 properties:
2435 items:
2436 description: >-
2437 contains list of Sender-Dependent Transport you want to
2438 delete
2439 type: object
2440 type: object
2441 summary: Delete Sender-Dependent Transports
2442 /api/v1/delete/resource:
2443 post:
2444 responses:
2445 "401":
2446 $ref: "#/components/responses/Unauthorized"
2447 "200":
2448 content:
2449 application/json:
2450 examples:
2451 response:
2452 value:
2453 - log:
2454 - mailbox
2455 - delete
2456 - resource
2457 - name:
2458 - test@mailcow.tld
2459 - null
2460 msg:
2461 - resource_removed
2462 - test@mailcow.tld
2463 type: success
2464 schema:
2465 properties:
2466 log:
2467 description: contains request object
2468 items: {}
2469 type: array
2470 msg:
2471 items: {}
2472 type: array
2473 type:
2474 enum:
2475 - success
2476 - danger
2477 - error
2478 type: string
2479 type: object
2480 description: OK
2481 headers: {}
2482 tags:
2483 - Resources
2484 description: >-
2485 Using this endpoint you can delete a Resources, for this you have to
2486 know its ID. You can get the ID using the GET method.
2487 operationId: Delete Resources
2488 requestBody:
2489 content:
2490 application/json:
2491 schema:
2492 example:
2493 - test@mailcow.tld
2494 properties:
2495 items:
2496 description: contains list of Resources you want to delete
2497 type: object
2498 type: object
2499 summary: Delete Resources
2500 /api/v1/delete/syncjob:
2501 post:
2502 responses:
2503 "401":
2504 $ref: "#/components/responses/Unauthorized"
2505 "200":
2506 content:
2507 application/json:
2508 examples:
2509 response:
2510 value:
2511 log:
2512 - entity
2513 - action
2514 - object
2515 msg:
2516 - message
2517 - entity name
2518 type: success
2519 schema:
2520 properties:
2521 log:
2522 description: contains request object
2523 items: {}
2524 type: array
2525 msg:
2526 items: {}
2527 type: array
2528 type:
2529 enum:
2530 - success
2531 - danger
2532 - error
2533 type: string
2534 type: object
2535 description: OK
2536 headers: {}
2537 tags:
2538 - Sync jobs
2539 description: You can delete one or more sync jobs.
2540 operationId: Delete sync job
2541 requestBody:
2542 content:
2543 application/json:
2544 schema:
2545 example:
2546 - "6"
2547 - "9"
2548 properties:
2549 items:
2550 description: contains list of aliases you want to delete
2551 type: object
2552 type: object
2553 summary: Delete sync job
2554 /api/v1/delete/tls-policy-map:
2555 post:
2556 responses:
2557 "401":
2558 $ref: "#/components/responses/Unauthorized"
2559 "200":
2560 content:
2561 application/json:
2562 examples:
2563 response:
2564 value:
2565 - log:
2566 - tls_policy_maps
2567 - delete
2568 - id:
2569 - "1"
2570 - null
2571 msg:
2572 - tls_policy_map_entry_deleted
2573 - "1"
2574 type: success
2575 schema:
2576 properties:
2577 log:
2578 description: contains request object
2579 items: {}
2580 type: array
2581 msg:
2582 items: {}
2583 type: array
2584 type:
2585 enum:
2586 - success
2587 - danger
2588 - error
2589 type: string
2590 type: object
2591 description: OK
2592 headers: {}
2593 tags:
2594 - Outgoing TLS Policy Map Overrides
2595 description: >-
2596 Using this endpoint you can delete a TLS Policy Map, for this you have
2597 to know its ID. You can get the ID using the GET method.
2598 operationId: Delete TLS Policy Map
2599 requestBody:
2600 content:
2601 application/json:
2602 schema:
2603 example:
2604 - "3"
2605 properties:
2606 items:
2607 description: contains list of tls policy maps you want to delete
2608 type: object
2609 type: object
2610 summary: Delete TLS Policy Map
2611 /api/v1/delete/transport:
2612 post:
2613 responses:
2614 "401":
2615 $ref: "#/components/responses/Unauthorized"
2616 "200":
2617 content:
2618 application/json:
2619 examples:
2620 response:
2621 value:
2622 - log:
2623 - transport
2624 - delete
2625 - id:
2626 - "1"
2627 msg:
2628 - relayhost_removed
2629 - "1"
2630 type: success
2631 schema:
2632 properties:
2633 log:
2634 description: contains request object
2635 items: {}
2636 type: array
2637 msg:
2638 items: {}
2639 type: array
2640 type:
2641 enum:
2642 - success
2643 - danger
2644 - error
2645 type: string
2646 type: object
2647 description: OK
2648 headers: {}
2649 tags:
2650 - Routing
2651 description: >-
2652 Using this endpoint you can delete a Transport Maps, for this you have
2653 to know its ID. You can get the ID using the GET method.
2654 operationId: Delete Transport Maps
2655 requestBody:
2656 content:
2657 application/json:
2658 schema:
2659 example:
2660 - "1"
2661 properties:
2662 items:
2663 description: contains list of transport maps you want to delete
2664 type: object
2665 type: object
2666 summary: Delete Transport Maps
2667 /api/v1/edit/alias:
2668 post:
2669 responses:
2670 "401":
2671 $ref: "#/components/responses/Unauthorized"
2672 "200":
2673 content:
2674 application/json:
2675 examples:
2676 response:
2677 value:
2678 - log:
2679 - mailbox
2680 - edit
2681 - alias
2682 - active: "1"
2683 address: alias@domain.tld
2684 goto: destination@domain.tld
2685 id:
2686 - "6"
2687 private_comment: private comment
2688 public_comment: public comment
2689 - null
2690 msg:
2691 - alias_modified
2692 - alias@domain.tld
2693 type: success
2694 schema:
2695 properties:
2696 log:
2697 description: contains request object
2698 items: {}
2699 type: array
2700 msg:
2701 items: {}
2702 type: array
2703 type:
2704 enum:
2705 - success
2706 - danger
2707 - error
2708 type: string
2709 type: object
2710 description: OK
2711 headers: {}
2712 tags:
2713 - Aliases
2714 description: >-
2715 You can update one or more aliases per request. You can also send just
2716 attributes you want to change
2717 operationId: Update alias
2718 requestBody:
2719 content:
2720 application/json:
2721 schema:
2722 example:
2723 attr:
2724 active: "1"
2725 address: alias@domain.tld
2726 goto: destination@domain.tld
2727 private_comment: private comment
2728 public_comment: public comment
2729 items: ["6"]
2730 properties:
2731 attr:
2732 properties:
2733 active:
2734 description: is alias active or not
2735 type: boolean
2736 address:
2737 description: 'alias address, for catchall use "@domain.tld"'
2738 type: string
2739 goto:
2740 description: "destination address, comma separated"
2741 type: string
2742 goto_ham:
2743 description: learn as ham
2744 type: boolean
2745 goto_null:
2746 description: silently ignore
2747 type: boolean
2748 goto_spam:
2749 description: learn as spam
2750 type: boolean
2751 private_comment:
2752 type: string
2753 public_comment:
2754 type: string
2755 type: object
2756 items:
2757 description: contains list of aliases you want update
2758 type: object
2759 type: object
2760 summary: Update alias
2761 /api/v1/edit/domain:
2762 post:
2763 responses:
2764 "401":
2765 $ref: "#/components/responses/Unauthorized"
2766 "200":
2767 content:
2768 "*/*":
2769 schema:
2770 properties:
2771 log:
2772 description: contains request object
2773 items: {}
2774 type: array
2775 msg:
2776 items: {}
2777 type: array
2778 type:
2779 enum:
2780 - success
2781 - danger
2782 - error
2783 type: string
2784 type: object
2785 description: OK
2786 headers: {}
2787 tags:
2788 - Domains
2789 description: >-
2790 You can update one or more domains per request. You can also send just
2791 attributes you want to change.
2792
2793 Example: You can add domain names to items list and in attr object just
2794 include `"active": "0"` to deactivate domains.
2795 operationId: Update domain
2796 requestBody:
2797 content:
2798 application/json:
2799 schema:
2800 example:
2801 attr:
2802 active: "1"
2803 aliases: "400"
2804 backupmx: "1"
2805 defquota: "3072"
2806 description: domain description
2807 gal: "1"
2808 lang: cs
2809 mailboxes: "10"
2810 maxquota: "10240"
2811 quota: "10240"
2812 relay_all_recipients: "0"
2813 relayhost: "2"
2814 items: domain.tld
2815 properties:
2816 attr:
2817 properties:
2818 active:
2819 description: is domain active or not
2820 type: boolean
2821 aliases:
2822 description: limit count of aliases associated with this domain
2823 type: number
2824 backupmx:
2825 description: relay domain or not
2826 type: boolean
2827 defquota:
2828 description: predefined mailbox quota in `add mailbox` form
2829 type: number
2830 description:
2831 description: Description of domain
2832 type: string
2833 gal:
2834 description: >-
2835 is domain global address list active or not, it enables
2836 shared contacts accross domain in SOGo webmail
2837 type: boolean
2838 lang:
2839 description: language code
2840 enum:
2841 - sk
2842 - cs
2843 - de
2844 - en
2845 - es
2846 - fr
2847 - lv
2848 - nl
2849 - pl
2850 - pt
2851 - ru
2852 - it
2853 - ca
2854 type: string
2855 mailboxes:
2856 description: limit count of mailboxes associated with this domain
2857 type: number
2858 maxquota:
2859 description: maximum quota per mailbox
2860 type: number
2861 quota:
2862 description: maximum quota for this domain (for all mailboxes in sum)
2863 type: number
2864 relay_all_recipients:
2865 description: >-
2866 if not, them you have to create "dummy" mailbox for each
2867 address to relay
2868 type: boolean
2869 relayhost:
2870 description: id of relayhost
2871 type: number
2872 type: object
2873 items:
2874 description: contains list of domain names you want update
2875 type: object
2876 type: object
2877 summary: Update domain
2878 /api/v1/edit/fail2ban:
2879 post:
2880 responses:
2881 "401":
2882 $ref: "#/components/responses/Unauthorized"
2883 "200":
2884 content:
2885 "*/*":
2886 schema:
2887 properties:
2888 log:
2889 description: contains request object
2890 items: {}
2891 type: array
2892 msg:
2893 items: {}
2894 type: array
2895 type:
2896 enum:
2897 - success
2898 - danger
2899 - error
2900 type: string
2901 type: object
2902 description: OK
2903 headers: {}
2904 tags:
2905 - Fail2Ban
2906 description: >-
2907 Using this endpoint you can edit the Fail2Ban config and black or
2908 whitelist new ips.
2909 operationId: Edit Fail2Ban
2910 requestBody:
2911 content:
2912 application/json:
2913 schema:
2914 example:
2915 attr:
2916 ban_time: "86400"
2917 blacklist: "10.100.6.5/32,10.100.8.4/32"
2918 max_attempts: "5"
2919 netban_ipv4: "24"
2920 netban_ipv6: "64"
2921 retry_window: "600"
2922 whitelist: mailcow.tld
2923 items: none
2924 properties:
2925 attr:
2926 description: array containing the fail2ban settings
2927 properties:
2928 backlist:
2929 description: the backlisted ips or hostnames separated by comma
2930 type: string
2931 ban_time:
2932 description: the time a ip should be banned
2933 type: number
2934 max_attempts:
2935 description: the maximum numbe of wrong logins before a ip is banned
2936 type: number
2937 netban_ipv4:
2938 description: the networks mask to ban for ipv4
2939 type: number
2940 netban_ipv6:
2941 description: the networks mask to ban for ipv6
2942 type: number
2943 retry_window:
2944 description: >-
2945 the maximum time in which a ip as to login with false
2946 credentials to be banned
2947 type: number
2948 whitelist:
2949 description: whitelisted ips or hostnames sepereated by comma
2950 type: string
2951 type: object
2952 items:
2953 description: has to be none
2954 type: object
2955 summary: Edit Fail2Ban
2956 /api/v1/edit/mailbox:
2957 post:
2958 responses:
2959 "401":
2960 $ref: "#/components/responses/Unauthorized"
2961 "200":
2962 content:
2963 application/json:
2964 examples:
2965 response:
2966 value:
2967 - log:
2968 - mailbox
2969 - edit
2970 - mailbox
2971 - active: "1"
2972 force_pw_update: "0"
2973 name: Full name
2974 password: "*"
2975 password2: "*"
2976 quota: "3072"
2977 sender_acl:
2978 - default
2979 - info@domain2.tld
2980 - domain3.tld
2981 - "*"
2982 sogo_access: "1"
2983 username:
2984 - info@domain.tld
2985 - null
2986 msg:
2987 - mailbox_modified
2988 - info@domain.tld
2989 type: success
2990 schema:
2991 properties:
2992 log:
2993 description: contains request object
2994 items: {}
2995 type: array
2996 msg:
2997 items: {}
2998 type: array
2999 type:
3000 enum:
3001 - success
3002 - danger
3003 - error
3004 type: string
3005 type: object
3006 description: OK
3007 headers: {}
3008 tags:
3009 - Mailboxes
3010 description: >-
3011 You can update one or more mailboxes per request. You can also send just
3012 attributes you want to change
3013 operationId: Update mailbox
3014 requestBody:
3015 content:
3016 application/json:
3017 schema:
3018 example:
3019 attr:
3020 active: "1"
3021 force_pw_update: "0"
3022 name: Full name
3023 password: ""
3024 password2: ""
3025 quota: "3072"
3026 sender_acl:
3027 - default
3028 - info@domain2.tld
3029 - domain3.tld
3030 - "*"
3031 sogo_access: "1"
3032 items: info@domain.tld
3033 properties:
3034 attr:
3035 properties:
3036 active:
3037 description: is mailbox active or not
3038 type: boolean
3039 force_pw_update:
3040 description: force user to change password on next login
3041 type: boolean
3042 name:
3043 description: Full name of the mailbox user
3044 type: string
3045 password2:
3046 description: new mailbox password for confirmation
3047 type: string
3048 pasword:
3049 description: new mailbox password
3050 type: string
3051 quota:
3052 description: mailbox quota
3053 type: number
3054 sender_acl:
3055 description: list of allowed send from addresses
3056 type: object
3057 sogo_access:
3058 description: is access to SOGo webmail active or not
3059 type: boolean
3060 type: object
3061 items:
3062 description: contains list of mailboxes you want update
3063 type: object
3064 type: object
3065 summary: Update mailbox
3066 /api/v1/edit/mailq:
3067 post:
3068 responses:
3069 "401":
3070 $ref: "#/components/responses/Unauthorized"
3071 "200":
3072 content:
3073 application/json:
3074 examples:
3075 response:
3076 value:
3077 msg: Task completed
3078 type: success
3079 description: OK
3080 headers: {}
3081 tags:
3082 - Queue Manager
3083 description: >-
3084 Using this API you can flush the current mail queue. This will try to
3085 deliver all mails currently in it.
3086
3087 This API uses the command: `postqueue -f`
3088 operationId: Flush Queue
3089 requestBody:
3090 content:
3091 application/json:
3092 schema:
3093 example:
3094 action: flush
3095 properties:
3096 action:
3097 description: use flush to flush the mail queue
3098 type: string
3099 type: object
3100 summary: Flush Queue
3101 /api/v1/edit/pushover:
3102 post:
3103 responses:
3104 "401":
3105 $ref: "#/components/responses/Unauthorized"
3106 "200":
3107 content:
3108 application/json:
3109 examples:
3110 response:
3111 value:
3112 - log:
3113 - pushover
3114 - edit
3115 - active: "0"
3116 evaluate_x_prio: "0"
3117 key: 21e8918e1jksdjcpis712
3118 only_x_prio: "0"
3119 senders: ""
3120 senders_regex: ""
3121 text: ""
3122 title: Mail
3123 token: 9023e2ohcwed27d1idu2
3124 username:
3125 - info@domain.tld
3126 msg: pushover_settings_edited
3127 type: success
3128 schema:
3129 properties:
3130 log:
3131 description: contains request object
3132 items: {}
3133 type: array
3134 msg:
3135 items: {}
3136 type: array
3137 type:
3138 enum:
3139 - success
3140 - danger
3141 - error
3142 type: string
3143 type: object
3144 description: OK
3145 headers: {}
3146 tags:
3147 - Mailboxes
3148 description: >-
3149 Using this endpoint it is possible to update the pushover settings for
3150 mailboxes
3151 operationId: Update Pushover settings
3152 requestBody:
3153 content:
3154 application/json:
3155 schema:
3156 example:
3157 attr:
3158 active: "0"
3159 evaluate_x_prio: "0"
3160 key: 21e8918e1jksdjcpis712
3161 only_x_prio: "0"
3162 senders: ""
3163 senders_regex: ""
3164 text: ""
3165 title: Mail
3166 token: 9023e2ohcwed27d1idu2
3167 items: info@domain.tld
3168 properties:
3169 attr:
3170 properties:
3171 active:
3172 description: Enables pushover 1 disable pushover 0
3173 type: number
3174 evaluate_x_prio:
3175 description: Send the Push with High priority
3176 type: number
3177 key:
3178 description: Pushover key
3179 type: string
3180 only_x_prio:
3181 description: Only send push for prio mails
3182 type: number
3183 senders:
3184 description: Only send push for emails from these senders
3185 type: string
3186 senders_regex:
3187 description: Regex to match senders for which a push will be send
3188 type: string
3189 text:
3190 description: Custom push noficiation text
3191 type: string
3192 title:
3193 description: Push title
3194 type: string
3195 token:
3196 description: Pushover token
3197 type: string
3198 type: object
3199 items:
3200 description: contains list of mailboxes you want to delete
3201 type: object
3202 type: object
3203 summary: Update Pushover settings
3204 /api/v1/edit/quarantine_notification:
3205 post:
3206 responses:
3207 "401":
3208 $ref: "#/components/responses/Unauthorized"
3209 "200":
3210 description: OK
3211 headers: {}
3212 tags:
3213 - Mailboxes
3214 description: You can update one or more mailboxes per request.
3215 operationId: Quarantine Notifications
3216 requestBody:
3217 content:
3218 application/json:
3219 schema:
3220 example:
3221 attr:
3222 quarantine_notification: hourly
3223 items:
3224 anyOf:
3225 - mailbox1@domain.tld
3226 - mailbox2@domain.tld
3227 properties:
3228 attr:
3229 properties:
3230 quarantine_notification:
3231 description: recurrence
3232 enum:
3233 - hourly
3234 - daily
3235 - weekly
3236 - never
3237 type: string
3238 type: object
3239 items:
3240 description: >-
3241 contains list of mailboxes you want set qurantine
3242 notifications
3243 type: object
3244 type: object
3245 summary: Quarantine Notifications
3246 /api/v1/edit/syncjob:
3247 post:
3248 responses:
3249 "401":
3250 $ref: "#/components/responses/Unauthorized"
3251 "200":
3252 content:
3253 application/json:
3254 examples:
3255 response:
3256 value:
3257 log:
3258 - entity
3259 - action
3260 - object
3261 msg:
3262 - message
3263 - entity name
3264 type: success
3265 schema:
3266 properties:
3267 log:
3268 description: contains request object
3269 items: {}
3270 type: array
3271 msg:
3272 items: {}
3273 type: array
3274 type:
3275 enum:
3276 - success
3277 - danger
3278 - error
3279 type: string
3280 type: object
3281 description: OK
3282 headers: {}
3283 tags:
3284 - Sync jobs
3285 description: >-
3286 You can update one or more sync jobs per request. You can also send just
3287 attributes you want to change.
3288 operationId: Update sync job
3289 requestBody:
3290 content:
3291 application/json:
3292 schema:
3293 example:
3294 attr:
3295 active: "1"
3296 automap: "1"
3297 custom_params: ""
3298 delete1: "0"
3299 delete2: "0"
3300 delete2duplicates: "1"
3301 enc1: SSL
3302 exclude: (?i)spam|(?i)junk
3303 host1: imap.server.tld
3304 maxage: "0"
3305 maxbytespersecond: "0"
3306 mins_interval: "20"
3307 password1: supersecret
3308 port1: "993"
3309 skipcrossduplicates: "0"
3310 subfolder2: External
3311 subscribeall: "1"
3312 timeout1: "600"
3313 timeout2: "600"
3314 user1: username
3315 items: "1"
3316 properties:
3317 attr:
3318 properties:
3319 active:
3320 description: Is sync job active
3321 type: boolean
3322 automap:
3323 description: >-
3324 Try to automap folders ("Sent items", "Sent" => "Sent"
3325 etc.)
3326 type: boolean
3327 custom_params:
3328 description: Custom parameters passed to imapsync command
3329 type: string
3330 delete1:
3331 description: Delete from source when completed
3332 type: boolean
3333 delete2:
3334 description: Delete messages on destination that are not on source
3335 type: boolean
3336 delete2duplicates:
3337 description: Delete duplicates on destination
3338 type: boolean
3339 enc1:
3340 description: Encryption
3341 enum:
3342 - TLS
3343 - SSL
3344 - PLAIN
3345 type: string
3346 exclude:
3347 description: Exclude objects (regex)
3348 type: string
3349 host1:
3350 description: Hostname
3351 type: string
3352 maxage:
3353 description: >-
3354 Maximum age of messages in days that will be polled from
3355 remote (0 = ignore age)
3356 type: number
3357 maxbytespersecond:
3358 description: Max. bytes per second (0 = unlimited)
3359 type: number
3360 mins_interval:
3361 description: Interval (min)
3362 type: number
3363 password1:
3364 description: Password
3365 type: string
3366 port1:
3367 description: Port
3368 type: string
3369 skipcrossduplicates:
3370 description: >-
3371 Skip duplicate messages across folders (first come,
3372 first serve)
3373 type: boolean
3374 subfolder2:
3375 description: >-
3376 Sync into subfolder on destination (empty = do not use
3377 subfolder)
3378 type: string
3379 subscribeall:
3380 description: Subscribe all folders
3381 type: boolean
3382 timeout1:
3383 description: Timeout for connection to remote host
3384 type: number
3385 timeout2:
3386 description: Timeout for connection to local host
3387 type: number
3388 user1:
3389 description: Username
3390 type: string
3391 type: object
3392 items:
3393 description: contains list of aliases you want update
3394 type: object
3395 type: object
3396 summary: Update sync job
3397 /api/v1/edit/user-acl:
3398 post:
3399 responses:
3400 "401":
3401 $ref: "#/components/responses/Unauthorized"
3402 "200":
3403 content:
3404 application/json:
3405 examples:
3406 response:
3407 value:
3408 - log:
3409 - acl
3410 - edit
3411 - user
3412 - user_acl:
3413 - spam_alias
3414 - tls_policy
3415 - spam_score
3416 - spam_policy
3417 - delimiter_action
3418 - syncjobs
3419 - eas_reset
3420 - quarantine
3421 - sogo_profile_reset
3422 - quarantine_attachments
3423 - quarantine_notification
3424 - app_passwds
3425 - pushover
3426 username:
3427 - info@domain.tld
3428 msg:
3429 - acl_saved
3430 - info@domain.tld
3431 type: success
3432 schema:
3433 properties:
3434 log:
3435 description: contains request object
3436 items: {}
3437 type: array
3438 msg:
3439 items: {}
3440 type: array
3441 type:
3442 enum:
3443 - success
3444 - danger
3445 - error
3446 type: string
3447 type: object
3448 description: OK
3449 headers: {}
3450 tags:
3451 - Mailboxes
3452 description: Using this endpoints its possible to update the ACL's for mailboxes
3453 operationId: Update mailbox ACL
3454 requestBody:
3455 content:
3456 application/json:
3457 schema:
3458 example:
3459 attr:
3460 user_acl:
3461 - spam_alias
3462 - tls_policy
3463 - spam_score
3464 - spam_policy
3465 - delimiter_action
3466 - syncjobs
3467 - eas_reset
3468 - quarantine
3469 - sogo_profile_reset
3470 - quarantine_attachments
3471 - quarantine_notification
3472 - app_passwds
3473 - pushover
3474 items: info@domain.tld
3475 properties:
3476 attr:
3477 properties:
3478 user_acl:
3479 description: contains a list of active user acls
3480 type: object
3481 type: object
3482 items:
3483 description: contains list of mailboxes you want to delete
3484 type: object
3485 type: object
3486 summary: Update mailbox ACL
3487 "/api/v1/get/alias/{id}":
3488 get:
3489 parameters:
3490 - description: id of entry you want to get
3491 example: all
3492 in: path
3493 name: id
3494 required: true
3495 schema:
3496 enum:
3497 - all
3498 - "1"
3499 - "2"
3500 - "5"
3501 - "10"
3502 type: string
3503 - description: e.g. api-key-string
3504 example: api-key-string
3505 in: header
3506 name: X-API-Key
3507 required: false
3508 schema:
3509 type: string
3510 responses:
3511 "401":
3512 $ref: "#/components/responses/Unauthorized"
3513 "200":
3514 content:
3515 application/json:
3516 examples:
3517 response:
3518 value:
3519 - active: "1"
3520 address: alias@domain.tld
3521 created: "2019-04-04 19:29:49"
3522 domain: domain.tld
3523 goto: destination@domain.tld
3524 id: 6
3525 in_primary_domain: ""
3526 is_catch_all: 0
3527 modified: null
3528 private_comment: null
3529 public_comment: null
3530 - active: "1"
3531 address: "@domain.tld"
3532 created: "2019-04-27 13:42:39"
3533 domain: domain.tld
3534 goto: destination@domain.tld
3535 id: 10
3536 in_primary_domain: ""
3537 is_catch_all: 1
3538 modified: null
3539 private_comment: null
3540 public_comment: null
3541 description: OK
3542 headers: {}
3543 tags:
3544 - Aliases
3545 description: You can list mailbox aliases existing in system.
3546 operationId: Get aliases
3547 summary: Get aliases
3548 "/api/v1/get/app-passwd/all/{mailbox}":
3549 get:
3550 parameters:
3551 - description: mailbox of entry you want to get
3552 example: hello@mailcow.email
3553 in: path
3554 name: mailbox
3555 required: true
3556 schema:
3557 enum:
3558 - hello@mailcow.email
3559 type: string
3560 - description: e.g. api-key-string
3561 example: api-key-string
3562 in: header
3563 name: X-API-Key
3564 required: false
3565 schema:
3566 type: string
3567 responses:
3568 "401":
3569 $ref: "#/components/responses/Unauthorized"
3570 "200":
3571 content:
3572 application/json:
3573 examples:
3574 response:
3575 value:
3576 - active: "1"
3577 created: "2019-12-21 16:04:55"
3578 domain: mailcow.email
3579 id: 2
3580 mailbox: hello@mailcow.email
3581 modified: null
3582 name: emclient
3583 description: OK
3584 headers: {}
3585 tags:
3586 - App Passwords
3587 description: >-
3588 Using this endpoint you can get all app passwords from a specific
3589 mailbox.
3590 operationId: Get App Password
3591 summary: Get App Password
3592 "/api/v1/get/bcc/{id}":
3593 get:
3594 parameters:
3595 - description: id of entry you want to get
3596 example: all
3597 in: path
3598 name: id
3599 required: true
3600 schema:
3601 enum:
3602 - all
3603 - "1"
3604 - "2"
3605 - "5"
3606 - "10"
3607 type: string
3608 - description: e.g. api-key-string
3609 example: api-key-string
3610 in: header
3611 name: X-API-Key
3612 required: false
3613 schema:
3614 type: string
3615 responses:
3616 "401":
3617 $ref: "#/components/responses/Unauthorized"
3618 "200":
3619 content:
3620 application/json:
3621 examples:
3622 response:
3623 value:
3624 - active: "1"
3625 bcc_dest: bcc@awesomecow.tld
3626 created: "2019-10-02 21:44:34"
3627 domain: mailcow.tld
3628 id: 3
3629 local_dest: "@mailcow.tld"
3630 modified: null
3631 type: sender
3632 description: OK
3633 headers: {}
3634 tags:
3635 - Address Rewriting
3636 description: Using this endpoint you can get all BCC maps.
3637 operationId: Get BCC Map
3638 summary: Get BCC Map
3639 "/api/v1/get/dkim/{domain}":
3640 get:
3641 parameters:
3642 - description: name of domain
3643 in: path
3644 name: domain
3645 required: true
3646 schema:
3647 type: string
3648 - description: e.g. api-key-string
3649 example: api-key-string
3650 in: header
3651 name: X-API-Key
3652 required: false
3653 schema:
3654 type: string
3655 responses:
3656 "401":
3657 $ref: "#/components/responses/Unauthorized"
3658 "200":
3659 content:
3660 application/json:
3661 examples:
3662 response:
3663 value:
3664 dkim_selector: dkim
3665 dkim_txt: >-
3666 v=DKIM1;k=rsa;t=s;s=email;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA21tUSjyasQy/hJmVjPnlRGfzx6TPhYj8mXY9DVOzSAE64Gddw/GnE/GcCR6WXNT23u9q4zPnz1IPoNt5kFOps8vg/iNqrcH++494noaZuYyFPPFnebkfryO4EvEyxC/c66qts+gnOUml+M8uv5WObBJld2gG12jLwFM0263J/N6J8LuUsaXOB2uCIfx8Nf4zjuJ6Ieez2uyHNK5dXjDLfKA4mTr+EEK6W6e34M4KN1liWM6r9Oy5S1FlLrD42VpURxxBZtBiEtaJPEKSQuk6GQz8ihu7W20Yr53tyCdaORu8dhxXVUWVf+GjuuMEdAmQCjYkarXdYCrt56Psw703kwIDAQAB
3667 length: "2048"
3668 privkey: ""
3669 pubkey: >-
3670 MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA21tUSjyasQy/hJmVjPnlRGfzx6TPhYj8mXY9DVOzSAE64Gddw/GnE/GcCR6WXNT23u9q4zPnz1IPoNt5kFOps8vg/iNqrcH++494noaZuYyFPPFnebkfryO4EvEyxC/c66qts+gnOUml+M8uv5WObBJld2gG12jLwFM0263J/N6J8LuUsaXOB2uCIfx8Nf4zjuJ6Ieez2uyHNK5dXjDLfKA4mTr+EEK6W6e34M4KN1liWM6r9Oy5S1FlLrD42VpURxxBZtBiEtaJPEKSQuk6GQz8ihu7W20Yr53tyCdaORu8dhxXVUWVf+GjuuMEdAmQCjYkarXdYCrt56Psw703kwIDAQAB
3671 description: OK
3672 headers: {}
3673 tags:
3674 - DKIM
3675 description: >-
3676 Using this endpoint you can get the DKIM public key for a specific
3677 domain.
3678 operationId: Get DKIM Key
3679 summary: Get DKIM Key
3680 /api/v1/get/domain-admin/all:
3681 get:
3682 responses:
3683 "401":
3684 $ref: "#/components/responses/Unauthorized"
3685 "200":
3686 content:
3687 application/json:
3688 examples:
3689 response:
3690 value:
3691 - active: "1"
3692 created: "2019-10-02 10:29:41"
3693 selected_domains:
3694 - mailcow.tld
3695 tfa_active: "0"
3696 unselected_domains:
3697 - awesomemailcow.de
3698 - mailcowisgreat.de
3699 username: testadmin
3700 description: OK
3701 headers: {}
3702 tags:
3703 - Domain admin
3704 description: ""
3705 operationId: Get Domain Admins
3706 summary: Get Domain Admins
3707 "/api/v1/get/domain/{id}":
3708 get:
3709 parameters:
3710 - description: id of entry you want to get
3711 example: all
3712 in: path
3713 name: id
3714 required: true
3715 schema:
3716 enum:
3717 - all
3718 - mailcow.tld
3719 type: string
3720 - description: e.g. api-key-string
3721 example: api-key-string
3722 in: header
3723 name: X-API-Key
3724 required: false
3725 schema:
3726 type: string
3727 responses:
3728 "401":
3729 $ref: "#/components/responses/Unauthorized"
3730 "200":
3731 content:
3732 application/json:
3733 examples:
3734 response:
3735 value:
3736 - active: "1"
3737 aliases_in_domain: 0
3738 aliases_left: 400
3739 backupmx: "0"
3740 bytes_total: "5076666944"
3741 def_new_mailbox_quota: 3221225472
3742 def_quota_for_mbox: 3221225472
3743 description: Some description
3744 domain_name: domain.tld
3745 gal: "0"
3746 lang: en
3747 max_new_mailbox_quota: 10737418240
3748 max_num_aliases_for_domain: 400
3749 max_num_mboxes_for_domain: 10
3750 max_quota_for_domain: 10737418240
3751 max_quota_for_mbox: 10737418240
3752 mboxes_in_domain: 0
3753 mboxes_left: 10
3754 msgs_total: "172440"
3755 quota_used_in_domain: "0"
3756 relay_all_recipients: "0"
3757 relayhost: "0"
3758 rl: false
3759 - active: "1"
3760 aliases_in_domain: 0
3761 aliases_left: 400
3762 backupmx: "1"
3763 bytes_total: "5076666944"
3764 def_new_mailbox_quota: 3221225472
3765 def_quota_for_mbox: 3221225472
3766 description: domain description
3767 domain_name: domain2.tld
3768 gal: "0"
3769 lang: cs
3770 max_new_mailbox_quota: 10737418240
3771 max_num_aliases_for_domain: 400
3772 max_num_mboxes_for_domain: 10
3773 max_quota_for_domain: 10737418240
3774 max_quota_for_mbox: 10737418240
3775 mboxes_in_domain: 0
3776 mboxes_left: 10
3777 msgs_total: "172440"
3778 quota_used_in_domain: "0"
3779 relay_all_recipients: "0"
3780 relayhost: "0"
3781 rl: false
3782 description: OK
3783 headers: {}
3784 tags:
3785 - Domains
3786 description: You can list all domains existing in system.
3787 operationId: Get domains
3788 summary: Get domains
3789 /api/v1/get/fail2ban:
3790 get:
3791 responses:
3792 "401":
3793 $ref: "#/components/responses/Unauthorized"
3794 "200":
3795 content:
3796 application/json:
3797 examples:
3798 response:
3799 value:
3800 ban_time: 604800
3801 blacklist: |-
3802 45.82.153.37/32
3803 92.118.38.52/32
3804 max_attempts: 1
3805 netban_ipv4: 32
3806 netban_ipv6: 128
3807 perm_bans:
3808 - 45.82.153.37/32
3809 - 92.118.38.52/32
3810 retry_window: 7200
3811 whitelist: 1.1.1.1
3812 description: OK
3813 headers: {}
3814 tags:
3815 - Fail2Ban
3816 description: Gets the current Fail2Ban configuration.
3817 operationId: Get Fail2Ban Config
3818 summary: Get Fail2Ban Config
3819 /api/v1/get/fwdhost/all:
3820 get:
3821 responses:
3822 "401":
3823 $ref: "#/components/responses/Unauthorized"
3824 "200":
3825 content:
3826 application/json:
3827 examples:
3828 response:
3829 value:
3830 - host: 5.1.76.202
3831 keep_spam: "yes"
3832 source: hosted.mailcow.de
3833 - host: "2a00:f820:417::202"
3834 keep_spam: "yes"
3835 source: hosted.mailcow.de
3836 description: OK
3837 headers: {}
3838 tags:
3839 - Fordwarding Hosts
3840 description: You can list all Forwarding Hosts in your mailcow.
3841 operationId: Get Forwarding Hosts
3842 summary: Get Forwarding Hosts
3843 "/api/v1/get/logs/acme/{count}":
3844 get:
3845 parameters:
3846 - description: Number of logs to return
3847 in: path
3848 name: count
3849 required: true
3850 schema:
3851 type: number
3852 - description: e.g. api-key-string
3853 example: api-key-string
3854 in: header
3855 name: X-API-Key
3856 required: false
3857 schema:
3858 type: string
3859 responses:
3860 "401":
3861 $ref: "#/components/responses/Unauthorized"
3862 "200":
3863 content:
3864 application/json:
3865 examples:
3866 response:
3867 value:
3868 - message: >-
3869 Certificate validation done, neither changed nor due for
3870 renewal, sleeping for another day.
3871 time: "1569927728"
3872 description: OK
3873 headers: {}
3874 tags:
3875 - Logs
3876 description: >-
3877 This Api endpoint lists all ACME logs from issued Lets Enctypts
3878 certificates.
3879
3880 Tip: You can limit how many logs you want to get by using `/<count>` at
3881 the end of the api url.
3882 operationId: Get ACME logs
3883 summary: Get ACME logs
3884 "/api/v1/get/logs/api/{count}":
3885 get:
3886 parameters:
3887 - description: Number of logs to return
3888 in: path
3889 name: count
3890 required: true
3891 schema:
3892 type: number
3893 - description: e.g. api-key-string
3894 example: api-key-string
3895 in: header
3896 name: X-API-Key
3897 required: false
3898 schema:
3899 type: string
3900 responses:
3901 "401":
3902 $ref: "#/components/responses/Unauthorized"
3903 "200":
3904 content:
3905 application/json:
3906 examples:
3907 response:
3908 value:
3909 - data: ""
3910 method: GET
3911 remote: 1.1.1.1
3912 time: 1569939001
3913 uri: /api/v1/get/logs/api/2
3914 description: OK
3915 headers: {}
3916 tags:
3917 - Logs
3918 description: >-
3919 This Api endpoint lists all Api logs.
3920
3921 Tip: You can limit how many logs you want to get by using `/<count>` at
3922 the end of the api url.
3923 operationId: Get Api logs
3924 summary: Get Api logs
3925 "/api/v1/get/logs/autodiscover/{count}":
3926 get:
3927 parameters:
3928 - description: Number of logs to return
3929 in: path
3930 name: count
3931 required: true
3932 schema:
3933 type: number
3934 - description: e.g. api-key-string
3935 example: api-key-string
3936 in: header
3937 name: X-API-Key
3938 required: false
3939 schema:
3940 type: string
3941 responses:
3942 "401":
3943 $ref: "#/components/responses/Unauthorized"
3944 "200":
3945 content:
3946 application/json:
3947 examples:
3948 response:
3949 value:
3950 - service: activesync
3951 time: 1569684212
3952 ua: >-
3953 Microsoft Office/16.0 (Windows NT 6.2; MAPICPL
3954 16.0.11328; Pro)
3955 user: awesome@mailcow.de
3956 description: OK
3957 headers: {}
3958 tags:
3959 - Logs
3960 description: >-
3961 This Api endpoint lists all Autodiscover logs.
3962
3963 Tip: You can limit how many logs you want to get by using `/<count>` at
3964 the end of the api url.
3965 operationId: Get Autodiscover logs
3966 summary: Get Autodiscover logs
3967 "/api/v1/get/logs/dovecot/{count}":
3968 get:
3969 parameters:
3970 - description: Number of logs to return
3971 in: path
3972 name: count
3973 required: true
3974 schema:
3975 type: number
3976 - description: e.g. api-key-string
3977 example: api-key-string
3978 in: header
3979 name: X-API-Key
3980 required: false
3981 schema:
3982 type: string
3983 responses:
3984 "401":
3985 $ref: "#/components/responses/Unauthorized"
3986 "200":
3987 content:
3988 application/json:
3989 examples:
3990 response:
3991 value:
3992 - message: >-
3993 managesieve-login: Disconnected (no auth attempts in 0
3994 secs): user=<>, rip=172.22.1.3, lip=172.22.1.250
3995 priority: info
3996 program: dovecot
3997 time: "1569938740"
3998 description: OK
3999 headers: {}
4000 tags:
4001 - Logs
4002 description: >-
4003 This Api endpoint lists all Dovecot logs.
4004
4005 Tip: You can limit how many logs you want to get by using `/<count>` at
4006 the end of the api url.
4007 operationId: Get Dovecot logs
4008 summary: Get Dovecot logs
4009 "/api/v1/get/logs/netfilter/{count}":
4010 get:
4011 parameters:
4012 - description: Number of logs to return
4013 in: path
4014 name: count
4015 required: true
4016 schema:
4017 type: number
4018 - description: e.g. api-key-string
4019 example: api-key-string
4020 in: header
4021 name: X-API-Key
4022 required: false
4023 schema:
4024 type: string
4025 responses:
4026 "401":
4027 $ref: "#/components/responses/Unauthorized"
4028 "200":
4029 content:
4030 application/json:
4031 examples:
4032 response:
4033 value:
4034 - message: "Whitelist was changed, it has 1 entries"
4035 priority: info
4036 time: 1569754911
4037 - message: Add host/network 1.1.1.1/32 to blacklist
4038 priority: crit
4039 time: 1569754911
4040 description: OK
4041 headers: {}
4042 tags:
4043 - Logs
4044 description: >-
4045 This Api endpoint lists all Netfilter logs.
4046
4047 Tip: You can limit how many logs you want to get by using `/<count>` at
4048 the end of the api url.
4049 operationId: Get Netfilter logs
4050 summary: Get Netfilter logs
4051 "/api/v1/get/logs/postfix/{count}":
4052 get:
4053 parameters:
4054 - description: Number of logs to return
4055 in: path
4056 name: count
4057 required: true
4058 schema:
4059 type: number
4060 - description: e.g. api-key-string
4061 example: api-key-string
4062 in: header
4063 name: X-API-Key
4064 required: false
4065 schema:
4066 type: string
4067 responses:
4068 "401":
4069 $ref: "#/components/responses/Unauthorized"
4070 "200":
4071 content:
4072 application/json:
4073 examples:
4074 response:
4075 value:
4076 - message: "EF1711500458: removed"
4077 priority: info
4078 program: postfix/qmgr
4079 time: "1569937433"
4080 description: OK
4081 headers: {}
4082 tags:
4083 - Logs
4084 description: >-
4085 This Api endpoint lists all Postfix logs.
4086
4087 Tip: You can limit how many logs you want to get by using `/<count>` at
4088 the end of the api url.
4089 operationId: Get Postfix logs
4090 summary: Get Postfix logs
4091 "/api/v1/get/logs/ratelimited/{count}":
4092 get:
4093 parameters:
4094 - description: Number of logs to return
4095 in: path
4096 name: count
4097 required: true
4098 schema:
4099 type: number
4100 - description: e.g. api-key-string
4101 example: api-key-string
4102 in: header
4103 name: X-API-Key
4104 required: false
4105 schema:
4106 type: string
4107 responses:
4108 "401":
4109 $ref: "#/components/responses/Unauthorized"
4110 "200":
4111 content:
4112 application/json:
4113 examples:
4114 response:
4115 value:
4116 - from: awesome@mailcow.email
4117 header_from: '"Awesome" <awesome@mailcow.email>'
4118 header_subject: Mailcow is amazing
4119 ip: 172.22.1.248
4120 message_id: 6a-5d892500-7-240abd80@90879116
4121 qid: E3CF91500458
4122 rcpt: hello@mailcow.email
4123 rl_hash: RLsdz3tuabozgd4oacbdh8kc78
4124 rl_info: mailcow(RLsdz3tuabozgd4oacbdh8kc78)
4125 rl_name: mailcow
4126 time: 1569269003
4127 user: awesome@mailcow.email
4128 description: OK
4129 headers: {}
4130 tags:
4131 - Logs
4132 description: >-
4133 This Api endpoint lists all Ratelimit logs.
4134
4135 Tip: You can limit how many logs you want to get by using `/<count>` at
4136 the end of the api url.
4137 operationId: Get Ratelimit logs
4138 summary: Get Ratelimit logs
4139 "/api/v1/get/logs/rspamd-history/{count}":
4140 get:
4141 parameters:
4142 - description: Number of logs to return
4143 in: path
4144 name: count
4145 required: true
4146 schema:
4147 type: number
4148 - description: e.g. api-key-string
4149 example: api-key-string
4150 in: header
4151 name: X-API-Key
4152 required: false
4153 schema:
4154 type: string
4155 responses:
4156 "401":
4157 $ref: "#/components/responses/Unauthorized"
4158 "200":
4159 description: OK
4160 headers: {}
4161 tags:
4162 - Logs
4163 description: >-
4164 This Api endpoint lists all Rspamd logs.
4165
4166 Tip: You can limit how many logs you want to get by using `/<count>` at
4167 the end of the api url.
4168 operationId: Get Rspamd logs
4169 summary: Get Rspamd logs
4170 "/api/v1/get/logs/sogo/{count}":
4171 get:
4172 parameters:
4173 - description: Number of logs to return
4174 in: path
4175 name: count
4176 required: true
4177 schema:
4178 type: number
4179 - description: e.g. api-key-string
4180 example: api-key-string
4181 in: header
4182 name: X-API-Key
4183 required: false
4184 schema:
4185 type: string
4186 responses:
4187 "401":
4188 $ref: "#/components/responses/Unauthorized"
4189 "200":
4190 content:
4191 application/json:
4192 examples:
4193 response:
4194 value:
4195 - message: >-
4196 [109]:
4197 mailcowdockerized_watchdog-mailcow_1.mailcowdockerized_mailcow-network
4198 "GET /SOGo.index/ HTTP/1.1" 200 2531/0 0.005 - - 0
4199 priority: notice
4200 program: sogod
4201 time: "1569938874"
4202 description: OK
4203 headers: {}
4204 tags:
4205 - Logs
4206 description: >-
4207 This Api endpoint lists all SOGo logs.
4208
4209 Tip: You can limit how many logs you want to get by using `/<count>` at
4210 the end of the api url.
4211 operationId: Get SOGo logs
4212 summary: Get SOGo logs
4213 "/api/v1/get/logs/watchdog/{count}":
4214 get:
4215 parameters:
4216 - description: Number of logs to return
4217 in: path
4218 name: count
4219 required: true
4220 schema:
4221 type: number
4222 - description: e.g. api-key-string
4223 example: api-key-string
4224 in: header
4225 name: X-API-Key
4226 required: false
4227 schema:
4228 type: string
4229 responses:
4230 "401":
4231 $ref: "#/components/responses/Unauthorized"
4232 "200":
4233 content:
4234 application/json:
4235 examples:
4236 response:
4237 value:
4238 - hpdiff: "0"
4239 hpnow: "1"
4240 hptotal: "1"
4241 lvl: "100"
4242 service: Fail2ban
4243 time: "1569938958"
4244 - hpdiff: "0"
4245 hpnow: "5"
4246 hptotal: "5"
4247 lvl: "100"
4248 service: Rspamd
4249 time: "1569938956"
4250 description: OK
4251 headers: {}
4252 tags:
4253 - Logs
4254 description: >-
4255 This Api endpoint lists all Watchdog logs.
4256
4257 Tip: You can limit how many logs you want to get by using `/<count>` at
4258 the end of the api url.
4259 operationId: Get Watchdog logs
4260 summary: Get Watchdog logs
4261 "/api/v1/get/mailbox/{id}":
4262 get:
4263 parameters:
4264 - description: id of entry you want to get
4265 example: all
4266 in: path
4267 name: id
4268 required: true
4269 schema:
4270 enum:
4271 - all
4272 - user@domain.tld
4273 type: string
4274 - description: e.g. api-key-string
4275 example: api-key-string
4276 in: header
4277 name: X-API-Key
4278 required: false
4279 schema:
4280 type: string
4281 responses:
4282 "401":
4283 $ref: "#/components/responses/Unauthorized"
4284 "200":
4285 content:
4286 application/json:
4287 examples:
4288 response:
4289 value:
4290 - active: "1"
4291 attributes:
4292 force_pw_update: "0"
4293 mailbox_format: "maildir:"
4294 quarantine_notification: never
4295 sogo_access: "1"
4296 tls_enforce_in: "0"
4297 tls_enforce_out: "0"
4298 domain: doman3.tld
4299 is_relayed: 0
4300 local_part: info
4301 max_new_quota: 10737418240
4302 messages: 0
4303 name: Full name
4304 percent_class: success
4305 percent_in_use: 0
4306 quota: 3221225472
4307 quota_used: 0
4308 rl: false
4309 spam_aliases: 0
4310 username: info@doman3.tld
4311 description: OK
4312 headers: {}
4313 tags:
4314 - Mailboxes
4315 description: You can list all mailboxes existing in system.
4316 operationId: Get mailboxes
4317 summary: Get mailboxes
4318 /api/v1/get/mailq/all:
4319 get:
4320 responses:
4321 "401":
4322 $ref: "#/components/responses/Unauthorized"
4323 "200":
4324 content:
4325 application/json:
4326 examples:
4327 response:
4328 value:
4329 - arrival_time: 1570091234
4330 message_size: 1848
4331 queue_id: B98C6260CA1
4332 queue_name: incoming
4333 recipients:
4334 - recipient@awesomecow.tld
4335 sender: sender@mailcow.tld
4336 description: OK
4337 headers: {}
4338 tags:
4339 - Queue Manager
4340 description: Get the current mail queue and everything it contains.
4341 operationId: Get Queue
4342 summary: Get Queue
4343 "/api/v1/get/oauth2-client/{id}":
4344 get:
4345 parameters:
4346 - description: id of entry you want to get
4347 example: all
4348 in: path
4349 name: id
4350 required: true
4351 schema:
4352 enum:
4353 - all
4354 - "1"
4355 - "2"
4356 - "5"
4357 - "10"
4358 type: string
4359 - description: e.g. api-key-string
4360 example: api-key-string
4361 in: header
4362 name: X-API-Key
4363 required: false
4364 schema:
4365 type: string
4366 responses:
4367 "401":
4368 $ref: "#/components/responses/Unauthorized"
4369 "200":
4370 content:
4371 application/json:
4372 examples:
4373 response:
4374 value:
4375 - client_id: 17c76aaa88c0
4376 client_secret: 73fc668a88147e32a31ff80c
4377 grant_types: null
4378 id: 1
4379 redirect_uri: "https://mailcow.tld"
4380 scope: profile
4381 user_id: null
4382 description: OK
4383 headers: {}
4384 tags:
4385 - oAuth Clients
4386 description: Using this endpoint you can get all oAuth clients.
4387 operationId: Get oAuth Clients
4388 summary: Get oAuth Clients
4389 "/api/v1/get/policy_bl_domain/{domain}":
4390 get:
4391 parameters:
4392 - description: name of domain
4393 in: path
4394 name: domain
4395 required: true
4396 schema:
4397 type: string
4398 - description: e.g. api-key-string
4399 example: api-key-string
4400 in: header
4401 name: X-API-Key
4402 required: false
4403 schema:
4404 type: string
4405 responses:
4406 "401":
4407 $ref: "#/components/responses/Unauthorized"
4408 "200":
4409 content:
4410 application/json:
4411 examples:
4412 response:
4413 value:
4414 - object: domain.tld
4415 prefid: 2
4416 value: "*@baddomain.tld"
4417 description: OK
4418 headers: {}
4419 tags:
4420 - Domain antispam policies
4421 description: You can list all blacklist policies per domain.
4422 operationId: List blacklist domain policy
4423 summary: List blacklist domain policy
4424 "/api/v1/get/policy_wl_domain/{domain}":
4425 get:
4426 parameters:
4427 - description: name of domain
4428 in: path
4429 name: domain
4430 required: true
4431 schema:
4432 type: string
4433 - description: e.g. api-key-string
4434 example: api-key-string
4435 in: header
4436 name: X-API-Key
4437 required: false
4438 schema:
4439 type: string
4440 responses:
4441 "401":
4442 $ref: "#/components/responses/Unauthorized"
4443 "200":
4444 content:
4445 application/json:
4446 examples:
4447 response:
4448 value:
4449 - object: domain.tld
4450 prefid: 1
4451 value: "*@gooddomain.tld"
4452 description: OK
4453 headers: {}
4454 tags:
4455 - Domain antispam policies
4456 description: You can list all whitelist policies per domain.
4457 operationId: List whitelist domain policy
4458 summary: List whitelist domain policy
4459 /api/v1/get/quarantine/all:
4460 get:
4461 responses:
4462 "401":
4463 $ref: "#/components/responses/Unauthorized"
4464 "200":
4465 content:
4466 application/json:
4467 examples:
4468 response:
4469 value:
4470 created: 1572688831
4471 id: 33
4472 notified: 1
4473 qid: 8224615004C1
4474 rcpt: admin@domain.tld
4475 score: 15.48
4476 sender: bounces@send.domain.tld
4477 subject: mailcow is awesome
4478 virus_flag: 0
4479 description: OK
4480 headers: {}
4481 tags:
4482 - Quarantine
4483 description: Get all mails that are currently in Quarantine.
4484 operationId: Get mails in Quarantine
4485 summary: Get mails in Quarantine
4486 "/api/v1/get/recipient_map/{id}":
4487 get:
4488 parameters:
4489 - description: id of entry you want to get
4490 example: all
4491 in: path
4492 name: id
4493 required: true
4494 schema:
4495 enum:
4496 - all
4497 - "1"
4498 - "2"
4499 - "5"
4500 - "10"
4501 type: string
4502 - description: e.g. api-key-string
4503 example: api-key-string
4504 in: header
4505 name: X-API-Key
4506 required: false
4507 schema:
4508 type: string
4509 responses:
4510 "401":
4511 $ref: "#/components/responses/Unauthorized"
4512 "200":
4513 content:
4514 application/json:
4515 examples:
4516 response:
4517 value:
4518 - active: "1"
4519 created: "2019-10-02 22:06:29"
4520 id: 3
4521 modified: null
4522 recipient_map_new: target@mailcow.tld
4523 recipient_map_old: recipient@mailcow.tld
4524 description: OK
4525 headers: {}
4526 tags:
4527 - Address Rewriting
4528 description: Using this endpoint you can get all recipient maps.
4529 operationId: Get Recipient Map
4530 summary: Get Recipient Map
4531 "/api/v1/get/relayhost/{id}":
4532 get:
4533 parameters:
4534 - description: id of entry you want to get
4535 example: all
4536 in: path
4537 name: id
4538 required: true
4539 schema:
4540 enum:
4541 - all
4542 - "1"
4543 - "2"
4544 - "5"
4545 - "10"
4546 type: string
4547 - description: e.g. api-key-string
4548 example: api-key-string
4549 in: header
4550 name: X-API-Key
4551 required: false
4552 schema:
4553 type: string
4554 responses:
4555 "401":
4556 $ref: "#/components/responses/Unauthorized"
4557 "200":
4558 content:
4559 application/json:
4560 examples:
4561 response:
4562 value:
4563 - active: "1"
4564 hostname: "mailcow.tld:25"
4565 id: 1
4566 password: supersecurepassword
4567 password_short: tes...
4568 used_by_domains: ""
4569 username: testuser
4570 description: OK
4571 headers: {}
4572 tags:
4573 - Routing
4574 description: Using this endpoint you can get all Sender-Dependent Transports.
4575 operationId: Get Sender-Dependent Transports
4576 summary: Get Sender-Dependent Transports
4577 /api/v1/get/resource/all:
4578 get:
4579 responses:
4580 "401":
4581 $ref: "#/components/responses/Unauthorized"
4582 "200":
4583 content:
4584 application/json:
4585 examples:
4586 response:
4587 value:
4588 - active: "1"
4589 description: test
4590 domain: mailcow.tld
4591 kind: location
4592 local_part: test
4593 multiple_bookings: 0
4594 name: test@mailcow.tld
4595 description: OK
4596 headers: {}
4597 tags:
4598 - Resources
4599 description: Using this endpoint you can get all Resources.
4600 operationId: Get Resources
4601 summary: Get Resources
4602 "/api/v1/get/rl-mbox/{mailbox}":
4603 get:
4604 parameters:
4605 - description: name of mailbox or all
4606 in: path
4607 name: mailbox
4608 required: true
4609 schema:
4610 type: string
4611 - description: e.g. api-key-string
4612 example: api-key-string
4613 in: header
4614 name: X-API-Key
4615 required: false
4616 schema:
4617 type: string
4618 responses:
4619 "401":
4620 $ref: "#/components/responses/Unauthorized"
4621 "200":
4622 content:
4623 application/json:
4624 examples:
4625 response:
4626 value:
4627 - frame: s
4628 mailbox: leon@mailcow.tld
4629 value: "5"
4630 - frame: s
4631 mailbox: lisa@mailcow.tld
4632 value: "3"
4633 description: OK
4634 headers: {}
4635 tags:
4636 - Ratelimits
4637 description: >-
4638 Using this endpoint you can get the ratelimits for a certain mailbox.
4639 You can use all for all mailboxes.
4640 operationId: Get mailbox ratelimits
4641 summary: Get mailbox ratelimits
4642 "/api/v1/get/rl-domain/{domain}":
4643 get:
4644 parameters:
4645 - description: name of domain or all
4646 in: path
4647 name: domain
4648 required: true
4649 schema:
4650 type: string
4651 - description: e.g. api-key-string
4652 example: api-key-string
4653 in: header
4654 name: X-API-Key
4655 required: false
4656 schema:
4657 type: string
4658 responses:
4659 "401":
4660 $ref: "#/components/responses/Unauthorized"
4661 "200":
4662 content:
4663 application/json:
4664 examples:
4665 response:
4666 value:
4667 - frame: s
4668 domain: domain.tld
4669 value: "5"
4670 - frame: s
4671 mailbox: domain2.tld
4672 value: "3"
4673 description: OK
4674 headers: {}
4675 tags:
4676 - Ratelimits
4677 description: >-
4678 Using this endpoint you can get the ratelimits for a certain domains.
4679 You can use all for all domain.
4680 operationId: Get domain ratelimits
4681 summary: Get domain ratelimits
4682 /api/v1/edit/rl-mbox/:
4683 post:
4684 responses:
4685 "401":
4686 $ref: "#/components/responses/Unauthorized"
4687 "200":
4688 content:
4689 application/json:
4690 examples:
4691 response:
4692 value:
4693 - type: success
4694 log:
4695 - ratelimit
4696 - edit
4697 - mailbox
4698 - object:
4699 - info@domain.tld
4700 rl_value: "10"
4701 rl_frame: h
4702 msg:
4703 - rl_saved
4704 - info@domain.tld
4705 schema:
4706 properties:
4707 log:
4708 description: contains request object
4709 items: {}
4710 type: array
4711 msg:
4712 items: {}
4713 type: array
4714 type:
4715 enum:
4716 - success
4717 - danger
4718 - error
4719 type: string
4720 type: object
4721 description: OK
4722 headers: {}
4723 tags:
4724 - Ratelimits
4725 description: >-
4726 Using this endpoint you can edit the ratelimits for a certain mailbox.
4727 operationId: Edit mailbox ratelimits
4728 requestBody:
4729 content:
4730 application/json:
4731 schema:
4732 example:
4733 attr:
4734 rl_vlaue: "10"
4735 rl_frame: "h"
4736 items:
4737 - info@domain.tld
4738 properties:
4739 attr:
4740 properties:
4741 rl_frame:
4742 description: contains the frame for the ratelimit h,s,m
4743 type: string
4744 rl_vlaue:
4745 description: contains the rate for the ratelimit 10,20,50,1
4746 type: number
4747 type: object
4748 items:
4749 description: contains list of mailboxes you want to edit the ratelimit of
4750 type: object
4751 type: object
4752 summary: Edit mailbox ratelimits
4753 /api/v1/edit/rl-domain/:
4754 post:
4755 responses:
4756 "401":
4757 $ref: "#/components/responses/Unauthorized"
4758 "200":
4759 content:
4760 application/json:
4761 examples:
4762 response:
4763 value:
4764 - type: success
4765 - log:
4766 - ratelimit
4767 - edit
4768 - domain
4769 - object:
4770 - domain.tld
4771 rl_value: "50"
4772 rl_frame: "h"
4773 msg:
4774 - rl_saved
4775 - domain.tld
4776 schema:
4777 properties:
4778 log:
4779 description: contains request object
4780 items: {}
4781 type: array
4782 msg:
4783 items: {}
4784 type: array
4785 type:
4786 enum:
4787 - success
4788 - danger
4789 - error
4790 type: string
4791 type: object
4792 description: OK
4793 headers: {}
4794 tags:
4795 - Ratelimits
4796 description: >-
4797 Using this endpoint you can edit the ratelimits for a certain domains.
4798 operationId: Edit domain ratelimits
4799 requestBody:
4800 content:
4801 application/json:
4802 schema:
4803 example:
4804 attr:
4805 rl_vlaue: "10"
4806 rl_frame: "h"
4807 items:
4808 - domain.tld
4809 properties:
4810 attr:
4811 properties:
4812 rl_frame:
4813 description: contains the frame for the ratelimit h,s,m
4814 type: string
4815 rl_vlaue:
4816 description: contains the rate for the ratelimit 10,20,50,1
4817 type: number
4818 type: object
4819 items:
4820 description: contains list of domains you want to edit the ratelimit of
4821 type: object
4822 type: object
4823 summary: Edit domain ratelimits
4824 /api/v1/get/status/containers:
4825 get:
4826 responses:
4827 "401":
4828 $ref: "#/components/responses/Unauthorized"
4829 "200":
4830 content:
4831 application/json:
4832 examples:
4833 response:
4834 value:
4835 acme-mailcow:
4836 container: acme-mailcow
4837 image: "mailcow/acme:1.63"
4838 started_at: "2019-12-22T21:00:08.270660275Z"
4839 state: running
4840 type: info
4841 clamd-mailcow:
4842 container: clamd-mailcow
4843 image: "mailcow/clamd:1.35"
4844 started_at: "2019-12-22T21:00:01.622856172Z"
4845 state: running
4846 type: info
4847 dockerapi-mailcow:
4848 container: dockerapi-mailcow
4849 image: "mailcow/dockerapi:1.36"
4850 started_at: "2019-12-22T20:59:59.984797808Z"
4851 state: running
4852 type: info
4853 dovecot-mailcow:
4854 container: dovecot-mailcow
4855 image: "mailcow/dovecot:1.104"
4856 started_at: "2019-12-22T21:00:08.988680259Z"
4857 state: running
4858 type: info
4859 ipv6nat-mailcow:
4860 container: ipv6nat-mailcow
4861 image: robbertkl/ipv6nat
4862 started_at: "2019-12-22T21:06:37.273225445Z"
4863 state: running
4864 type: info
4865 memcached-mailcow:
4866 container: memcached-mailcow
4867 image: "memcached:alpine"
4868 started_at: "2019-12-22T20:59:58.0907785Z"
4869 state: running
4870 type: info
4871 mysql-mailcow:
4872 container: mysql-mailcow
4873 image: "mariadb:10.3"
4874 started_at: "2019-12-22T21:00:02.201937528Z"
4875 state: running
4876 type: info
4877 netfilter-mailcow:
4878 container: netfilter-mailcow
4879 image: "mailcow/netfilter:1.31"
4880 started_at: "2019-12-22T21:00:09.851559297Z"
4881 state: running
4882 type: info
4883 nginx-mailcow:
4884 container: nginx-mailcow
4885 image: "nginx:mainline-alpine"
4886 started_at: "2019-12-22T21:00:12.9843038Z"
4887 state: running
4888 type: info
4889 olefy-mailcow:
4890 container: olefy-mailcow
4891 image: "mailcow/olefy:1.2"
4892 started_at: "2019-12-22T20:59:59.676259274Z"
4893 state: running
4894 type: info
4895 php-fpm-mailcow:
4896 container: php-fpm-mailcow
4897 image: "mailcow/phpfpm:1.55"
4898 started_at: "2019-12-22T21:00:00.955808957Z"
4899 state: running
4900 type: info
4901 postfix-mailcow:
4902 container: postfix-mailcow
4903 image: "mailcow/postfix:1.44"
4904 started_at: "2019-12-22T21:00:07.186717617Z"
4905 state: running
4906 type: info
4907 redis-mailcow:
4908 container: redis-mailcow
4909 image: "redis:5-alpine"
4910 started_at: "2019-12-22T20:59:56.827166834Z"
4911 state: running
4912 type: info
4913 rspamd-mailcow:
4914 container: rspamd-mailcow
4915 image: "mailcow/rspamd:1.56"
4916 started_at: "2019-12-22T21:00:12.456075355Z"
4917 state: running
4918 type: info
4919 sogo-mailcow:
4920 container: sogo-mailcow
4921 image: "mailcow/sogo:1.65"
4922 started_at: "2019-12-22T20:59:58.382274592Z"
4923 state: running
4924 type: info
4925 solr-mailcow:
4926 container: solr-mailcow
4927 image: "mailcow/solr:1.7"
4928 started_at: "2019-12-22T20:59:59.635413798Z"
4929 state: running
4930 type: info
4931 unbound-mailcow:
4932 container: unbound-mailcow
4933 image: "mailcow/unbound:1.10"
4934 started_at: "2019-12-22T20:59:58.760595825Z"
4935 state: running
4936 type: info
4937 watchdog-mailcow:
4938 container: watchdog-mailcow
4939 image: "mailcow/watchdog:1.65"
4940 started_at: "2019-12-22T20:59:56.028660382Z"
4941 state: running
4942 type: info
4943 description: OK
4944 headers: {}
4945 tags:
4946 - Status
4947 description: >-
4948 Using this endpoint you can get the status of all containers and when
4949 hey where started and a few other details.
4950 operationId: Get container status
4951 summary: Get container status
4952 /api/v1/get/status/solr:
4953 get:
4954 responses:
4955 "401":
4956 $ref: "#/components/responses/Unauthorized"
4957 "200":
4958 content:
4959 application/json:
4960 examples:
4961 response:
4962 value:
4963 solr_documents: null
4964 solr_enabled: false
4965 solr_size: null
4966 type: info
4967 description: OK
4968 headers: {}
4969 tags:
4970 - Status
4971 description: >-
4972 Using this endpoint you can get the status of all containers and when
4973 hey where started and a few other details.
4974 operationId: Get solr status
4975 summary: Get solr status
4976 /api/v1/get/status/vmail:
4977 get:
4978 responses:
4979 "401":
4980 $ref: "#/components/responses/Unauthorized"
4981 "200":
4982 content:
4983 application/json:
4984 examples:
4985 response:
4986 value:
4987 disk: /dev/mapper/mail--vg-root
4988 total: 41G
4989 type: info
4990 used: 11G
4991 used_percent: 28%
4992 description: OK
4993 headers: {}
4994 tags:
4995 - Status
4996 description: >-
4997 Using this endpoint you can get the status of the vmail and the amount
4998 of used storage.
4999 operationId: Get vmail status
5000 summary: Get vmail status
5001 /api/v1/get/syncjobs/all/no_log:
5002 get:
5003 responses:
5004 "401":
5005 $ref: "#/components/responses/Unauthorized"
5006 "200":
5007 content:
5008 application/json:
5009 examples:
5010 response:
5011 value:
5012 - active: "1"
5013 authmd51: 0
5014 authmech1: PLAIN
5015 automap: 1
5016 created: "2019-05-22 11:37:25"
5017 custom_params: ""
5018 delete1: 0
5019 delete2: 0
5020 delete2duplicates: 1
5021 domain2: ""
5022 enc1: TLS
5023 exclude: (?i)spam|(?i)junk
5024 host1: imap.server.tld
5025 id: 1
5026 is_running: 0
5027 last_run: "2019-05-22 11:40:02"
5028 log: ""
5029 maxage: 0
5030 maxbytespersecond: "0"
5031 mins_interval: "20"
5032 modified: "2019-05-22 11:40:02"
5033 port1: 993
5034 regextrans2: ""
5035 skipcrossduplicates: 0
5036 subfolder2: External
5037 subscribeall: 1
5038 timeout1: 600
5039 timeout2: 600
5040 user1: username
5041 user2: mailbox@domain.tld
5042 description: OK
5043 headers: {}
5044 tags:
5045 - Sync jobs
5046 description: You can list all syn jobs existing in system.
5047 operationId: Get sync jobs
5048 summary: Get sync jobs
5049 "/api/v1/get/tls-policy-map/{id}":
5050 get:
5051 parameters:
5052 - description: id of entry you want to get
5053 example: all
5054 in: path
5055 name: id
5056 required: true
5057 schema:
5058 enum:
5059 - all
5060 - "1"
5061 - "2"
5062 - "5"
5063 - "10"
5064 type: string
5065 - description: e.g. api-key-string
5066 example: api-key-string
5067 in: header
5068 name: X-API-Key
5069 required: false
5070 schema:
5071 type: string
5072 responses:
5073 "401":
5074 $ref: "#/components/responses/Unauthorized"
5075 "200":
5076 content:
5077 application/json:
5078 examples:
5079 response:
5080 value:
5081 - parameters: ""
5082 active: "1"
5083 created: "2019-10-03 08:42:12"
5084 dest: mailcow.tld
5085 id: 1
5086 modified: null
5087 policy: encrypt
5088 description: OK
5089 headers: {}
5090 tags:
5091 - Outgoing TLS Policy Map Overrides
5092 description: Using this endpoint you can get all TLS policy map override maps.
5093 operationId: Get TLS Policy Map
5094 summary: Get TLS Policy Map
5095 "/api/v1/get/transport/{id}":
5096 get:
5097 parameters:
5098 - description: id of entry you want to get
5099 example: all
5100 in: path
5101 name: id
5102 required: true
5103 schema:
5104 enum:
5105 - all
5106 - "1"
5107 - "2"
5108 - "5"
5109 - "10"
5110 type: string
5111 - description: e.g. api-key-string
5112 example: api-key-string
5113 in: header
5114 name: X-API-Key
5115 required: false
5116 schema:
5117 type: string
5118 responses:
5119 "401":
5120 $ref: "#/components/responses/Unauthorized"
5121 "200":
5122 content:
5123 application/json:
5124 examples:
5125 response:
5126 value:
5127 - active: "1"
5128 destination: example.org
5129 id: 1
5130 lookup_mx: "0"
5131 nexthop: "host:25"
5132 password: supersecurepw
5133 password_short: sup...
5134 username: testuser
5135 description: OK
5136 headers: {}
5137 tags:
5138 - Routing
5139 description: Using this endpoint you can get all Transport Maps.
5140 operationId: Get Transport Maps
5141 summary: Get Transport Maps
5142 /api/v1/edit/spam-score/:
5143 post:
5144 responses:
5145 "401":
5146 $ref: "#/components/responses/Unauthorized"
5147 "200":
5148 content:
5149 application/json:
5150 examples:
5151 response:
5152 value:
5153 - type: success
5154 log:
5155 - mailbox
5156 - edit
5157 - spam_score
5158 - username:
5159 - info@domain.tld
5160 spam_score: "8,15"
5161 msg:
5162 - mailbox_modified
5163 - info@domain.tld
5164 schema:
5165 properties:
5166 log:
5167 description: contains request object
5168 items: {}
5169 type: array
5170 msg:
5171 items: {}
5172 type: array
5173 type:
5174 enum:
5175 - success
5176 - danger
5177 - error
5178 type: string
5179 type: object
5180 description: OK
5181 headers: {}
5182 tags:
5183 - Mailboxes
5184 description: >-
5185 Using this endpoint you can edit the spam filter score for a certain mailbox.
5186 operationId: Edit mailbox spam filter score
5187 requestBody:
5188 content:
5189 application/json:
5190 schema:
5191 example:
5192 - items:
5193 - info@domain.tld
5194 attr:
5195 spam_score: "8,15"
5196 summary: Edit mailbox spam filter score
5197
5198tags:
5199 - name: Domains
5200 description: You can create antispam whitelist and blacklist policies
5201 - name: Domain antispam policies
5202 description: You can edit the Domain Antispam policies
5203 - name: Mailboxes
5204 description: You can manage mailboxes
5205 - name: Aliases
5206 description: You can manage aliases
5207 - name: Sync jobs
5208 description: Using Syncjobs you can sync your mails with other email servers
5209 - name: Fordwarding Hosts
5210 description: Forwarding Hosts enable you to send mail using a relay
5211 - name: Logs
5212 description: Get all mailcow system logs
5213 - name: Queue Manager
5214 description: Manage the postfix mail queue
5215 - name: Quarantine
5216 description: Check what emails went to quarantine
5217 - name: Fail2Ban
5218 description: Manage the Netfilter fail2ban options
5219 - name: DKIM
5220 description: Manage DKIM keys
5221 - name: Domain admin
5222 description: Create or udpdate domain admin users
5223 - name: Address Rewriting
5224 description: Create BCC maps or recipient maps
5225 - name: Outgoing TLS Policy Map Overrides
5226 description: Force global TLS policys
5227 - name: oAuth Clients
5228 description: Use mailcow as a oAuth server
5229 - name: Routing
5230 description: Define your own email routes
5231 - name: Resources
5232 description: Manage ressources
5233 - name: App Passwords
5234 description: Create mailbox app passwords
5235 - name: Status
5236 description: Get the status of your cow
5237 - name: Ratelimits
5238 description: Edit domain ratelimits