openapi.yaml 164 KB

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