openapi.yaml 186 KB

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