openapi.yaml 159 KB

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