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