openapi.yaml 165 KB

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