openapi.yaml 165 KB

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