openapi.yaml 162 KB

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