openapi.yaml 185 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862
  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. user1:
  1524. description: the username of the mailbox
  1525. type: string
  1526. password:
  1527. description: the password of the mailbox
  1528. type: string
  1529. enc1:
  1530. description: the encryption method used to connect to the mailserver
  1531. type: string
  1532. mins_internal:
  1533. description: the interval in which messages should be syned
  1534. type: number
  1535. subfolder2:
  1536. description: sync into subfolder on destination (empty = do not use subfolder)
  1537. type: string
  1538. maxage:
  1539. description: only sync messages up to this age in days
  1540. type: number
  1541. maxbytespersecond:
  1542. description: max speed transfer limit for the sync
  1543. type: number
  1544. timeout1:
  1545. description: timeout for connection to remote host
  1546. type: number
  1547. timeout2:
  1548. description: timeout for connection to local host
  1549. type: number
  1550. exclude:
  1551. description: exclude objects (regex)
  1552. type: string
  1553. custom_params:
  1554. description: custom parameters
  1555. type: string
  1556. delete2duplicates:
  1557. description: delete duplicates on destination (--delete2duplicates)
  1558. type: boolean
  1559. delete1:
  1560. description: delete from source when completed (--delete1)
  1561. type: boolean
  1562. delete2:
  1563. description: delete messages on destination that are not on source (--delete2)
  1564. type: boolean
  1565. automap:
  1566. description: try to automap folders ("Sent items", "Sent" => "Sent" etc.) (--automap)
  1567. type: boolean
  1568. skipcrossduplicates:
  1569. description: skip duplicate messages across folders (first come, first serve) (--skipcrossduplicates)
  1570. type: boolean
  1571. subscribeall:
  1572. description: subscribe all folders (--subscribeall)
  1573. type: boolean
  1574. active:
  1575. description: enables or disables the sync job
  1576. type: boolean
  1577. type: object
  1578. /api/v1/add/tls-policy-map:
  1579. post:
  1580. responses:
  1581. "401":
  1582. $ref: "#/components/responses/Unauthorized"
  1583. "200":
  1584. content:
  1585. application/json:
  1586. examples:
  1587. response:
  1588. value:
  1589. - log:
  1590. - tls_policy_maps
  1591. - add
  1592. - parameters: ""
  1593. active: "1"
  1594. dest: mailcow.tld
  1595. policy: encrypt
  1596. - null
  1597. msg:
  1598. - tls_policy_map_entry_saved
  1599. - mailcow.tld
  1600. type: success
  1601. schema:
  1602. properties:
  1603. log:
  1604. description: contains request object
  1605. items: {}
  1606. type: array
  1607. msg:
  1608. items: {}
  1609. type: array
  1610. type:
  1611. enum:
  1612. - success
  1613. - danger
  1614. - error
  1615. type: string
  1616. type: object
  1617. description: OK
  1618. headers: {}
  1619. tags:
  1620. - Outgoing TLS Policy Map Overrides
  1621. description: Using this endpoint you can create a TLS policy map override.
  1622. operationId: Create TLS Policy Map
  1623. requestBody:
  1624. content:
  1625. application/json:
  1626. schema:
  1627. example:
  1628. parameters: ""
  1629. active: "1"
  1630. dest: mailcow.tld
  1631. policy: encrypt
  1632. properties:
  1633. parameters:
  1634. description: >-
  1635. custom parameters you find out more about them
  1636. [here](http://www.postfix.org/postconf.5.html#smtp_tls_policy_maps)
  1637. type: string
  1638. active:
  1639. description: 1 for a active user account 0 for a disabled user account
  1640. type: number
  1641. dest:
  1642. description: the target domain or email address
  1643. type: string
  1644. policy:
  1645. description: the policy
  1646. enum:
  1647. - none
  1648. - may
  1649. - encrypt
  1650. - dane
  1651. - "'dane"
  1652. - fingerprint
  1653. - verify
  1654. - secure
  1655. type: string
  1656. type: object
  1657. summary: Create TLS Policy Map
  1658. /api/v1/add/transport:
  1659. post:
  1660. responses:
  1661. "401":
  1662. $ref: "#/components/responses/Unauthorized"
  1663. "200":
  1664. content:
  1665. application/json:
  1666. examples:
  1667. response:
  1668. value:
  1669. - log:
  1670. - transport
  1671. - add
  1672. - active: "1"
  1673. destination: example2.org
  1674. nexthop: "host:25"
  1675. password: supersecurepw
  1676. username: testuser
  1677. msg:
  1678. - relayhost_added
  1679. - ""
  1680. type: success
  1681. schema:
  1682. properties:
  1683. log:
  1684. description: contains request object
  1685. items: {}
  1686. type: array
  1687. msg:
  1688. items: {}
  1689. type: array
  1690. type:
  1691. enum:
  1692. - success
  1693. - danger
  1694. - error
  1695. type: string
  1696. type: object
  1697. description: OK
  1698. headers: {}
  1699. tags:
  1700. - Routing
  1701. description: Using this endpoint you can create Sender-Dependent Transports.
  1702. operationId: Create Transport Maps
  1703. requestBody:
  1704. content:
  1705. application/json:
  1706. schema:
  1707. example:
  1708. active: "1"
  1709. destination: example.org
  1710. nexthop: "host:25"
  1711. password: supersecurepw
  1712. username: testuser
  1713. properties:
  1714. active:
  1715. description: 1 for a active transport map 0 for a disabled transport map
  1716. type: number
  1717. destination:
  1718. type: string
  1719. nexthop:
  1720. type: string
  1721. password:
  1722. description: the password for the smtp user
  1723. type: string
  1724. username:
  1725. description: the username used to authenticate
  1726. type: string
  1727. type: object
  1728. summary: Create Transport Maps
  1729. /api/v1/delete/alias:
  1730. post:
  1731. responses:
  1732. "401":
  1733. $ref: "#/components/responses/Unauthorized"
  1734. "200":
  1735. content:
  1736. application/json:
  1737. examples:
  1738. response:
  1739. value:
  1740. - log:
  1741. - mailbox
  1742. - delete
  1743. - alias
  1744. - id:
  1745. - "6"
  1746. - "9"
  1747. - null
  1748. msg:
  1749. - alias_removed
  1750. - alias@domain.tld
  1751. type: success
  1752. - log:
  1753. - mailbox
  1754. - delete
  1755. - alias
  1756. - id:
  1757. - "6"
  1758. - "9"
  1759. - null
  1760. msg:
  1761. - alias_removed
  1762. - alias2@domain.tld
  1763. type: success
  1764. schema:
  1765. properties:
  1766. log:
  1767. description: contains request object
  1768. items: {}
  1769. type: array
  1770. msg:
  1771. items: {}
  1772. type: array
  1773. type:
  1774. enum:
  1775. - success
  1776. - danger
  1777. - error
  1778. type: string
  1779. type: object
  1780. description: OK
  1781. headers: {}
  1782. tags:
  1783. - Aliases
  1784. description: You can delete one or more aliases.
  1785. operationId: Delete alias
  1786. requestBody:
  1787. content:
  1788. application/json:
  1789. schema:
  1790. items:
  1791. example: "6"
  1792. type: string
  1793. type: array
  1794. summary: Delete alias
  1795. /api/v1/delete/app-passwd:
  1796. post:
  1797. responses:
  1798. "401":
  1799. $ref: "#/components/responses/Unauthorized"
  1800. "200":
  1801. content:
  1802. application/json:
  1803. examples:
  1804. response:
  1805. value:
  1806. - log:
  1807. - app_passwd
  1808. - delete
  1809. - id:
  1810. - "2"
  1811. msg:
  1812. - app_passwd_removed
  1813. - "2"
  1814. type: success
  1815. schema:
  1816. properties:
  1817. log:
  1818. description: contains request object
  1819. items: {}
  1820. type: array
  1821. msg:
  1822. items: {}
  1823. type: array
  1824. type:
  1825. enum:
  1826. - success
  1827. - danger
  1828. - error
  1829. type: string
  1830. type: object
  1831. description: OK
  1832. headers: {}
  1833. tags:
  1834. - App Passwords
  1835. description: Using this endpoint you can delete a single app password.
  1836. operationId: Delete App Password
  1837. requestBody:
  1838. content:
  1839. application/json:
  1840. schema:
  1841. example:
  1842. - "1"
  1843. properties:
  1844. items:
  1845. description: contains list of app passwords you want to delete
  1846. type: object
  1847. type: object
  1848. summary: Delete App Password
  1849. /api/v1/delete/bcc:
  1850. post:
  1851. responses:
  1852. "401":
  1853. $ref: "#/components/responses/Unauthorized"
  1854. "200":
  1855. content:
  1856. application/json:
  1857. examples:
  1858. response:
  1859. value:
  1860. - log:
  1861. - bcc
  1862. - delete
  1863. - id:
  1864. - "4"
  1865. - null
  1866. msg:
  1867. - bcc_deleted
  1868. - "4"
  1869. type: success
  1870. schema:
  1871. properties:
  1872. log:
  1873. description: contains request object
  1874. items: {}
  1875. type: array
  1876. msg:
  1877. items: {}
  1878. type: array
  1879. type:
  1880. enum:
  1881. - success
  1882. - danger
  1883. - error
  1884. type: string
  1885. type: object
  1886. description: OK
  1887. headers: {}
  1888. tags:
  1889. - Address Rewriting
  1890. description: >-
  1891. Using this endpoint you can delete a BCC map, for this you have to know
  1892. its ID. You can get the ID using the GET method.
  1893. operationId: Delete BCC Map
  1894. requestBody:
  1895. content:
  1896. application/json:
  1897. schema:
  1898. example:
  1899. - "3"
  1900. properties:
  1901. items:
  1902. description: contains list of bcc maps you want to delete
  1903. type: object
  1904. type: object
  1905. summary: Delete BCC Map
  1906. /api/v1/delete/dkim:
  1907. post:
  1908. responses:
  1909. "401":
  1910. $ref: "#/components/responses/Unauthorized"
  1911. "200":
  1912. content:
  1913. application/json:
  1914. examples:
  1915. response:
  1916. value:
  1917. - log:
  1918. - dkim
  1919. - delete
  1920. - domains:
  1921. - mailcow.tld
  1922. msg:
  1923. - dkim_removed
  1924. - mailcow.tld
  1925. type: success
  1926. schema:
  1927. properties:
  1928. log:
  1929. description: contains request object
  1930. items: {}
  1931. type: array
  1932. msg:
  1933. items: {}
  1934. type: array
  1935. type:
  1936. enum:
  1937. - success
  1938. - danger
  1939. - error
  1940. type: string
  1941. type: object
  1942. description: OK
  1943. headers: {}
  1944. tags:
  1945. - DKIM
  1946. description: Using this endpoint a existing DKIM Key can be deleted
  1947. operationId: Delete DKIM Key
  1948. requestBody:
  1949. content:
  1950. application/json:
  1951. schema:
  1952. items:
  1953. example:
  1954. - mailcow.tld
  1955. type: string
  1956. type: array
  1957. summary: Delete DKIM Key
  1958. /api/v1/delete/domain:
  1959. post:
  1960. responses:
  1961. "401":
  1962. $ref: "#/components/responses/Unauthorized"
  1963. "200":
  1964. content:
  1965. application/json:
  1966. examples:
  1967. response:
  1968. value:
  1969. - log:
  1970. - mailbox
  1971. - delete
  1972. - domain
  1973. - domain:
  1974. - domain.tld
  1975. - domain2.tld
  1976. - null
  1977. msg:
  1978. - domain_removed
  1979. - domain.tld
  1980. type: success
  1981. - log:
  1982. - mailbox
  1983. - delete
  1984. - domain
  1985. - domain:
  1986. - domain.tld
  1987. - domain2.tld
  1988. - null
  1989. msg:
  1990. - domain_removed
  1991. - domain2.tld
  1992. type: success
  1993. schema:
  1994. type: array
  1995. items:
  1996. type: object
  1997. properties:
  1998. log:
  1999. description: contains request object
  2000. items: {}
  2001. type: array
  2002. msg:
  2003. items: {}
  2004. type: array
  2005. type:
  2006. enum:
  2007. - success
  2008. - danger
  2009. - error
  2010. type: string
  2011. description: OK
  2012. headers: {}
  2013. tags:
  2014. - Domains
  2015. description: You can delete one or more domains.
  2016. operationId: Delete domain
  2017. requestBody:
  2018. content:
  2019. application/json:
  2020. schema:
  2021. type: object
  2022. example:
  2023. - domain.tld
  2024. - domain2.tld
  2025. properties:
  2026. items:
  2027. type: array
  2028. items:
  2029. type: string
  2030. summary: Delete domain
  2031. /api/v1/delete/domain-admin:
  2032. post:
  2033. responses:
  2034. "401":
  2035. $ref: "#/components/responses/Unauthorized"
  2036. "200":
  2037. content:
  2038. application/json:
  2039. examples:
  2040. response:
  2041. value:
  2042. - log:
  2043. - domain_admin
  2044. - delete
  2045. - username:
  2046. - testadmin
  2047. msg:
  2048. - domain_admin_removed
  2049. - testadmin
  2050. type: success
  2051. schema:
  2052. properties:
  2053. log:
  2054. description: contains request object
  2055. items: {}
  2056. type: array
  2057. msg:
  2058. items: {}
  2059. type: array
  2060. type:
  2061. enum:
  2062. - success
  2063. - danger
  2064. - error
  2065. type: string
  2066. type: object
  2067. description: OK
  2068. headers: {}
  2069. tags:
  2070. - Domain admin
  2071. description: Using this endpoint a existing Domain Admin user can be deleted.
  2072. operationId: Delete Domain Admin
  2073. requestBody:
  2074. content:
  2075. application/json:
  2076. schema:
  2077. example:
  2078. - testadmin
  2079. properties:
  2080. items:
  2081. description: contains list of usernames of the users you want to delete
  2082. type: object
  2083. type: object
  2084. summary: Delete Domain Admin
  2085. /api/v1/delete/domain-policy:
  2086. post:
  2087. responses:
  2088. "401":
  2089. $ref: "#/components/responses/Unauthorized"
  2090. "200":
  2091. content:
  2092. application/json:
  2093. examples:
  2094. response:
  2095. value:
  2096. - log:
  2097. - policy
  2098. - delete
  2099. - domain
  2100. - prefid:
  2101. - "1"
  2102. - "2"
  2103. msg:
  2104. - item_deleted
  2105. - "1"
  2106. type: success
  2107. - log:
  2108. - policy
  2109. - delete
  2110. - domain
  2111. - prefid:
  2112. - "1"
  2113. - "2"
  2114. msg:
  2115. - item_deleted
  2116. - "2"
  2117. type: success
  2118. schema:
  2119. properties:
  2120. log:
  2121. description: contains request object
  2122. items: {}
  2123. type: array
  2124. msg:
  2125. items: {}
  2126. type: array
  2127. type:
  2128. enum:
  2129. - success
  2130. - danger
  2131. - error
  2132. type: string
  2133. type: object
  2134. description: OK
  2135. headers: {}
  2136. tags:
  2137. - Domain antispam policies
  2138. description: You can delete one o more domain policies.
  2139. operationId: Delete domain policy
  2140. requestBody:
  2141. content:
  2142. application/json:
  2143. schema:
  2144. example:
  2145. - "1"
  2146. - "2"
  2147. properties:
  2148. items:
  2149. description: contains list of domain policys you want to delete
  2150. type: object
  2151. type: object
  2152. summary: Delete domain policy
  2153. /api/v1/delete/fwdhost:
  2154. post:
  2155. responses:
  2156. "401":
  2157. $ref: "#/components/responses/Unauthorized"
  2158. "200":
  2159. content:
  2160. application/json:
  2161. examples:
  2162. response:
  2163. value:
  2164. - log:
  2165. - fwdhost
  2166. - delete
  2167. - forwardinghost:
  2168. - 5.1.76.202
  2169. - "2a00:f820:417::202"
  2170. msg:
  2171. - forwarding_host_removed
  2172. - 5.1.76.202
  2173. type: success
  2174. - log:
  2175. - fwdhost
  2176. - delete
  2177. - forwardinghost:
  2178. - 5.1.76.202
  2179. - "2a00:f820:417::202"
  2180. msg:
  2181. - forwarding_host_removed
  2182. - "2a00:f820:417::202"
  2183. type: success
  2184. schema:
  2185. properties:
  2186. log:
  2187. description: contains request object
  2188. items: {}
  2189. type: array
  2190. msg:
  2191. items: {}
  2192. type: array
  2193. type:
  2194. enum:
  2195. - success
  2196. - danger
  2197. - error
  2198. type: string
  2199. type: object
  2200. description: OK
  2201. headers: {}
  2202. tags:
  2203. - Fordwarding Hosts
  2204. description: >-
  2205. Using this endpoint you can delete a forwarding host, in order to do so
  2206. you need to know the IP of the host.
  2207. operationId: Delete Forward Host
  2208. requestBody:
  2209. content:
  2210. application/json:
  2211. schema:
  2212. example:
  2213. - 5.1.76.202
  2214. - "2a00:f820:417::202"
  2215. properties:
  2216. ip:
  2217. description: contains the ip of the fowarding host you want to delete
  2218. type: string
  2219. type: object
  2220. summary: Delete Forward Host
  2221. /api/v1/delete/mailbox:
  2222. post:
  2223. responses:
  2224. "401":
  2225. $ref: "#/components/responses/Unauthorized"
  2226. "200":
  2227. content:
  2228. application/json:
  2229. examples:
  2230. response:
  2231. value:
  2232. - log:
  2233. - mailbox
  2234. - delete
  2235. - mailbox
  2236. - username:
  2237. - info@domain.tld
  2238. - sales@domain.tld
  2239. - null
  2240. msg:
  2241. - mailbox_removed
  2242. - info@domain.tld
  2243. type: success
  2244. - log:
  2245. - mailbox
  2246. - delete
  2247. - mailbox
  2248. - username:
  2249. - info@domain.tld
  2250. - sales@domain.tld
  2251. - null
  2252. msg:
  2253. - mailbox_removed
  2254. - sales@domain.tld
  2255. type: success
  2256. schema:
  2257. properties:
  2258. log:
  2259. description: contains request object
  2260. items: {}
  2261. type: array
  2262. msg:
  2263. items: {}
  2264. type: array
  2265. type:
  2266. enum:
  2267. - success
  2268. - danger
  2269. - error
  2270. type: string
  2271. type: object
  2272. description: OK
  2273. headers: {}
  2274. tags:
  2275. - Mailboxes
  2276. description: You can delete one or more mailboxes.
  2277. operationId: Delete mailbox
  2278. requestBody:
  2279. content:
  2280. application/json:
  2281. schema:
  2282. example:
  2283. - info@domain.tld
  2284. - sales@domain.tld
  2285. properties:
  2286. items:
  2287. description: contains list of mailboxes you want to delete
  2288. type: object
  2289. type: object
  2290. summary: Delete mailbox
  2291. /api/v1/delete/mailq:
  2292. post:
  2293. responses:
  2294. "401":
  2295. $ref: "#/components/responses/Unauthorized"
  2296. "200":
  2297. content:
  2298. application/json:
  2299. examples:
  2300. response:
  2301. value:
  2302. msg: Task completed
  2303. type: success
  2304. description: OK
  2305. headers: {}
  2306. tags:
  2307. - Queue Manager
  2308. description: >-
  2309. Using this API you can delete the current mail queue. This will delete
  2310. all mails in it.
  2311. This API uses the command: `postsuper -d`
  2312. operationId: Delete Queue
  2313. requestBody:
  2314. content:
  2315. application/json:
  2316. schema:
  2317. example:
  2318. action: super_delete
  2319. properties:
  2320. action:
  2321. description: use super_delete to delete the mail queue
  2322. type: string
  2323. type: object
  2324. summary: Delete Queue
  2325. /api/v1/delete/oauth2-client:
  2326. post:
  2327. responses:
  2328. "401":
  2329. $ref: "#/components/responses/Unauthorized"
  2330. "200":
  2331. content:
  2332. application/json:
  2333. examples:
  2334. response:
  2335. value:
  2336. - log:
  2337. - oauth2
  2338. - delete
  2339. - client
  2340. - id:
  2341. - "1"
  2342. msg:
  2343. - items_deleted
  2344. - "1"
  2345. type: success
  2346. schema:
  2347. properties:
  2348. log:
  2349. description: contains request object
  2350. items: {}
  2351. type: array
  2352. msg:
  2353. items: {}
  2354. type: array
  2355. type:
  2356. enum:
  2357. - success
  2358. - danger
  2359. - error
  2360. type: string
  2361. type: object
  2362. description: OK
  2363. headers: {}
  2364. tags:
  2365. - oAuth Clients
  2366. description: >-
  2367. Using this endpoint you can delete a oAuth client, for this you have to
  2368. know its ID. You can get the ID using the GET method.
  2369. operationId: Delete oAuth Client
  2370. requestBody:
  2371. content:
  2372. application/json:
  2373. schema:
  2374. example:
  2375. - "3"
  2376. properties:
  2377. items:
  2378. description: contains list of oAuth clients you want to delete
  2379. type: object
  2380. type: object
  2381. summary: Delete oAuth Client
  2382. /api/v1/delete/qitem:
  2383. post:
  2384. responses:
  2385. "401":
  2386. $ref: "#/components/responses/Unauthorized"
  2387. "200":
  2388. content:
  2389. application/json:
  2390. examples:
  2391. response:
  2392. value:
  2393. - log:
  2394. - quarantine
  2395. - delete
  2396. - id:
  2397. - "33"
  2398. msg:
  2399. - item_deleted
  2400. - "33"
  2401. type: success
  2402. schema:
  2403. properties:
  2404. log:
  2405. description: contains request object
  2406. items: {}
  2407. type: array
  2408. msg:
  2409. items: {}
  2410. type: array
  2411. type:
  2412. enum:
  2413. - success
  2414. - danger
  2415. - error
  2416. type: string
  2417. type: object
  2418. description: OK
  2419. headers: {}
  2420. tags:
  2421. - Quarantine
  2422. description: >-
  2423. Using this endpoint you can delete a email from quarantine, for this you
  2424. have to know its ID. You can get the ID using the GET method.
  2425. operationId: Delete mails in Quarantine
  2426. requestBody:
  2427. content:
  2428. application/json:
  2429. schema:
  2430. example:
  2431. - "33"
  2432. properties:
  2433. items:
  2434. description: contains list of emails you want to delete
  2435. type: object
  2436. type: object
  2437. summary: Delete mails in Quarantine
  2438. /api/v1/delete/recipient_map:
  2439. post:
  2440. responses:
  2441. "401":
  2442. $ref: "#/components/responses/Unauthorized"
  2443. "200":
  2444. content:
  2445. application/json:
  2446. examples:
  2447. response:
  2448. value:
  2449. - log:
  2450. - recipient_map
  2451. - delete
  2452. - id:
  2453. - "1"
  2454. - null
  2455. msg:
  2456. - recipient_map_entry_deleted
  2457. - "1"
  2458. type: success
  2459. schema:
  2460. properties:
  2461. log:
  2462. description: contains request object
  2463. items: {}
  2464. type: array
  2465. msg:
  2466. items: {}
  2467. type: array
  2468. type:
  2469. enum:
  2470. - success
  2471. - danger
  2472. - error
  2473. type: string
  2474. type: object
  2475. description: OK
  2476. headers: {}
  2477. tags:
  2478. - Address Rewriting
  2479. description: >-
  2480. Using this endpoint you can delete a recipient map, for this you have to
  2481. know its ID. You can get the ID using the GET method.
  2482. operationId: Delete Recipient Map
  2483. requestBody:
  2484. content:
  2485. application/json:
  2486. schema:
  2487. example:
  2488. - "1"
  2489. properties:
  2490. items:
  2491. description: contains list of recipient maps you want to delete
  2492. type: object
  2493. type: object
  2494. summary: Delete Recipient Map
  2495. /api/v1/delete/relayhost:
  2496. post:
  2497. responses:
  2498. "401":
  2499. $ref: "#/components/responses/Unauthorized"
  2500. "200":
  2501. content:
  2502. application/json:
  2503. examples:
  2504. response:
  2505. value:
  2506. - log:
  2507. - relayhost
  2508. - delete
  2509. - id:
  2510. - "1"
  2511. msg:
  2512. - relayhost_removed
  2513. - "1"
  2514. type: success
  2515. schema:
  2516. properties:
  2517. log:
  2518. description: contains request object
  2519. items: {}
  2520. type: array
  2521. msg:
  2522. items: {}
  2523. type: array
  2524. type:
  2525. enum:
  2526. - success
  2527. - danger
  2528. - error
  2529. type: string
  2530. type: object
  2531. description: OK
  2532. headers: {}
  2533. tags:
  2534. - Routing
  2535. description: >-
  2536. Using this endpoint you can delete a Sender-Dependent Transport, for
  2537. this you have to know its ID. You can get the ID using the GET method.
  2538. operationId: Delete Sender-Dependent Transports
  2539. requestBody:
  2540. content:
  2541. application/json:
  2542. schema:
  2543. example:
  2544. - "1"
  2545. properties:
  2546. items:
  2547. description: >-
  2548. contains list of Sender-Dependent Transport you want to
  2549. delete
  2550. type: object
  2551. type: object
  2552. summary: Delete Sender-Dependent Transports
  2553. /api/v1/delete/resource:
  2554. post:
  2555. responses:
  2556. "401":
  2557. $ref: "#/components/responses/Unauthorized"
  2558. "200":
  2559. content:
  2560. application/json:
  2561. examples:
  2562. response:
  2563. value:
  2564. - log:
  2565. - mailbox
  2566. - delete
  2567. - resource
  2568. - name:
  2569. - test@mailcow.tld
  2570. - null
  2571. msg:
  2572. - resource_removed
  2573. - test@mailcow.tld
  2574. type: success
  2575. schema:
  2576. properties:
  2577. log:
  2578. description: contains request object
  2579. items: {}
  2580. type: array
  2581. msg:
  2582. items: {}
  2583. type: array
  2584. type:
  2585. enum:
  2586. - success
  2587. - danger
  2588. - error
  2589. type: string
  2590. type: object
  2591. description: OK
  2592. headers: {}
  2593. tags:
  2594. - Resources
  2595. description: >-
  2596. Using this endpoint you can delete a Resources, for this you have to
  2597. know its ID. You can get the ID using the GET method.
  2598. operationId: Delete Resources
  2599. requestBody:
  2600. content:
  2601. application/json:
  2602. schema:
  2603. example:
  2604. - test@mailcow.tld
  2605. properties:
  2606. items:
  2607. description: contains list of Resources you want to delete
  2608. type: object
  2609. type: object
  2610. summary: Delete Resources
  2611. /api/v1/delete/syncjob:
  2612. post:
  2613. responses:
  2614. "401":
  2615. $ref: "#/components/responses/Unauthorized"
  2616. "200":
  2617. content:
  2618. application/json:
  2619. examples:
  2620. response:
  2621. value:
  2622. log:
  2623. - entity
  2624. - action
  2625. - object
  2626. msg:
  2627. - message
  2628. - entity name
  2629. type: success
  2630. schema:
  2631. properties:
  2632. log:
  2633. description: contains request object
  2634. items: {}
  2635. type: array
  2636. msg:
  2637. items: {}
  2638. type: array
  2639. type:
  2640. enum:
  2641. - success
  2642. - danger
  2643. - error
  2644. type: string
  2645. type: object
  2646. description: OK
  2647. headers: {}
  2648. tags:
  2649. - Sync jobs
  2650. description: You can delete one or more sync jobs.
  2651. operationId: Delete sync job
  2652. requestBody:
  2653. content:
  2654. application/json:
  2655. schema:
  2656. example:
  2657. - "6"
  2658. - "9"
  2659. properties:
  2660. items:
  2661. description: contains list of aliases you want to delete
  2662. type: object
  2663. type: object
  2664. summary: Delete sync job
  2665. /api/v1/delete/tls-policy-map:
  2666. post:
  2667. responses:
  2668. "401":
  2669. $ref: "#/components/responses/Unauthorized"
  2670. "200":
  2671. content:
  2672. application/json:
  2673. examples:
  2674. response:
  2675. value:
  2676. - log:
  2677. - tls_policy_maps
  2678. - delete
  2679. - id:
  2680. - "1"
  2681. - null
  2682. msg:
  2683. - tls_policy_map_entry_deleted
  2684. - "1"
  2685. type: success
  2686. schema:
  2687. properties:
  2688. log:
  2689. description: contains request object
  2690. items: {}
  2691. type: array
  2692. msg:
  2693. items: {}
  2694. type: array
  2695. type:
  2696. enum:
  2697. - success
  2698. - danger
  2699. - error
  2700. type: string
  2701. type: object
  2702. description: OK
  2703. headers: {}
  2704. tags:
  2705. - Outgoing TLS Policy Map Overrides
  2706. description: >-
  2707. Using this endpoint you can delete a TLS Policy Map, for this you have
  2708. to know its ID. You can get the ID using the GET method.
  2709. operationId: Delete TLS Policy Map
  2710. requestBody:
  2711. content:
  2712. application/json:
  2713. schema:
  2714. example:
  2715. - "3"
  2716. properties:
  2717. items:
  2718. description: contains list of tls policy maps you want to delete
  2719. type: object
  2720. type: object
  2721. summary: Delete TLS Policy Map
  2722. /api/v1/delete/transport:
  2723. post:
  2724. responses:
  2725. "401":
  2726. $ref: "#/components/responses/Unauthorized"
  2727. "200":
  2728. content:
  2729. application/json:
  2730. examples:
  2731. response:
  2732. value:
  2733. - log:
  2734. - transport
  2735. - delete
  2736. - id:
  2737. - "1"
  2738. msg:
  2739. - relayhost_removed
  2740. - "1"
  2741. type: success
  2742. schema:
  2743. properties:
  2744. log:
  2745. description: contains request object
  2746. items: {}
  2747. type: array
  2748. msg:
  2749. items: {}
  2750. type: array
  2751. type:
  2752. enum:
  2753. - success
  2754. - danger
  2755. - error
  2756. type: string
  2757. type: object
  2758. description: OK
  2759. headers: {}
  2760. tags:
  2761. - Routing
  2762. description: >-
  2763. Using this endpoint you can delete a Transport Maps, for this you have
  2764. to know its ID. You can get the ID using the GET method.
  2765. operationId: Delete Transport Maps
  2766. requestBody:
  2767. content:
  2768. application/json:
  2769. schema:
  2770. example:
  2771. - "1"
  2772. properties:
  2773. items:
  2774. description: contains list of transport maps you want to delete
  2775. type: object
  2776. type: object
  2777. summary: Delete Transport Maps
  2778. "/api/v1/delete/mailbox/tag/{mailbox}":
  2779. post:
  2780. parameters:
  2781. - description: name of mailbox
  2782. in: path
  2783. name: mailbox
  2784. example: info@domain.tld
  2785. required: true
  2786. schema:
  2787. type: string
  2788. responses:
  2789. "401":
  2790. $ref: "#/components/responses/Unauthorized"
  2791. "200":
  2792. content:
  2793. application/json:
  2794. examples:
  2795. response:
  2796. value:
  2797. - log:
  2798. - mailbox
  2799. - delete
  2800. - tags_mailbox
  2801. - tags:
  2802. - tag1
  2803. - tag2
  2804. mailbox: info@domain.tld
  2805. - null
  2806. msg:
  2807. - mailbox_modified
  2808. - info@domain.tld
  2809. type: success
  2810. schema:
  2811. properties:
  2812. log:
  2813. description: contains request object
  2814. items: {}
  2815. type: array
  2816. msg:
  2817. items: {}
  2818. type: array
  2819. type:
  2820. enum:
  2821. - success
  2822. - danger
  2823. - error
  2824. type: string
  2825. type: object
  2826. description: OK
  2827. headers: {}
  2828. tags:
  2829. - Mailboxes
  2830. description: You can delete one or more mailbox tags.
  2831. operationId: Delete mailbox tags
  2832. requestBody:
  2833. content:
  2834. application/json:
  2835. schema:
  2836. example:
  2837. - tag1
  2838. - tag2
  2839. properties:
  2840. items:
  2841. description: contains list of mailboxes you want to delete
  2842. type: object
  2843. type: object
  2844. summary: Delete mailbox tags
  2845. "/api/v1/delete/domain/tag/{domain}":
  2846. post:
  2847. parameters:
  2848. - description: name of domain
  2849. in: path
  2850. name: domain
  2851. example: domain.tld
  2852. required: true
  2853. schema:
  2854. type: string
  2855. responses:
  2856. "401":
  2857. $ref: "#/components/responses/Unauthorized"
  2858. "200":
  2859. content:
  2860. application/json:
  2861. examples:
  2862. response:
  2863. value:
  2864. - log:
  2865. - mailbox
  2866. - delete
  2867. - tags_domain
  2868. - tags:
  2869. - tag1
  2870. - tag2
  2871. domain: domain.tld
  2872. - null
  2873. msg:
  2874. - domain_modified
  2875. - domain.tld
  2876. type: success
  2877. schema:
  2878. properties:
  2879. log:
  2880. description: contains request object
  2881. items: {}
  2882. type: array
  2883. msg:
  2884. items: {}
  2885. type: array
  2886. type:
  2887. enum:
  2888. - success
  2889. - danger
  2890. - error
  2891. type: string
  2892. type: object
  2893. description: OK
  2894. headers: {}
  2895. tags:
  2896. - Domains
  2897. description: You can delete one or more domain tags.
  2898. operationId: Delete domain tags
  2899. requestBody:
  2900. content:
  2901. application/json:
  2902. schema:
  2903. example:
  2904. - tag1
  2905. - tag2
  2906. properties:
  2907. items:
  2908. description: contains list of domains you want to delete
  2909. type: object
  2910. type: object
  2911. summary: Delete domain tags
  2912. /api/v1/edit/alias:
  2913. post:
  2914. responses:
  2915. "401":
  2916. $ref: "#/components/responses/Unauthorized"
  2917. "200":
  2918. content:
  2919. application/json:
  2920. examples:
  2921. response:
  2922. value:
  2923. - log:
  2924. - mailbox
  2925. - edit
  2926. - alias
  2927. - active: "1"
  2928. address: alias@domain.tld
  2929. goto: destination@domain.tld
  2930. id:
  2931. - "6"
  2932. private_comment: private comment
  2933. public_comment: public comment
  2934. - null
  2935. msg:
  2936. - alias_modified
  2937. - alias@domain.tld
  2938. type: success
  2939. schema:
  2940. properties:
  2941. log:
  2942. description: contains request object
  2943. items: {}
  2944. type: array
  2945. msg:
  2946. items: {}
  2947. type: array
  2948. type:
  2949. enum:
  2950. - success
  2951. - danger
  2952. - error
  2953. type: string
  2954. type: object
  2955. description: OK
  2956. headers: {}
  2957. tags:
  2958. - Aliases
  2959. description: >-
  2960. You can update one or more aliases per request. You can also send just
  2961. attributes you want to change
  2962. operationId: Update alias
  2963. requestBody:
  2964. content:
  2965. application/json:
  2966. schema:
  2967. example:
  2968. attr:
  2969. active: "1"
  2970. address: alias@domain.tld
  2971. goto: destination@domain.tld
  2972. private_comment: private comment
  2973. public_comment: public comment
  2974. items: ["6"]
  2975. properties:
  2976. attr:
  2977. properties:
  2978. active:
  2979. description: is alias active or not
  2980. type: boolean
  2981. address:
  2982. description: 'alias address, for catchall use "@domain.tld"'
  2983. type: string
  2984. goto:
  2985. description: "destination address, comma separated"
  2986. type: string
  2987. goto_ham:
  2988. description: learn as ham
  2989. type: boolean
  2990. goto_null:
  2991. description: silently ignore
  2992. type: boolean
  2993. goto_spam:
  2994. description: learn as spam
  2995. type: boolean
  2996. private_comment:
  2997. type: string
  2998. public_comment:
  2999. type: string
  3000. sogo_visible:
  3001. description: toggle visibility as selectable sender in SOGo
  3002. type: boolean
  3003. type: object
  3004. items:
  3005. description: contains list of aliases you want update
  3006. type: object
  3007. type: object
  3008. summary: Update alias
  3009. /api/v1/edit/domain:
  3010. post:
  3011. responses:
  3012. "401":
  3013. $ref: "#/components/responses/Unauthorized"
  3014. "200":
  3015. content:
  3016. application/json:
  3017. schema:
  3018. type: array
  3019. items:
  3020. type: object
  3021. properties:
  3022. log:
  3023. type: array
  3024. description: contains request object
  3025. items: {}
  3026. msg:
  3027. type: array
  3028. items: {}
  3029. type:
  3030. enum:
  3031. - success
  3032. - danger
  3033. - error
  3034. type: string
  3035. description: OK
  3036. headers: {}
  3037. tags:
  3038. - Domains
  3039. description: >-
  3040. You can update one or more domains per request. You can also send just
  3041. attributes you want to change.
  3042. Example: You can add domain names to items list and in attr object just
  3043. include `"active": "0"` to deactivate domains.
  3044. operationId: Update domain
  3045. requestBody:
  3046. content:
  3047. application/json:
  3048. schema:
  3049. example:
  3050. attr:
  3051. active: "1"
  3052. aliases: "400"
  3053. backupmx: "1"
  3054. defquota: "3072"
  3055. description: domain description
  3056. gal: "1"
  3057. mailboxes: "10"
  3058. maxquota: "10240"
  3059. quota: "10240"
  3060. relay_all_recipients: "0"
  3061. relayhost: "2"
  3062. tags: ["tag3", "tag4"]
  3063. items: domain.tld
  3064. properties:
  3065. attr:
  3066. properties:
  3067. active:
  3068. description: is domain active or not
  3069. type: boolean
  3070. aliases:
  3071. description: limit count of aliases associated with this domain
  3072. type: number
  3073. backupmx:
  3074. description: relay domain or not
  3075. type: boolean
  3076. defquota:
  3077. description: predefined mailbox quota in `add mailbox` form
  3078. type: number
  3079. description:
  3080. description: Description of domain
  3081. type: string
  3082. gal:
  3083. description: >-
  3084. is domain global address list active or not, it enables
  3085. shared contacts accross domain in SOGo webmail
  3086. type: boolean
  3087. mailboxes:
  3088. description: limit count of mailboxes associated with this domain
  3089. type: number
  3090. maxquota:
  3091. description: maximum quota per mailbox
  3092. type: number
  3093. quota:
  3094. description: maximum quota for this domain (for all mailboxes in sum)
  3095. type: number
  3096. relay_all_recipients:
  3097. description: >-
  3098. if not, them you have to create "dummy" mailbox for each
  3099. address to relay
  3100. type: boolean
  3101. relay_unknown_only:
  3102. description: Relay non-existing mailboxes only. Existing mailboxes will be delivered locally.
  3103. type: boolean
  3104. relayhost:
  3105. description: id of relayhost
  3106. type: number
  3107. rl_frame:
  3108. enum:
  3109. - s
  3110. - m
  3111. - h
  3112. - d
  3113. type: string
  3114. rl_value:
  3115. description: rate limit value
  3116. type: number
  3117. tags:
  3118. description: tags for this Domain
  3119. type: array
  3120. items:
  3121. type: string
  3122. type: object
  3123. items:
  3124. description: contains list of domain names you want update
  3125. type: array
  3126. items:
  3127. type: string
  3128. type: object
  3129. summary: Update domain
  3130. /api/v1/edit/domain/footer:
  3131. post:
  3132. responses:
  3133. "401":
  3134. $ref: "#/components/responses/Unauthorized"
  3135. "200":
  3136. content:
  3137. application/json:
  3138. examples:
  3139. response:
  3140. value:
  3141. - log:
  3142. - mailbox
  3143. - edit
  3144. - domain_wide_footer
  3145. - domains:
  3146. - mailcow.tld
  3147. html: "<br>foo {= foo =}"
  3148. plain: "<foo {= foo =}"
  3149. mbox_exclude:
  3150. - moo@mailcow.tld
  3151. - null
  3152. msg:
  3153. - domain_footer_modified
  3154. - mailcow.tld
  3155. type: success
  3156. schema:
  3157. properties:
  3158. log:
  3159. description: contains request object
  3160. items: {}
  3161. type: array
  3162. msg:
  3163. items: {}
  3164. type: array
  3165. type:
  3166. enum:
  3167. - success
  3168. - danger
  3169. - error
  3170. type: string
  3171. type: object
  3172. description: OK
  3173. headers: {}
  3174. tags:
  3175. - Domains
  3176. description: >-
  3177. You can update the footer of one or more domains per request.
  3178. operationId: Update domain wide footer
  3179. requestBody:
  3180. content:
  3181. application/json:
  3182. schema:
  3183. example:
  3184. attr:
  3185. html: "<br>foo {= foo =}"
  3186. plain: "foo {= foo =}"
  3187. mbox_exclude:
  3188. - moo@mailcow.tld
  3189. items: mailcow.tld
  3190. properties:
  3191. attr:
  3192. properties:
  3193. html:
  3194. description: Footer text in HTML format
  3195. type: string
  3196. plain:
  3197. description: Footer text in PLAIN text format
  3198. type: string
  3199. mbox_exclude:
  3200. description: Array of mailboxes to exclude from domain wide footer
  3201. type: object
  3202. type: object
  3203. items:
  3204. description: contains a list of domain names where you want to update the footer
  3205. type: array
  3206. items:
  3207. type: string
  3208. type: object
  3209. summary: Update domain wide footer
  3210. /api/v1/edit/fail2ban:
  3211. post:
  3212. responses:
  3213. "401":
  3214. $ref: "#/components/responses/Unauthorized"
  3215. "200":
  3216. content:
  3217. "*/*":
  3218. schema:
  3219. properties:
  3220. log:
  3221. description: contains request object
  3222. items: {}
  3223. type: array
  3224. msg:
  3225. items: {}
  3226. type: array
  3227. type:
  3228. enum:
  3229. - success
  3230. - danger
  3231. - error
  3232. type: string
  3233. type: object
  3234. description: OK
  3235. headers: {}
  3236. tags:
  3237. - Fail2Ban
  3238. description: >-
  3239. Using this endpoint you can edit the Fail2Ban config and black or
  3240. whitelist new ips.
  3241. operationId: Edit Fail2Ban
  3242. requestBody:
  3243. content:
  3244. application/json:
  3245. schema:
  3246. example:
  3247. attr:
  3248. ban_time: "86400"
  3249. ban_time_increment: "1"
  3250. blacklist: "10.100.6.5/32,10.100.8.4/32"
  3251. max_attempts: "5"
  3252. max_ban_time: "86400"
  3253. netban_ipv4: "24"
  3254. netban_ipv6: "64"
  3255. retry_window: "600"
  3256. whitelist: mailcow.tld
  3257. items: none
  3258. properties:
  3259. attr:
  3260. description: array containing the fail2ban settings
  3261. properties:
  3262. backlist:
  3263. description: the backlisted ips or hostnames separated by comma
  3264. type: string
  3265. ban_time:
  3266. description: the time an ip should be banned
  3267. type: number
  3268. ban_time_increment:
  3269. description: if the time of the ban should increase each time
  3270. type: boolean
  3271. max_attempts:
  3272. description: the maximum numbe of wrong logins before a ip is banned
  3273. type: number
  3274. max_ban_time:
  3275. description: the maximum time an ip should be banned
  3276. type: number
  3277. netban_ipv4:
  3278. description: the networks mask to ban for ipv4
  3279. type: number
  3280. netban_ipv6:
  3281. description: the networks mask to ban for ipv6
  3282. type: number
  3283. retry_window:
  3284. description: >-
  3285. the maximum time in which a ip as to login with false
  3286. credentials to be banned
  3287. type: number
  3288. whitelist:
  3289. description: whitelisted ips or hostnames sepereated by comma
  3290. type: string
  3291. type: object
  3292. items:
  3293. description: has to be none
  3294. type: object
  3295. summary: Edit Fail2Ban
  3296. /api/v1/edit/mailbox:
  3297. post:
  3298. responses:
  3299. "401":
  3300. $ref: "#/components/responses/Unauthorized"
  3301. "200":
  3302. content:
  3303. application/json:
  3304. examples:
  3305. response:
  3306. value:
  3307. - log:
  3308. - mailbox
  3309. - edit
  3310. - mailbox
  3311. - active: "1"
  3312. force_pw_update: "0"
  3313. name: Full name
  3314. password: "*"
  3315. password2: "*"
  3316. quota: "3072"
  3317. sender_acl:
  3318. - default
  3319. - info@domain2.tld
  3320. - domain3.tld
  3321. - "*"
  3322. sogo_access: "1"
  3323. username:
  3324. - info@domain.tld
  3325. tags: ["tag3", "tag4"]
  3326. - null
  3327. msg:
  3328. - mailbox_modified
  3329. - info@domain.tld
  3330. type: success
  3331. schema:
  3332. properties:
  3333. log:
  3334. description: contains request object
  3335. items: {}
  3336. type: array
  3337. msg:
  3338. items: {}
  3339. type: array
  3340. type:
  3341. enum:
  3342. - success
  3343. - danger
  3344. - error
  3345. type: string
  3346. type: object
  3347. description: OK
  3348. headers: {}
  3349. tags:
  3350. - Mailboxes
  3351. description: >-
  3352. You can update one or more mailboxes per request. You can also send just
  3353. attributes you want to change
  3354. operationId: Update mailbox
  3355. requestBody:
  3356. content:
  3357. application/json:
  3358. schema:
  3359. example:
  3360. attr:
  3361. active: "1"
  3362. force_pw_update: "0"
  3363. name: Full name
  3364. password: ""
  3365. password2: ""
  3366. quota: "3072"
  3367. sender_acl:
  3368. - default
  3369. - info@domain2.tld
  3370. - domain3.tld
  3371. - "*"
  3372. sogo_access: "1"
  3373. tags: ["tag3", "tag4"]
  3374. items:
  3375. - info@domain.tld
  3376. properties:
  3377. attr:
  3378. properties:
  3379. active:
  3380. description: is mailbox active or not
  3381. type: boolean
  3382. force_pw_update:
  3383. description: force user to change password on next login
  3384. type: boolean
  3385. name:
  3386. description: Full name of the mailbox user
  3387. type: string
  3388. password2:
  3389. description: new mailbox password for confirmation
  3390. type: string
  3391. password:
  3392. description: new mailbox password
  3393. type: string
  3394. quota:
  3395. description: mailbox quota
  3396. type: number
  3397. sender_acl:
  3398. description: list of allowed send from addresses
  3399. type: object
  3400. sogo_access:
  3401. description: is access to SOGo webmail active or not
  3402. type: boolean
  3403. type: object
  3404. items:
  3405. description: contains list of mailboxes you want update
  3406. type: object
  3407. type: object
  3408. summary: Update mailbox
  3409. /api/v1/edit/mailbox/custom-attribute:
  3410. post:
  3411. responses:
  3412. "401":
  3413. $ref: "#/components/responses/Unauthorized"
  3414. "200":
  3415. content:
  3416. application/json:
  3417. examples:
  3418. response:
  3419. value:
  3420. - log:
  3421. - mailbox
  3422. - edit
  3423. - mailbox_custom_attribute
  3424. - mailboxes:
  3425. - moo@mailcow.tld
  3426. attribute:
  3427. - role
  3428. - foo
  3429. value:
  3430. - cow
  3431. - bar
  3432. - null
  3433. msg:
  3434. - mailbox_modified
  3435. - moo@mailcow.tld
  3436. type: success
  3437. schema:
  3438. properties:
  3439. log:
  3440. description: contains request object
  3441. items: {}
  3442. type: array
  3443. msg:
  3444. items: {}
  3445. type: array
  3446. type:
  3447. enum:
  3448. - success
  3449. - danger
  3450. - error
  3451. type: string
  3452. type: object
  3453. description: OK
  3454. headers: {}
  3455. tags:
  3456. - Mailboxes
  3457. description: >-
  3458. You can update custom attributes of one or more mailboxes per request.
  3459. operationId: Update mailbox custom attributes
  3460. requestBody:
  3461. content:
  3462. application/json:
  3463. schema:
  3464. example:
  3465. attr:
  3466. attribute:
  3467. - role
  3468. - foo
  3469. value:
  3470. - cow
  3471. - bar
  3472. items:
  3473. - moo@mailcow.tld
  3474. properties:
  3475. attr:
  3476. properties:
  3477. attribute:
  3478. description: Array of attribute keys
  3479. type: object
  3480. value:
  3481. description: Array of attribute values
  3482. type: object
  3483. type: object
  3484. items:
  3485. description: contains list of mailboxes you want update
  3486. type: object
  3487. type: object
  3488. summary: Update mailbox custom attributes
  3489. /api/v1/edit/mailq:
  3490. post:
  3491. responses:
  3492. "401":
  3493. $ref: "#/components/responses/Unauthorized"
  3494. "200":
  3495. content:
  3496. application/json:
  3497. examples:
  3498. response:
  3499. value:
  3500. msg: Task completed
  3501. type: success
  3502. description: OK
  3503. headers: {}
  3504. tags:
  3505. - Queue Manager
  3506. description: >-
  3507. Using this API you can flush the current mail queue. This will try to
  3508. deliver all mails currently in it.
  3509. This API uses the command: `postqueue -f`
  3510. operationId: Flush Queue
  3511. requestBody:
  3512. content:
  3513. application/json:
  3514. schema:
  3515. example:
  3516. action: flush
  3517. properties:
  3518. action:
  3519. description: use flush to flush the mail queue
  3520. type: string
  3521. type: object
  3522. summary: Flush Queue
  3523. /api/v1/edit/pushover:
  3524. post:
  3525. responses:
  3526. "401":
  3527. $ref: "#/components/responses/Unauthorized"
  3528. "200":
  3529. content:
  3530. application/json:
  3531. examples:
  3532. response:
  3533. value:
  3534. - log:
  3535. - pushover
  3536. - edit
  3537. - active: "0"
  3538. evaluate_x_prio: "0"
  3539. key: 21e8918e1jksdjcpis712
  3540. only_x_prio: "0"
  3541. sound: "pushover"
  3542. senders: ""
  3543. senders_regex: ""
  3544. text: ""
  3545. title: Mail
  3546. token: 9023e2ohcwed27d1idu2
  3547. username:
  3548. - info@domain.tld
  3549. msg: pushover_settings_edited
  3550. type: success
  3551. schema:
  3552. properties:
  3553. log:
  3554. description: contains request object
  3555. items: {}
  3556. type: array
  3557. msg:
  3558. items: {}
  3559. type: array
  3560. type:
  3561. enum:
  3562. - success
  3563. - danger
  3564. - error
  3565. type: string
  3566. type: object
  3567. description: OK
  3568. headers: {}
  3569. tags:
  3570. - Mailboxes
  3571. description: >-
  3572. Using this endpoint it is possible to update the pushover settings for
  3573. mailboxes
  3574. operationId: Update Pushover settings
  3575. requestBody:
  3576. content:
  3577. application/json:
  3578. schema:
  3579. example:
  3580. attr:
  3581. active: "0"
  3582. evaluate_x_prio: "0"
  3583. key: 21e8918e1jksdjcpis712
  3584. only_x_prio: "0"
  3585. sound: "pushover"
  3586. senders: ""
  3587. senders_regex: ""
  3588. text: ""
  3589. title: Mail
  3590. token: 9023e2ohcwed27d1idu2
  3591. items: info@domain.tld
  3592. properties:
  3593. attr:
  3594. properties:
  3595. active:
  3596. description: Enables pushover 1 disable pushover 0
  3597. type: number
  3598. evaluate_x_prio:
  3599. description: Send the Push with High priority
  3600. type: number
  3601. key:
  3602. description: Pushover key
  3603. type: string
  3604. only_x_prio:
  3605. description: Only send push for prio mails
  3606. type: number
  3607. sound:
  3608. description: Set notification sound
  3609. type: string
  3610. senders:
  3611. description: Only send push for emails from these senders
  3612. type: string
  3613. senders_regex:
  3614. description: Regex to match senders for which a push will be send
  3615. type: string
  3616. text:
  3617. description: Custom push noficiation text
  3618. type: string
  3619. title:
  3620. description: Push title
  3621. type: string
  3622. token:
  3623. description: Pushover token
  3624. type: string
  3625. type: object
  3626. items:
  3627. description: contains list of mailboxes you want to delete
  3628. type: object
  3629. type: object
  3630. summary: Update Pushover settings
  3631. /api/v1/edit/quarantine_notification:
  3632. post:
  3633. responses:
  3634. "401":
  3635. $ref: "#/components/responses/Unauthorized"
  3636. "200":
  3637. description: OK
  3638. headers: {}
  3639. tags:
  3640. - Mailboxes
  3641. description: You can update one or more mailboxes per request.
  3642. operationId: Quarantine Notifications
  3643. requestBody:
  3644. content:
  3645. application/json:
  3646. schema:
  3647. example:
  3648. attr:
  3649. quarantine_notification: hourly
  3650. items:
  3651. anyOf:
  3652. - mailbox1@domain.tld
  3653. - mailbox2@domain.tld
  3654. properties:
  3655. attr:
  3656. properties:
  3657. quarantine_notification:
  3658. description: recurrence
  3659. enum:
  3660. - hourly
  3661. - daily
  3662. - weekly
  3663. - never
  3664. type: string
  3665. type: object
  3666. items:
  3667. description: >-
  3668. contains list of mailboxes you want set qurantine
  3669. notifications
  3670. type: object
  3671. type: object
  3672. summary: Quarantine Notifications
  3673. /api/v1/edit/syncjob:
  3674. post:
  3675. responses:
  3676. "401":
  3677. $ref: "#/components/responses/Unauthorized"
  3678. "200":
  3679. content:
  3680. application/json:
  3681. examples:
  3682. response:
  3683. value:
  3684. log:
  3685. - entity
  3686. - action
  3687. - object
  3688. msg:
  3689. - message
  3690. - entity name
  3691. type: success
  3692. schema:
  3693. properties:
  3694. log:
  3695. description: contains request object
  3696. items: {}
  3697. type: array
  3698. msg:
  3699. items: {}
  3700. type: array
  3701. type:
  3702. enum:
  3703. - success
  3704. - danger
  3705. - error
  3706. type: string
  3707. type: object
  3708. description: OK
  3709. headers: {}
  3710. tags:
  3711. - Sync jobs
  3712. description: >-
  3713. You can update one or more sync jobs per request. You can also send just
  3714. attributes you want to change.
  3715. operationId: Update sync job
  3716. requestBody:
  3717. content:
  3718. application/json:
  3719. schema:
  3720. example:
  3721. attr:
  3722. active: "1"
  3723. automap: "1"
  3724. custom_params: ""
  3725. delete1: "0"
  3726. delete2: "0"
  3727. delete2duplicates: "1"
  3728. enc1: SSL
  3729. exclude: (?i)spam|(?i)junk
  3730. host1: imap.server.tld
  3731. maxage: "0"
  3732. maxbytespersecond: "0"
  3733. mins_interval: "20"
  3734. password1: supersecret
  3735. port1: "993"
  3736. skipcrossduplicates: "0"
  3737. subfolder2: External
  3738. subscribeall: "1"
  3739. timeout1: "600"
  3740. timeout2: "600"
  3741. user1: username
  3742. items: "1"
  3743. properties:
  3744. attr:
  3745. properties:
  3746. active:
  3747. description: Is sync job active
  3748. type: boolean
  3749. automap:
  3750. description: >-
  3751. Try to automap folders ("Sent items", "Sent" => "Sent"
  3752. etc.)
  3753. type: boolean
  3754. custom_params:
  3755. description: Custom parameters passed to imapsync command
  3756. type: string
  3757. delete1:
  3758. description: Delete from source when completed
  3759. type: boolean
  3760. delete2:
  3761. description: Delete messages on destination that are not on source
  3762. type: boolean
  3763. delete2duplicates:
  3764. description: Delete duplicates on destination
  3765. type: boolean
  3766. enc1:
  3767. description: Encryption
  3768. enum:
  3769. - TLS
  3770. - SSL
  3771. - PLAIN
  3772. type: string
  3773. exclude:
  3774. description: Exclude objects (regex)
  3775. type: string
  3776. host1:
  3777. description: Hostname
  3778. type: string
  3779. maxage:
  3780. description: >-
  3781. Maximum age of messages in days that will be polled from
  3782. remote (0 = ignore age)
  3783. type: number
  3784. maxbytespersecond:
  3785. description: Max. bytes per second (0 = unlimited)
  3786. type: number
  3787. mins_interval:
  3788. description: Interval (min)
  3789. type: number
  3790. password1:
  3791. description: Password
  3792. type: string
  3793. port1:
  3794. description: Port
  3795. type: string
  3796. skipcrossduplicates:
  3797. description: >-
  3798. Skip duplicate messages across folders (first come,
  3799. first serve)
  3800. type: boolean
  3801. subfolder2:
  3802. description: >-
  3803. Sync into subfolder on destination (empty = do not use
  3804. subfolder)
  3805. type: string
  3806. subscribeall:
  3807. description: Subscribe all folders
  3808. type: boolean
  3809. timeout1:
  3810. description: Timeout for connection to remote host
  3811. type: number
  3812. timeout2:
  3813. description: Timeout for connection to local host
  3814. type: number
  3815. user1:
  3816. description: Username
  3817. type: string
  3818. type: object
  3819. items:
  3820. description: contains list of aliases you want update
  3821. type: object
  3822. type: object
  3823. summary: Update sync job
  3824. /api/v1/edit/user-acl:
  3825. post:
  3826. responses:
  3827. "401":
  3828. $ref: "#/components/responses/Unauthorized"
  3829. "200":
  3830. content:
  3831. application/json:
  3832. examples:
  3833. response:
  3834. value:
  3835. - log:
  3836. - acl
  3837. - edit
  3838. - user
  3839. - user_acl:
  3840. - spam_alias
  3841. - tls_policy
  3842. - spam_score
  3843. - spam_policy
  3844. - delimiter_action
  3845. - syncjobs
  3846. - eas_reset
  3847. - quarantine
  3848. - sogo_profile_reset
  3849. - quarantine_attachments
  3850. - quarantine_notification
  3851. - app_passwds
  3852. - pushover
  3853. username:
  3854. - info@domain.tld
  3855. msg:
  3856. - acl_saved
  3857. - info@domain.tld
  3858. type: success
  3859. schema:
  3860. properties:
  3861. log:
  3862. description: contains request object
  3863. items: {}
  3864. type: array
  3865. msg:
  3866. items: {}
  3867. type: array
  3868. type:
  3869. enum:
  3870. - success
  3871. - danger
  3872. - error
  3873. type: string
  3874. type: object
  3875. description: OK
  3876. headers: {}
  3877. tags:
  3878. - Mailboxes
  3879. description: Using this endpoints its possible to update the ACL's for mailboxes
  3880. operationId: Update mailbox ACL
  3881. requestBody:
  3882. content:
  3883. application/json:
  3884. schema:
  3885. example:
  3886. attr:
  3887. user_acl:
  3888. - spam_alias
  3889. - tls_policy
  3890. - spam_score
  3891. - spam_policy
  3892. - delimiter_action
  3893. - syncjobs
  3894. - eas_reset
  3895. - quarantine
  3896. - sogo_profile_reset
  3897. - quarantine_attachments
  3898. - quarantine_notification
  3899. - app_passwds
  3900. - pushover
  3901. items: info@domain.tld
  3902. properties:
  3903. attr:
  3904. properties:
  3905. user_acl:
  3906. description: contains a list of active user acls
  3907. type: object
  3908. type: object
  3909. items:
  3910. description: contains list of mailboxes you want to delete
  3911. type: object
  3912. type: object
  3913. summary: Update mailbox ACL
  3914. "/api/v1/get/alias/{id}":
  3915. get:
  3916. parameters:
  3917. - description: id of entry you want to get
  3918. example: all
  3919. in: path
  3920. name: id
  3921. required: true
  3922. schema:
  3923. enum:
  3924. - all
  3925. - "1"
  3926. - "2"
  3927. - "5"
  3928. - "10"
  3929. type: string
  3930. - description: e.g. api-key-string
  3931. example: api-key-string
  3932. in: header
  3933. name: X-API-Key
  3934. required: false
  3935. schema:
  3936. type: string
  3937. responses:
  3938. "401":
  3939. $ref: "#/components/responses/Unauthorized"
  3940. "200":
  3941. content:
  3942. application/json:
  3943. examples:
  3944. response:
  3945. value:
  3946. - active: "1"
  3947. address: alias@domain.tld
  3948. created: "2019-04-04 19:29:49"
  3949. domain: domain.tld
  3950. goto: destination@domain.tld
  3951. id: 6
  3952. in_primary_domain: ""
  3953. is_catch_all: 0
  3954. modified: null
  3955. private_comment: null
  3956. public_comment: null
  3957. - active: "1"
  3958. address: "@domain.tld"
  3959. created: "2019-04-27 13:42:39"
  3960. domain: domain.tld
  3961. goto: destination@domain.tld
  3962. id: 10
  3963. in_primary_domain: ""
  3964. is_catch_all: 1
  3965. modified: null
  3966. private_comment: null
  3967. public_comment: null
  3968. description: OK
  3969. headers: {}
  3970. tags:
  3971. - Aliases
  3972. description: You can list mailbox aliases existing in system.
  3973. operationId: Get aliases
  3974. summary: Get aliases
  3975. "/api/v1/get/time_limited_aliases/{mailbox}":
  3976. get:
  3977. parameters:
  3978. - description: mailbox you want to get aliasses from
  3979. example: domain.tld
  3980. in: path
  3981. schema:
  3982. type: string
  3983. name: mailbox
  3984. required: true
  3985. - description: e.g. api-key-string
  3986. example: api-key-string
  3987. in: header
  3988. name: X-API-Key
  3989. required: false
  3990. schema:
  3991. type: string
  3992. responses:
  3993. "401":
  3994. $ref: "#/components/responses/Unauthorized"
  3995. "200":
  3996. content:
  3997. application/json:
  3998. examples:
  3999. response:
  4000. value:
  4001. - address: alias@domain.tld
  4002. goto: destination@domain.tld
  4003. validity: 1668251246
  4004. created: "2021-11-12 12:07:26"
  4005. modified: null
  4006. description: OK
  4007. headers: {}
  4008. tags:
  4009. - Aliases
  4010. description: You can list time limited mailbox aliases existing in system.
  4011. operationId: Get time limited aliases
  4012. summary: Get time limited aliases
  4013. "/api/v1/get/app-passwd/all/{mailbox}":
  4014. get:
  4015. parameters:
  4016. - description: mailbox of entry you want to get
  4017. example: hello@mailcow.email
  4018. in: path
  4019. name: mailbox
  4020. required: true
  4021. schema:
  4022. enum:
  4023. - hello@mailcow.email
  4024. type: string
  4025. - description: e.g. api-key-string
  4026. example: api-key-string
  4027. in: header
  4028. name: X-API-Key
  4029. required: false
  4030. schema:
  4031. type: string
  4032. responses:
  4033. "401":
  4034. $ref: "#/components/responses/Unauthorized"
  4035. "200":
  4036. content:
  4037. application/json:
  4038. examples:
  4039. response:
  4040. value:
  4041. - active: "1"
  4042. created: "2019-12-21 16:04:55"
  4043. domain: mailcow.email
  4044. id: 2
  4045. mailbox: hello@mailcow.email
  4046. modified: null
  4047. name: emclient
  4048. description: OK
  4049. headers: {}
  4050. tags:
  4051. - App Passwords
  4052. description: >-
  4053. Using this endpoint you can get all app passwords from a specific
  4054. mailbox.
  4055. operationId: Get App Password
  4056. summary: Get App Password
  4057. "/api/v1/get/bcc/{id}":
  4058. get:
  4059. parameters:
  4060. - description: id of entry you want to get
  4061. example: all
  4062. in: path
  4063. name: id
  4064. required: true
  4065. schema:
  4066. enum:
  4067. - all
  4068. - "1"
  4069. - "2"
  4070. - "5"
  4071. - "10"
  4072. type: string
  4073. - description: e.g. api-key-string
  4074. example: api-key-string
  4075. in: header
  4076. name: X-API-Key
  4077. required: false
  4078. schema:
  4079. type: string
  4080. responses:
  4081. "401":
  4082. $ref: "#/components/responses/Unauthorized"
  4083. "200":
  4084. content:
  4085. application/json:
  4086. examples:
  4087. response:
  4088. value:
  4089. - active: "1"
  4090. bcc_dest: bcc@awesomecow.tld
  4091. created: "2019-10-02 21:44:34"
  4092. domain: mailcow.tld
  4093. id: 3
  4094. local_dest: "@mailcow.tld"
  4095. modified: null
  4096. type: sender
  4097. description: OK
  4098. headers: {}
  4099. tags:
  4100. - Address Rewriting
  4101. description: Using this endpoint you can get all BCC maps.
  4102. operationId: Get BCC Map
  4103. summary: Get BCC Map
  4104. "/api/v1/get/dkim/{domain}":
  4105. get:
  4106. parameters:
  4107. - description: name of domain
  4108. in: path
  4109. name: domain
  4110. required: true
  4111. schema:
  4112. type: string
  4113. - description: e.g. api-key-string
  4114. example: api-key-string
  4115. in: header
  4116. name: X-API-Key
  4117. required: false
  4118. schema:
  4119. type: string
  4120. responses:
  4121. "401":
  4122. $ref: "#/components/responses/Unauthorized"
  4123. "200":
  4124. content:
  4125. application/json:
  4126. examples:
  4127. response:
  4128. value:
  4129. dkim_selector: dkim
  4130. dkim_txt: >-
  4131. v=DKIM1;k=rsa;t=s;s=email;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA21tUSjyasQy/hJmVjPnlRGfzx6TPhYj8mXY9DVOzSAE64Gddw/GnE/GcCR6WXNT23u9q4zPnz1IPoNt5kFOps8vg/iNqrcH++494noaZuYyFPPFnebkfryO4EvEyxC/c66qts+gnOUml+M8uv5WObBJld2gG12jLwFM0263J/N6J8LuUsaXOB2uCIfx8Nf4zjuJ6Ieez2uyHNK5dXjDLfKA4mTr+EEK6W6e34M4KN1liWM6r9Oy5S1FlLrD42VpURxxBZtBiEtaJPEKSQuk6GQz8ihu7W20Yr53tyCdaORu8dhxXVUWVf+GjuuMEdAmQCjYkarXdYCrt56Psw703kwIDAQAB
  4132. length: "2048"
  4133. privkey: ""
  4134. pubkey: >-
  4135. MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA21tUSjyasQy/hJmVjPnlRGfzx6TPhYj8mXY9DVOzSAE64Gddw/GnE/GcCR6WXNT23u9q4zPnz1IPoNt5kFOps8vg/iNqrcH++494noaZuYyFPPFnebkfryO4EvEyxC/c66qts+gnOUml+M8uv5WObBJld2gG12jLwFM0263J/N6J8LuUsaXOB2uCIfx8Nf4zjuJ6Ieez2uyHNK5dXjDLfKA4mTr+EEK6W6e34M4KN1liWM6r9Oy5S1FlLrD42VpURxxBZtBiEtaJPEKSQuk6GQz8ihu7W20Yr53tyCdaORu8dhxXVUWVf+GjuuMEdAmQCjYkarXdYCrt56Psw703kwIDAQAB
  4136. description: OK
  4137. headers: {}
  4138. tags:
  4139. - DKIM
  4140. description: >-
  4141. Using this endpoint you can get the DKIM public key for a specific
  4142. domain.
  4143. operationId: Get DKIM Key
  4144. summary: Get DKIM Key
  4145. /api/v1/get/domain-admin/all:
  4146. get:
  4147. responses:
  4148. "401":
  4149. $ref: "#/components/responses/Unauthorized"
  4150. "200":
  4151. content:
  4152. application/json:
  4153. examples:
  4154. response:
  4155. value:
  4156. - active: "1"
  4157. created: "2019-10-02 10:29:41"
  4158. selected_domains:
  4159. - mailcow.tld
  4160. tfa_active: "0"
  4161. unselected_domains:
  4162. - awesomemailcow.de
  4163. - mailcowisgreat.de
  4164. username: testadmin
  4165. description: OK
  4166. headers: {}
  4167. tags:
  4168. - Domain admin
  4169. description: ""
  4170. operationId: Get Domain Admins
  4171. summary: Get Domain Admins
  4172. "/api/v1/get/domain/{id}":
  4173. get:
  4174. parameters:
  4175. - description: id of entry you want to get
  4176. example: all
  4177. in: path
  4178. name: id
  4179. required: true
  4180. schema:
  4181. enum:
  4182. - all
  4183. - mailcow.tld
  4184. type: string
  4185. - description: comma seperated list of tags to filter by
  4186. example: "tag1,tag2"
  4187. in: query
  4188. name: tags
  4189. required: false
  4190. schema:
  4191. type: string
  4192. - description: e.g. api-key-string
  4193. example: api-key-string
  4194. in: header
  4195. name: X-API-Key
  4196. required: false
  4197. schema:
  4198. type: string
  4199. responses:
  4200. "401":
  4201. $ref: "#/components/responses/Unauthorized"
  4202. "200":
  4203. content:
  4204. application/json:
  4205. examples:
  4206. response:
  4207. value:
  4208. - active: "1"
  4209. aliases_in_domain: 0
  4210. aliases_left: 400
  4211. backupmx: "0"
  4212. bytes_total: "5076666944"
  4213. def_new_mailbox_quota: 3221225472
  4214. def_quota_for_mbox: 3221225472
  4215. description: Some description
  4216. domain_name: domain.tld
  4217. gal: "0"
  4218. max_new_mailbox_quota: 10737418240
  4219. max_num_aliases_for_domain: 400
  4220. max_num_mboxes_for_domain: 10
  4221. max_quota_for_domain: 10737418240
  4222. max_quota_for_mbox: 10737418240
  4223. mboxes_in_domain: 0
  4224. mboxes_left: 10
  4225. msgs_total: "172440"
  4226. quota_used_in_domain: "0"
  4227. relay_all_recipients: "0"
  4228. relayhost: "0"
  4229. rl: false
  4230. tags: ["tag1", "tag2"]
  4231. - active: "1"
  4232. aliases_in_domain: 0
  4233. aliases_left: 400
  4234. backupmx: "1"
  4235. bytes_total: "5076666944"
  4236. def_new_mailbox_quota: 3221225472
  4237. def_quota_for_mbox: 3221225472
  4238. description: domain description
  4239. domain_name: domain2.tld
  4240. gal: "0"
  4241. max_new_mailbox_quota: 10737418240
  4242. max_num_aliases_for_domain: 400
  4243. max_num_mboxes_for_domain: 10
  4244. max_quota_for_domain: 10737418240
  4245. max_quota_for_mbox: 10737418240
  4246. mboxes_in_domain: 0
  4247. mboxes_left: 10
  4248. msgs_total: "172440"
  4249. quota_used_in_domain: "0"
  4250. relay_all_recipients: "0"
  4251. relayhost: "0"
  4252. rl: false
  4253. tags: ["tag3", "tag4"]
  4254. description: OK
  4255. headers: {}
  4256. tags:
  4257. - Domains
  4258. description: You can list all domains existing in system.
  4259. operationId: Get domains
  4260. summary: Get domains
  4261. /api/v1/get/fail2ban:
  4262. get:
  4263. responses:
  4264. "401":
  4265. $ref: "#/components/responses/Unauthorized"
  4266. "200":
  4267. content:
  4268. application/json:
  4269. examples:
  4270. response:
  4271. value:
  4272. ban_time: 604800
  4273. ban_time_increment: 1
  4274. blacklist: |-
  4275. 45.82.153.37/32
  4276. 92.118.38.52/32
  4277. max_attempts: 1
  4278. max_ban_time: 604800
  4279. netban_ipv4: 32
  4280. netban_ipv6: 128
  4281. perm_bans:
  4282. - 45.82.153.37/32
  4283. - 92.118.38.52/32
  4284. retry_window: 7200
  4285. whitelist: 1.1.1.1
  4286. description: OK
  4287. headers: {}
  4288. tags:
  4289. - Fail2Ban
  4290. description: Gets the current Fail2Ban configuration.
  4291. operationId: Get Fail2Ban Config
  4292. summary: Get Fail2Ban Config
  4293. /api/v1/get/fwdhost/all:
  4294. get:
  4295. responses:
  4296. "401":
  4297. $ref: "#/components/responses/Unauthorized"
  4298. "200":
  4299. content:
  4300. application/json:
  4301. examples:
  4302. response:
  4303. value:
  4304. - host: 5.1.76.202
  4305. keep_spam: "yes"
  4306. source: hosted.mailcow.de
  4307. - host: "2a00:f820:417::202"
  4308. keep_spam: "yes"
  4309. source: hosted.mailcow.de
  4310. description: OK
  4311. headers: {}
  4312. tags:
  4313. - Fordwarding Hosts
  4314. description: You can list all Forwarding Hosts in your mailcow.
  4315. operationId: Get Forwarding Hosts
  4316. summary: Get Forwarding Hosts
  4317. "/api/v1/get/logs/acme/{count}":
  4318. get:
  4319. parameters:
  4320. - description: Number of logs to return
  4321. in: path
  4322. name: count
  4323. required: true
  4324. schema:
  4325. type: number
  4326. - description: e.g. api-key-string
  4327. example: api-key-string
  4328. in: header
  4329. name: X-API-Key
  4330. required: false
  4331. schema:
  4332. type: string
  4333. responses:
  4334. "401":
  4335. $ref: "#/components/responses/Unauthorized"
  4336. "200":
  4337. content:
  4338. application/json:
  4339. examples:
  4340. response:
  4341. value:
  4342. - message: >-
  4343. Certificate validation done, neither changed nor due for
  4344. renewal, sleeping for another day.
  4345. time: "1569927728"
  4346. description: OK
  4347. headers: {}
  4348. tags:
  4349. - Logs
  4350. description: >-
  4351. This Api endpoint lists all ACME logs from issued Lets Enctypts
  4352. certificates.
  4353. Tip: You can limit how many logs you want to get by using `/<count>` at
  4354. the end of the api url.
  4355. operationId: Get ACME logs
  4356. summary: Get ACME logs
  4357. "/api/v1/get/logs/api/{count}":
  4358. get:
  4359. parameters:
  4360. - description: Number of logs to return
  4361. in: path
  4362. name: count
  4363. required: true
  4364. schema:
  4365. type: number
  4366. - description: e.g. api-key-string
  4367. example: api-key-string
  4368. in: header
  4369. name: X-API-Key
  4370. required: false
  4371. schema:
  4372. type: string
  4373. responses:
  4374. "401":
  4375. $ref: "#/components/responses/Unauthorized"
  4376. "200":
  4377. content:
  4378. application/json:
  4379. examples:
  4380. response:
  4381. value:
  4382. - data: ""
  4383. method: GET
  4384. remote: 1.1.1.1
  4385. time: 1569939001
  4386. uri: /api/v1/get/logs/api/2
  4387. description: OK
  4388. headers: {}
  4389. tags:
  4390. - Logs
  4391. description: >-
  4392. This Api endpoint lists all Api logs.
  4393. Tip: You can limit how many logs you want to get by using `/<count>` at
  4394. the end of the api url.
  4395. operationId: Get Api logs
  4396. summary: Get Api logs
  4397. "/api/v1/get/logs/autodiscover/{count}":
  4398. get:
  4399. parameters:
  4400. - description: Number of logs to return
  4401. in: path
  4402. name: count
  4403. required: true
  4404. schema:
  4405. type: number
  4406. - description: e.g. api-key-string
  4407. example: api-key-string
  4408. in: header
  4409. name: X-API-Key
  4410. required: false
  4411. schema:
  4412. type: string
  4413. responses:
  4414. "401":
  4415. $ref: "#/components/responses/Unauthorized"
  4416. "200":
  4417. content:
  4418. application/json:
  4419. examples:
  4420. response:
  4421. value:
  4422. - service: activesync
  4423. time: 1569684212
  4424. ua: >-
  4425. Microsoft Office/16.0 (Windows NT 6.2; MAPICPL
  4426. 16.0.11328; Pro)
  4427. user: awesome@mailcow.de
  4428. description: OK
  4429. headers: {}
  4430. tags:
  4431. - Logs
  4432. description: >-
  4433. This Api endpoint lists all Autodiscover logs.
  4434. Tip: You can limit how many logs you want to get by using `/<count>` at
  4435. the end of the api url.
  4436. operationId: Get Autodiscover logs
  4437. summary: Get Autodiscover logs
  4438. "/api/v1/get/logs/dovecot/{count}":
  4439. get:
  4440. parameters:
  4441. - description: Number of logs to return
  4442. in: path
  4443. name: count
  4444. required: true
  4445. schema:
  4446. type: number
  4447. - description: e.g. api-key-string
  4448. example: api-key-string
  4449. in: header
  4450. name: X-API-Key
  4451. required: false
  4452. schema:
  4453. type: string
  4454. responses:
  4455. "401":
  4456. $ref: "#/components/responses/Unauthorized"
  4457. "200":
  4458. content:
  4459. application/json:
  4460. examples:
  4461. response:
  4462. value:
  4463. - message: >-
  4464. managesieve-login: Disconnected (no auth attempts in 0
  4465. secs): user=<>, rip=172.22.1.3, lip=172.22.1.250
  4466. priority: info
  4467. program: dovecot
  4468. time: "1569938740"
  4469. description: OK
  4470. headers: {}
  4471. tags:
  4472. - Logs
  4473. description: >-
  4474. This Api endpoint lists all Dovecot logs.
  4475. Tip: You can limit how many logs you want to get by using `/<count>` at
  4476. the end of the api url.
  4477. operationId: Get Dovecot logs
  4478. summary: Get Dovecot logs
  4479. "/api/v1/get/logs/netfilter/{count}":
  4480. get:
  4481. parameters:
  4482. - description: Number of logs to return
  4483. in: path
  4484. name: count
  4485. required: true
  4486. schema:
  4487. type: number
  4488. - description: e.g. api-key-string
  4489. example: api-key-string
  4490. in: header
  4491. name: X-API-Key
  4492. required: false
  4493. schema:
  4494. type: string
  4495. responses:
  4496. "401":
  4497. $ref: "#/components/responses/Unauthorized"
  4498. "200":
  4499. content:
  4500. application/json:
  4501. examples:
  4502. response:
  4503. value:
  4504. - message: "Whitelist was changed, it has 1 entries"
  4505. priority: info
  4506. time: 1569754911
  4507. - message: Add host/network 1.1.1.1/32 to blacklist
  4508. priority: crit
  4509. time: 1569754911
  4510. description: OK
  4511. headers: {}
  4512. tags:
  4513. - Logs
  4514. description: >-
  4515. This Api endpoint lists all Netfilter logs.
  4516. Tip: You can limit how many logs you want to get by using `/<count>` at
  4517. the end of the api url.
  4518. operationId: Get Netfilter logs
  4519. summary: Get Netfilter logs
  4520. "/api/v1/get/logs/postfix/{count}":
  4521. get:
  4522. parameters:
  4523. - description: Number of logs to return
  4524. in: path
  4525. name: count
  4526. required: true
  4527. schema:
  4528. type: number
  4529. - description: e.g. api-key-string
  4530. example: api-key-string
  4531. in: header
  4532. name: X-API-Key
  4533. required: false
  4534. schema:
  4535. type: string
  4536. responses:
  4537. "401":
  4538. $ref: "#/components/responses/Unauthorized"
  4539. "200":
  4540. content:
  4541. application/json:
  4542. examples:
  4543. response:
  4544. value:
  4545. - message: "EF1711500458: removed"
  4546. priority: info
  4547. program: postfix/qmgr
  4548. time: "1569937433"
  4549. description: OK
  4550. headers: {}
  4551. tags:
  4552. - Logs
  4553. description: >-
  4554. This Api endpoint lists all Postfix logs.
  4555. Tip: You can limit how many logs you want to get by using `/<count>` at
  4556. the end of the api url.
  4557. operationId: Get Postfix logs
  4558. summary: Get Postfix logs
  4559. "/api/v1/get/logs/ratelimited/{count}":
  4560. get:
  4561. parameters:
  4562. - description: Number of logs to return
  4563. in: path
  4564. name: count
  4565. required: true
  4566. schema:
  4567. type: number
  4568. - description: e.g. api-key-string
  4569. example: api-key-string
  4570. in: header
  4571. name: X-API-Key
  4572. required: false
  4573. schema:
  4574. type: string
  4575. responses:
  4576. "401":
  4577. $ref: "#/components/responses/Unauthorized"
  4578. "200":
  4579. content:
  4580. application/json:
  4581. examples:
  4582. response:
  4583. value:
  4584. - from: awesome@mailcow.email
  4585. header_from: '"Awesome" <awesome@mailcow.email>'
  4586. header_subject: Mailcow is amazing
  4587. ip: 172.22.1.248
  4588. message_id: 6a-5d892500-7-240abd80@90879116
  4589. qid: E3CF91500458
  4590. rcpt: hello@mailcow.email
  4591. rl_hash: RLsdz3tuabozgd4oacbdh8kc78
  4592. rl_info: mailcow(RLsdz3tuabozgd4oacbdh8kc78)
  4593. rl_name: mailcow
  4594. time: 1569269003
  4595. user: awesome@mailcow.email
  4596. description: OK
  4597. headers: {}
  4598. tags:
  4599. - Logs
  4600. description: >-
  4601. This Api endpoint lists all Ratelimit logs.
  4602. Tip: You can limit how many logs you want to get by using `/<count>` at
  4603. the end of the api url.
  4604. operationId: Get Ratelimit logs
  4605. summary: Get Ratelimit logs
  4606. "/api/v1/get/logs/rspamd-history/{count}":
  4607. get:
  4608. parameters:
  4609. - description: Number of logs to return
  4610. in: path
  4611. name: count
  4612. required: true
  4613. schema:
  4614. type: number
  4615. - description: e.g. api-key-string
  4616. example: api-key-string
  4617. in: header
  4618. name: X-API-Key
  4619. required: false
  4620. schema:
  4621. type: string
  4622. responses:
  4623. "401":
  4624. $ref: "#/components/responses/Unauthorized"
  4625. "200":
  4626. description: OK
  4627. headers: {}
  4628. tags:
  4629. - Logs
  4630. description: >-
  4631. This Api endpoint lists all Rspamd logs.
  4632. Tip: You can limit how many logs you want to get by using `/<count>` at
  4633. the end of the api url.
  4634. operationId: Get Rspamd logs
  4635. summary: Get Rspamd logs
  4636. "/api/v1/get/logs/sogo/{count}":
  4637. get:
  4638. parameters:
  4639. - description: Number of logs to return
  4640. in: path
  4641. name: count
  4642. required: true
  4643. schema:
  4644. type: number
  4645. - description: e.g. api-key-string
  4646. example: api-key-string
  4647. in: header
  4648. name: X-API-Key
  4649. required: false
  4650. schema:
  4651. type: string
  4652. responses:
  4653. "401":
  4654. $ref: "#/components/responses/Unauthorized"
  4655. "200":
  4656. content:
  4657. application/json:
  4658. examples:
  4659. response:
  4660. value:
  4661. - message: >-
  4662. [109]:
  4663. mailcowdockerized_watchdog-mailcow_1.mailcowdockerized_mailcow-network
  4664. "GET /SOGo.index/ HTTP/1.1" 200 2531/0 0.005 - - 0
  4665. priority: notice
  4666. program: sogod
  4667. time: "1569938874"
  4668. description: OK
  4669. headers: {}
  4670. tags:
  4671. - Logs
  4672. description: >-
  4673. This Api endpoint lists all SOGo logs.
  4674. Tip: You can limit how many logs you want to get by using `/<count>` at
  4675. the end of the api url.
  4676. operationId: Get SOGo logs
  4677. summary: Get SOGo logs
  4678. "/api/v1/get/logs/watchdog/{count}":
  4679. get:
  4680. parameters:
  4681. - description: Number of logs to return
  4682. in: path
  4683. name: count
  4684. required: true
  4685. schema:
  4686. type: number
  4687. - description: e.g. api-key-string
  4688. example: api-key-string
  4689. in: header
  4690. name: X-API-Key
  4691. required: false
  4692. schema:
  4693. type: string
  4694. responses:
  4695. "401":
  4696. $ref: "#/components/responses/Unauthorized"
  4697. "200":
  4698. content:
  4699. application/json:
  4700. examples:
  4701. response:
  4702. value:
  4703. - hpdiff: "0"
  4704. hpnow: "1"
  4705. hptotal: "1"
  4706. lvl: "100"
  4707. service: Fail2ban
  4708. time: "1569938958"
  4709. - hpdiff: "0"
  4710. hpnow: "5"
  4711. hptotal: "5"
  4712. lvl: "100"
  4713. service: Rspamd
  4714. time: "1569938956"
  4715. description: OK
  4716. headers: {}
  4717. tags:
  4718. - Logs
  4719. description: >-
  4720. This Api endpoint lists all Watchdog logs.
  4721. Tip: You can limit how many logs you want to get by using `/<count>` at
  4722. the end of the api url.
  4723. operationId: Get Watchdog logs
  4724. summary: Get Watchdog logs
  4725. "/api/v1/get/mailbox/{id}":
  4726. get:
  4727. parameters:
  4728. - description: id of entry you want to get
  4729. example: all
  4730. in: path
  4731. name: id
  4732. required: true
  4733. schema:
  4734. enum:
  4735. - all
  4736. - user@domain.tld
  4737. type: string
  4738. - description: comma seperated list of tags to filter by
  4739. example: "tag1,tag2"
  4740. in: query
  4741. name: tags
  4742. required: false
  4743. schema:
  4744. type: string
  4745. - description: e.g. api-key-string
  4746. example: api-key-string
  4747. in: header
  4748. name: X-API-Key
  4749. required: false
  4750. schema:
  4751. type: string
  4752. responses:
  4753. "401":
  4754. $ref: "#/components/responses/Unauthorized"
  4755. "200":
  4756. content:
  4757. application/json:
  4758. examples:
  4759. response:
  4760. value:
  4761. - active: "1"
  4762. attributes:
  4763. force_pw_update: "0"
  4764. mailbox_format: "maildir:"
  4765. quarantine_notification: never
  4766. sogo_access: "1"
  4767. tls_enforce_in: "0"
  4768. tls_enforce_out: "0"
  4769. domain: doman3.tld
  4770. is_relayed: 0
  4771. local_part: info
  4772. max_new_quota: 10737418240
  4773. messages: 0
  4774. name: Full name
  4775. percent_class: success
  4776. percent_in_use: 0
  4777. quota: 3221225472
  4778. quota_used: 0
  4779. rl: false
  4780. spam_aliases: 0
  4781. username: info@doman3.tld
  4782. tags: ["tag1", "tag2"]
  4783. description: OK
  4784. headers: {}
  4785. tags:
  4786. - Mailboxes
  4787. description: You can list all mailboxes existing in system.
  4788. operationId: Get mailboxes
  4789. summary: Get mailboxes
  4790. /api/v1/get/mailq/all:
  4791. get:
  4792. responses:
  4793. "401":
  4794. $ref: "#/components/responses/Unauthorized"
  4795. "200":
  4796. content:
  4797. application/json:
  4798. examples:
  4799. response:
  4800. value:
  4801. - arrival_time: 1570091234
  4802. message_size: 1848
  4803. queue_id: B98C6260CA1
  4804. queue_name: incoming
  4805. recipients:
  4806. - recipient@awesomecow.tld
  4807. sender: sender@mailcow.tld
  4808. description: OK
  4809. headers: {}
  4810. tags:
  4811. - Queue Manager
  4812. description: Get the current mail queue and everything it contains.
  4813. operationId: Get Queue
  4814. summary: Get Queue
  4815. "/api/v1/get/oauth2-client/{id}":
  4816. get:
  4817. parameters:
  4818. - description: id of entry you want to get
  4819. example: all
  4820. in: path
  4821. name: id
  4822. required: true
  4823. schema:
  4824. enum:
  4825. - all
  4826. - "1"
  4827. - "2"
  4828. - "5"
  4829. - "10"
  4830. type: string
  4831. - description: e.g. api-key-string
  4832. example: api-key-string
  4833. in: header
  4834. name: X-API-Key
  4835. required: false
  4836. schema:
  4837. type: string
  4838. responses:
  4839. "401":
  4840. $ref: "#/components/responses/Unauthorized"
  4841. "200":
  4842. content:
  4843. application/json:
  4844. examples:
  4845. response:
  4846. value:
  4847. - client_id: 17c76aaa88c0
  4848. client_secret: 73fc668a88147e32a31ff80c
  4849. grant_types: null
  4850. id: 1
  4851. redirect_uri: "https://mailcow.tld"
  4852. scope: profile
  4853. user_id: null
  4854. description: OK
  4855. headers: {}
  4856. tags:
  4857. - oAuth Clients
  4858. description: Using this endpoint you can get all oAuth clients.
  4859. operationId: Get oAuth Clients
  4860. summary: Get oAuth Clients
  4861. "/api/v1/get/policy_bl_domain/{domain}":
  4862. get:
  4863. parameters:
  4864. - description: name of domain
  4865. in: path
  4866. name: domain
  4867. required: true
  4868. schema:
  4869. type: string
  4870. - description: e.g. api-key-string
  4871. example: api-key-string
  4872. in: header
  4873. name: X-API-Key
  4874. required: false
  4875. schema:
  4876. type: string
  4877. responses:
  4878. "401":
  4879. $ref: "#/components/responses/Unauthorized"
  4880. "200":
  4881. content:
  4882. application/json:
  4883. examples:
  4884. response:
  4885. value:
  4886. - object: domain.tld
  4887. prefid: 2
  4888. value: "*@baddomain.tld"
  4889. description: OK
  4890. headers: {}
  4891. tags:
  4892. - Domain antispam policies
  4893. description: You can list all blacklist policies per domain.
  4894. operationId: List blacklist domain policy
  4895. summary: List blacklist domain policy
  4896. "/api/v1/get/policy_wl_domain/{domain}":
  4897. get:
  4898. parameters:
  4899. - description: name of domain
  4900. in: path
  4901. name: domain
  4902. required: true
  4903. schema:
  4904. type: string
  4905. - description: e.g. api-key-string
  4906. example: api-key-string
  4907. in: header
  4908. name: X-API-Key
  4909. required: false
  4910. schema:
  4911. type: string
  4912. responses:
  4913. "401":
  4914. $ref: "#/components/responses/Unauthorized"
  4915. "200":
  4916. content:
  4917. application/json:
  4918. examples:
  4919. response:
  4920. value:
  4921. - object: domain.tld
  4922. prefid: 1
  4923. value: "*@gooddomain.tld"
  4924. description: OK
  4925. headers: {}
  4926. tags:
  4927. - Domain antispam policies
  4928. description: You can list all whitelist policies per domain.
  4929. operationId: List whitelist domain policy
  4930. summary: List whitelist domain policy
  4931. /api/v1/get/quarantine/all:
  4932. get:
  4933. responses:
  4934. "401":
  4935. $ref: "#/components/responses/Unauthorized"
  4936. "200":
  4937. content:
  4938. application/json:
  4939. examples:
  4940. response:
  4941. value:
  4942. created: 1572688831
  4943. id: 33
  4944. notified: 1
  4945. qid: 8224615004C1
  4946. rcpt: admin@domain.tld
  4947. score: 15.48
  4948. sender: bounces@send.domain.tld
  4949. subject: mailcow is awesome
  4950. virus_flag: 0
  4951. description: OK
  4952. headers: {}
  4953. tags:
  4954. - Quarantine
  4955. description: Get all mails that are currently in Quarantine.
  4956. operationId: Get mails in Quarantine
  4957. summary: Get mails in Quarantine
  4958. "/api/v1/get/recipient_map/{id}":
  4959. get:
  4960. parameters:
  4961. - description: id of entry you want to get
  4962. example: all
  4963. in: path
  4964. name: id
  4965. required: true
  4966. schema:
  4967. enum:
  4968. - all
  4969. - "1"
  4970. - "2"
  4971. - "5"
  4972. - "10"
  4973. type: string
  4974. - description: e.g. api-key-string
  4975. example: api-key-string
  4976. in: header
  4977. name: X-API-Key
  4978. required: false
  4979. schema:
  4980. type: string
  4981. responses:
  4982. "401":
  4983. $ref: "#/components/responses/Unauthorized"
  4984. "200":
  4985. content:
  4986. application/json:
  4987. examples:
  4988. response:
  4989. value:
  4990. - active: "1"
  4991. created: "2019-10-02 22:06:29"
  4992. id: 3
  4993. modified: null
  4994. recipient_map_new: target@mailcow.tld
  4995. recipient_map_old: recipient@mailcow.tld
  4996. description: OK
  4997. headers: {}
  4998. tags:
  4999. - Address Rewriting
  5000. description: Using this endpoint you can get all recipient maps.
  5001. operationId: Get Recipient Map
  5002. summary: Get Recipient Map
  5003. "/api/v1/get/relayhost/{id}":
  5004. get:
  5005. parameters:
  5006. - description: id of entry you want to get
  5007. example: all
  5008. in: path
  5009. name: id
  5010. required: true
  5011. schema:
  5012. enum:
  5013. - all
  5014. - "1"
  5015. - "2"
  5016. - "5"
  5017. - "10"
  5018. type: string
  5019. - description: e.g. api-key-string
  5020. example: api-key-string
  5021. in: header
  5022. name: X-API-Key
  5023. required: false
  5024. schema:
  5025. type: string
  5026. responses:
  5027. "401":
  5028. $ref: "#/components/responses/Unauthorized"
  5029. "200":
  5030. content:
  5031. application/json:
  5032. examples:
  5033. response:
  5034. value:
  5035. - active: "1"
  5036. hostname: "mailcow.tld:25"
  5037. id: 1
  5038. password: supersecurepassword
  5039. password_short: tes...
  5040. used_by_domains: ""
  5041. username: testuser
  5042. description: OK
  5043. headers: {}
  5044. tags:
  5045. - Routing
  5046. description: Using this endpoint you can get all Sender-Dependent Transports.
  5047. operationId: Get Sender-Dependent Transports
  5048. summary: Get Sender-Dependent Transports
  5049. /api/v1/get/resource/all:
  5050. get:
  5051. responses:
  5052. "401":
  5053. $ref: "#/components/responses/Unauthorized"
  5054. "200":
  5055. content:
  5056. application/json:
  5057. examples:
  5058. response:
  5059. value:
  5060. - active: "1"
  5061. description: test
  5062. domain: mailcow.tld
  5063. kind: location
  5064. local_part: test
  5065. multiple_bookings: 0
  5066. name: test@mailcow.tld
  5067. description: OK
  5068. headers: {}
  5069. tags:
  5070. - Resources
  5071. description: Using this endpoint you can get all Resources.
  5072. operationId: Get Resources
  5073. summary: Get Resources
  5074. "/api/v1/get/rl-mbox/{mailbox}":
  5075. get:
  5076. parameters:
  5077. - description: name of mailbox or all
  5078. in: path
  5079. name: mailbox
  5080. required: true
  5081. schema:
  5082. type: string
  5083. - description: e.g. api-key-string
  5084. example: api-key-string
  5085. in: header
  5086. name: X-API-Key
  5087. required: false
  5088. schema:
  5089. type: string
  5090. responses:
  5091. "401":
  5092. $ref: "#/components/responses/Unauthorized"
  5093. "200":
  5094. content:
  5095. application/json:
  5096. examples:
  5097. response:
  5098. value:
  5099. - frame: s
  5100. mailbox: leon@mailcow.tld
  5101. value: "5"
  5102. - frame: s
  5103. mailbox: lisa@mailcow.tld
  5104. value: "3"
  5105. description: OK
  5106. headers: {}
  5107. tags:
  5108. - Ratelimits
  5109. description: >-
  5110. Using this endpoint you can get the ratelimits for a certain mailbox.
  5111. You can use all for all mailboxes.
  5112. operationId: Get mailbox ratelimits
  5113. summary: Get mailbox ratelimits
  5114. "/api/v1/get/rl-domain/{domain}":
  5115. get:
  5116. parameters:
  5117. - description: name of domain or all
  5118. in: path
  5119. name: domain
  5120. required: true
  5121. schema:
  5122. type: string
  5123. - description: e.g. api-key-string
  5124. example: api-key-string
  5125. in: header
  5126. name: X-API-Key
  5127. required: false
  5128. schema:
  5129. type: string
  5130. responses:
  5131. "401":
  5132. $ref: "#/components/responses/Unauthorized"
  5133. "200":
  5134. content:
  5135. application/json:
  5136. examples:
  5137. response:
  5138. value:
  5139. - frame: s
  5140. domain: domain.tld
  5141. value: "5"
  5142. - frame: s
  5143. mailbox: domain2.tld
  5144. value: "3"
  5145. description: OK
  5146. headers: {}
  5147. tags:
  5148. - Ratelimits
  5149. description: >-
  5150. Using this endpoint you can get the ratelimits for a certain domains.
  5151. You can use all for all domain.
  5152. operationId: Get domain ratelimits
  5153. summary: Get domain ratelimits
  5154. /api/v1/edit/rl-mbox/:
  5155. post:
  5156. responses:
  5157. "401":
  5158. $ref: "#/components/responses/Unauthorized"
  5159. "200":
  5160. content:
  5161. application/json:
  5162. examples:
  5163. response:
  5164. value:
  5165. - type: success
  5166. log:
  5167. - ratelimit
  5168. - edit
  5169. - mailbox
  5170. - object:
  5171. - info@domain.tld
  5172. rl_value: "10"
  5173. rl_frame: h
  5174. msg:
  5175. - rl_saved
  5176. - info@domain.tld
  5177. schema:
  5178. properties:
  5179. log:
  5180. description: contains request object
  5181. items: {}
  5182. type: array
  5183. msg:
  5184. items: {}
  5185. type: array
  5186. type:
  5187. enum:
  5188. - success
  5189. - danger
  5190. - error
  5191. type: string
  5192. type: object
  5193. description: OK
  5194. headers: {}
  5195. tags:
  5196. - Ratelimits
  5197. description: >-
  5198. Using this endpoint you can edit the ratelimits for a certain mailbox.
  5199. operationId: Edit mailbox ratelimits
  5200. requestBody:
  5201. content:
  5202. application/json:
  5203. schema:
  5204. example:
  5205. attr:
  5206. rl_value: "10"
  5207. rl_frame: "h"
  5208. items:
  5209. - info@domain.tld
  5210. properties:
  5211. attr:
  5212. properties:
  5213. rl_frame:
  5214. description: contains the frame for the ratelimit h,s,m
  5215. type: string
  5216. rl_value:
  5217. description: contains the rate for the ratelimit 10,20,50,1
  5218. type: number
  5219. type: object
  5220. items:
  5221. description: contains list of mailboxes you want to edit the ratelimit of
  5222. type: object
  5223. type: object
  5224. summary: Edit mailbox ratelimits
  5225. /api/v1/edit/rl-domain/:
  5226. post:
  5227. responses:
  5228. "401":
  5229. $ref: "#/components/responses/Unauthorized"
  5230. "200":
  5231. content:
  5232. application/json:
  5233. examples:
  5234. response:
  5235. value:
  5236. - type: success
  5237. - log:
  5238. - ratelimit
  5239. - edit
  5240. - domain
  5241. - object:
  5242. - domain.tld
  5243. rl_value: "50"
  5244. rl_frame: "h"
  5245. msg:
  5246. - rl_saved
  5247. - domain.tld
  5248. schema:
  5249. properties:
  5250. log:
  5251. description: contains request object
  5252. items: {}
  5253. type: array
  5254. msg:
  5255. items: {}
  5256. type: array
  5257. type:
  5258. enum:
  5259. - success
  5260. - danger
  5261. - error
  5262. type: string
  5263. type: object
  5264. description: OK
  5265. headers: {}
  5266. tags:
  5267. - Ratelimits
  5268. description: >-
  5269. Using this endpoint you can edit the ratelimits for a certain domains.
  5270. operationId: Edit domain ratelimits
  5271. requestBody:
  5272. content:
  5273. application/json:
  5274. schema:
  5275. example:
  5276. attr:
  5277. rl_value: "10"
  5278. rl_frame: "h"
  5279. items:
  5280. - domain.tld
  5281. properties:
  5282. attr:
  5283. properties:
  5284. rl_frame:
  5285. description: contains the frame for the ratelimit h,s,m
  5286. type: string
  5287. rl_value:
  5288. description: contains the rate for the ratelimit 10,20,50,1
  5289. type: number
  5290. type: object
  5291. items:
  5292. description: contains list of domains you want to edit the ratelimit of
  5293. type: object
  5294. type: object
  5295. summary: Edit domain ratelimits
  5296. /api/v1/get/status/containers:
  5297. get:
  5298. responses:
  5299. "401":
  5300. $ref: "#/components/responses/Unauthorized"
  5301. "200":
  5302. content:
  5303. application/json:
  5304. examples:
  5305. response:
  5306. value:
  5307. acme-mailcow:
  5308. container: acme-mailcow
  5309. image: "mailcow/acme:1.63"
  5310. started_at: "2019-12-22T21:00:08.270660275Z"
  5311. state: running
  5312. type: info
  5313. clamd-mailcow:
  5314. container: clamd-mailcow
  5315. image: "mailcow/clamd:1.35"
  5316. started_at: "2019-12-22T21:00:01.622856172Z"
  5317. state: running
  5318. type: info
  5319. dockerapi-mailcow:
  5320. container: dockerapi-mailcow
  5321. image: "mailcow/dockerapi:1.36"
  5322. started_at: "2019-12-22T20:59:59.984797808Z"
  5323. state: running
  5324. type: info
  5325. dovecot-mailcow:
  5326. container: dovecot-mailcow
  5327. image: "mailcow/dovecot:1.104"
  5328. started_at: "2019-12-22T21:00:08.988680259Z"
  5329. state: running
  5330. type: info
  5331. ipv6nat-mailcow:
  5332. container: ipv6nat-mailcow
  5333. image: robbertkl/ipv6nat
  5334. started_at: "2019-12-22T21:06:37.273225445Z"
  5335. state: running
  5336. type: info
  5337. memcached-mailcow:
  5338. container: memcached-mailcow
  5339. image: "memcached:alpine"
  5340. started_at: "2019-12-22T20:59:58.0907785Z"
  5341. state: running
  5342. type: info
  5343. mysql-mailcow:
  5344. container: mysql-mailcow
  5345. image: "mariadb:10.3"
  5346. started_at: "2019-12-22T21:00:02.201937528Z"
  5347. state: running
  5348. type: info
  5349. netfilter-mailcow:
  5350. container: netfilter-mailcow
  5351. image: "mailcow/netfilter:1.31"
  5352. started_at: "2019-12-22T21:00:09.851559297Z"
  5353. state: running
  5354. type: info
  5355. nginx-mailcow:
  5356. container: nginx-mailcow
  5357. image: "nginx:mainline-alpine"
  5358. started_at: "2019-12-22T21:00:12.9843038Z"
  5359. state: running
  5360. type: info
  5361. olefy-mailcow:
  5362. container: olefy-mailcow
  5363. image: "mailcow/olefy:1.2"
  5364. started_at: "2019-12-22T20:59:59.676259274Z"
  5365. state: running
  5366. type: info
  5367. php-fpm-mailcow:
  5368. container: php-fpm-mailcow
  5369. image: "mailcow/phpfpm:1.55"
  5370. started_at: "2019-12-22T21:00:00.955808957Z"
  5371. state: running
  5372. type: info
  5373. postfix-mailcow:
  5374. container: postfix-mailcow
  5375. image: "mailcow/postfix:1.44"
  5376. started_at: "2019-12-22T21:00:07.186717617Z"
  5377. state: running
  5378. type: info
  5379. valkey-mailcow:
  5380. container: valkey-mailcow
  5381. image: "valkey:7.2.8-alpine"
  5382. started_at: "2019-12-22T20:59:56.827166834Z"
  5383. state: running
  5384. type: info
  5385. rspamd-mailcow:
  5386. container: rspamd-mailcow
  5387. image: "mailcow/rspamd:1.56"
  5388. started_at: "2019-12-22T21:00:12.456075355Z"
  5389. state: running
  5390. type: info
  5391. sogo-mailcow:
  5392. container: sogo-mailcow
  5393. image: "mailcow/sogo:1.65"
  5394. started_at: "2019-12-22T20:59:58.382274592Z"
  5395. state: running
  5396. type: info
  5397. unbound-mailcow:
  5398. container: unbound-mailcow
  5399. image: "mailcow/unbound:1.10"
  5400. started_at: "2019-12-22T20:59:58.760595825Z"
  5401. state: running
  5402. type: info
  5403. watchdog-mailcow:
  5404. container: watchdog-mailcow
  5405. image: "mailcow/watchdog:1.65"
  5406. started_at: "2019-12-22T20:59:56.028660382Z"
  5407. state: running
  5408. type: info
  5409. description: OK
  5410. headers: {}
  5411. tags:
  5412. - Status
  5413. description: >-
  5414. Using this endpoint you can get the status of all containers and when
  5415. hey where started and a few other details.
  5416. operationId: Get container status
  5417. summary: Get container status
  5418. /api/v1/get/status/vmail:
  5419. get:
  5420. responses:
  5421. "401":
  5422. $ref: "#/components/responses/Unauthorized"
  5423. "200":
  5424. content:
  5425. application/json:
  5426. examples:
  5427. response:
  5428. value:
  5429. disk: /dev/mapper/mail--vg-root
  5430. total: 41G
  5431. type: info
  5432. used: 11G
  5433. used_percent: 28%
  5434. description: OK
  5435. headers: {}
  5436. tags:
  5437. - Status
  5438. description: >-
  5439. Using this endpoint you can get the status of the vmail and the amount
  5440. of used storage.
  5441. operationId: Get vmail status
  5442. summary: Get vmail status
  5443. /api/v1/get/status/version:
  5444. get:
  5445. responses:
  5446. "401":
  5447. $ref: "#/components/responses/Unauthorized"
  5448. "200":
  5449. content:
  5450. application/json:
  5451. examples:
  5452. response:
  5453. value:
  5454. version: "2022-04"
  5455. description: OK
  5456. headers: {}
  5457. tags:
  5458. - Status
  5459. description: >-
  5460. Using this endpoint you can get the current running release of this
  5461. instance.
  5462. operationId: Get version status
  5463. summary: Get version status
  5464. /api/v1/get/syncjobs/all/no_log:
  5465. get:
  5466. responses:
  5467. "401":
  5468. $ref: "#/components/responses/Unauthorized"
  5469. "200":
  5470. content:
  5471. application/json:
  5472. examples:
  5473. response:
  5474. value:
  5475. - active: "1"
  5476. authmd51: 0
  5477. authmech1: PLAIN
  5478. automap: 1
  5479. created: "2019-05-22 11:37:25"
  5480. custom_params: ""
  5481. delete1: 0
  5482. delete2: 0
  5483. delete2duplicates: 1
  5484. domain2: ""
  5485. enc1: TLS
  5486. exclude: (?i)spam|(?i)junk
  5487. host1: imap.server.tld
  5488. id: 1
  5489. is_running: 0
  5490. last_run: "2019-05-22 11:40:02"
  5491. log: ""
  5492. maxage: 0
  5493. maxbytespersecond: "0"
  5494. mins_interval: "20"
  5495. modified: "2019-05-22 11:40:02"
  5496. port1: 993
  5497. regextrans2: ""
  5498. skipcrossduplicates: 0
  5499. subfolder2: External
  5500. subscribeall: 1
  5501. timeout1: 600
  5502. timeout2: 600
  5503. user1: username
  5504. user2: mailbox@domain.tld
  5505. description: OK
  5506. headers: {}
  5507. tags:
  5508. - Sync jobs
  5509. description: You can list all syn jobs existing in system.
  5510. operationId: Get sync jobs
  5511. summary: Get sync jobs
  5512. "/api/v1/get/tls-policy-map/{id}":
  5513. get:
  5514. parameters:
  5515. - description: id of entry you want to get
  5516. example: all
  5517. in: path
  5518. name: id
  5519. required: true
  5520. schema:
  5521. enum:
  5522. - all
  5523. - "1"
  5524. - "2"
  5525. - "5"
  5526. - "10"
  5527. type: string
  5528. - description: e.g. api-key-string
  5529. example: api-key-string
  5530. in: header
  5531. name: X-API-Key
  5532. required: false
  5533. schema:
  5534. type: string
  5535. responses:
  5536. "401":
  5537. $ref: "#/components/responses/Unauthorized"
  5538. "200":
  5539. content:
  5540. application/json:
  5541. examples:
  5542. response:
  5543. value:
  5544. - parameters: ""
  5545. active: "1"
  5546. created: "2019-10-03 08:42:12"
  5547. dest: mailcow.tld
  5548. id: 1
  5549. modified: null
  5550. policy: encrypt
  5551. description: OK
  5552. headers: {}
  5553. tags:
  5554. - Outgoing TLS Policy Map Overrides
  5555. description: Using this endpoint you can get all TLS policy map override maps.
  5556. operationId: Get TLS Policy Map
  5557. summary: Get TLS Policy Map
  5558. "/api/v1/get/transport/{id}":
  5559. get:
  5560. parameters:
  5561. - description: id of entry you want to get
  5562. example: all
  5563. in: path
  5564. name: id
  5565. required: true
  5566. schema:
  5567. enum:
  5568. - all
  5569. - "1"
  5570. - "2"
  5571. - "5"
  5572. - "10"
  5573. type: string
  5574. - description: e.g. api-key-string
  5575. example: api-key-string
  5576. in: header
  5577. name: X-API-Key
  5578. required: false
  5579. schema:
  5580. type: string
  5581. responses:
  5582. "401":
  5583. $ref: "#/components/responses/Unauthorized"
  5584. "200":
  5585. content:
  5586. application/json:
  5587. examples:
  5588. response:
  5589. value:
  5590. - active: "1"
  5591. destination: example.org
  5592. id: 1
  5593. lookup_mx: "0"
  5594. nexthop: "host:25"
  5595. password: supersecurepw
  5596. password_short: sup...
  5597. username: testuser
  5598. description: OK
  5599. headers: {}
  5600. tags:
  5601. - Routing
  5602. description: Using this endpoint you can get all Transport Maps.
  5603. operationId: Get Transport Maps
  5604. summary: Get Transport Maps
  5605. /api/v1/edit/spam-score/:
  5606. post:
  5607. responses:
  5608. "401":
  5609. $ref: "#/components/responses/Unauthorized"
  5610. "200":
  5611. content:
  5612. application/json:
  5613. examples:
  5614. response:
  5615. value:
  5616. - type: success
  5617. log:
  5618. - mailbox
  5619. - edit
  5620. - spam_score
  5621. - username:
  5622. - info@domain.tld
  5623. spam_score: "8,15"
  5624. msg:
  5625. - mailbox_modified
  5626. - info@domain.tld
  5627. schema:
  5628. properties:
  5629. log:
  5630. description: contains request object
  5631. items: {}
  5632. type: array
  5633. msg:
  5634. items: {}
  5635. type: array
  5636. type:
  5637. enum:
  5638. - success
  5639. - danger
  5640. - error
  5641. type: string
  5642. type: object
  5643. description: OK
  5644. headers: {}
  5645. tags:
  5646. - Mailboxes
  5647. description: >-
  5648. Using this endpoint you can edit the spam filter score for a certain mailbox.
  5649. operationId: Edit mailbox spam filter score
  5650. requestBody:
  5651. content:
  5652. application/json:
  5653. schema:
  5654. example:
  5655. - items:
  5656. - info@domain.tld
  5657. attr:
  5658. spam_score: "8,15"
  5659. summary: Edit mailbox spam filter score
  5660. "/api/v1/get/mailbox/all/{domain}":
  5661. get:
  5662. parameters:
  5663. - description: name of domain
  5664. in: path
  5665. name: domain
  5666. required: false
  5667. schema:
  5668. type: string
  5669. - description: e.g. api-key-string
  5670. example: api-key-string
  5671. in: header
  5672. name: X-API-Key
  5673. required: false
  5674. schema:
  5675. type: string
  5676. responses:
  5677. "401":
  5678. $ref: "#/components/responses/Unauthorized"
  5679. "200":
  5680. content:
  5681. application/json:
  5682. examples:
  5683. response:
  5684. value:
  5685. - active: "1"
  5686. attributes:
  5687. force_pw_update: "0"
  5688. mailbox_format: "maildir:"
  5689. quarantine_notification: never
  5690. sogo_access: "1"
  5691. tls_enforce_in: "0"
  5692. tls_enforce_out: "0"
  5693. custom_attributes: {}
  5694. domain: domain3.tld
  5695. is_relayed: 0
  5696. local_part: info
  5697. max_new_quota: 10737418240
  5698. messages: 0
  5699. name: Full name
  5700. percent_class: success
  5701. percent_in_use: 0
  5702. quota: 3221225472
  5703. quota_used: 0
  5704. rl: false
  5705. spam_aliases: 0
  5706. username: info@domain3.tld
  5707. tags: ["tag1", "tag2"]
  5708. description: OK
  5709. headers: {}
  5710. tags:
  5711. - Mailboxes
  5712. description: You can list all mailboxes existing in system for a specific domain.
  5713. operationId: Get mailboxes of a domain
  5714. summary: Get mailboxes of a domain
  5715. /api/v1/edit/cors:
  5716. post:
  5717. responses:
  5718. "401":
  5719. $ref: "#/components/responses/Unauthorized"
  5720. "200":
  5721. content:
  5722. application/json:
  5723. examples:
  5724. response:
  5725. value:
  5726. - type: "success"
  5727. log: ["cors", "edit", {"allowed_origins": ["*", "mail.mailcow.tld"], "allowed_methods": ["POST", "GET", "DELETE", "PUT"]}]
  5728. msg: "cors_headers_edited"
  5729. description: OK
  5730. headers: { }
  5731. tags:
  5732. - Cross-Origin Resource Sharing (CORS)
  5733. description: >-
  5734. This endpoint allows you to manage Cross-Origin Resource Sharing (CORS) settings for the API.
  5735. CORS is a security feature implemented by web browsers to prevent unauthorized cross-origin requests.
  5736. 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.
  5737. operationId: Edit Cross-Origin Resource Sharing (CORS) settings
  5738. requestBody:
  5739. content:
  5740. application/json:
  5741. schema:
  5742. example:
  5743. attr:
  5744. allowed_origins: ["*", "mail.mailcow.tld"]
  5745. allowed_methods: ["POST", "GET", "DELETE", "PUT"]
  5746. properties:
  5747. attr:
  5748. type: object
  5749. properties:
  5750. allowed_origins:
  5751. type: array
  5752. items:
  5753. type: string
  5754. allowed_methods:
  5755. type: array
  5756. items:
  5757. type: string
  5758. summary: Edit Cross-Origin Resource Sharing (CORS) settings
  5759. "/api/v1/get/spam-score/{mailbox}":
  5760. get:
  5761. parameters:
  5762. - description: name of mailbox or empty for current user - admin user will retrieve the global spam filter score
  5763. in: path
  5764. name: mailbox
  5765. required: true
  5766. schema:
  5767. type: string
  5768. - description: e.g. api-key-string
  5769. example: api-key-string
  5770. in: header
  5771. name: X-API-Key
  5772. required: false
  5773. schema:
  5774. type: string
  5775. responses:
  5776. "401":
  5777. $ref: "#/components/responses/Unauthorized"
  5778. "200":
  5779. content:
  5780. application/json:
  5781. examples:
  5782. response:
  5783. value:
  5784. spam_score: "8,15"
  5785. description: OK
  5786. headers: {}
  5787. tags:
  5788. - Mailboxes
  5789. description: >-
  5790. Using this endpoint you can get the global spam filter score or the spam filter score of a certain mailbox.
  5791. operationId: Get mailbox or global spam filter score
  5792. summary: Get mailbox or global spam filter score
  5793. tags:
  5794. - name: Domains
  5795. description: You can create antispam whitelist and blacklist policies
  5796. - name: Domain antispam policies
  5797. description: You can edit the Domain Antispam policies
  5798. - name: Mailboxes
  5799. description: You can manage mailboxes
  5800. - name: Aliases
  5801. description: You can manage aliases
  5802. - name: Sync jobs
  5803. description: Using Syncjobs you can sync your mails with other email servers
  5804. - name: Fordwarding Hosts
  5805. description: Forwarding Hosts enable you to send mail using a relay
  5806. - name: Logs
  5807. description: Get all mailcow system logs
  5808. - name: Queue Manager
  5809. description: Manage the postfix mail queue
  5810. - name: Quarantine
  5811. description: Check what emails went to quarantine
  5812. - name: Fail2Ban
  5813. description: Manage the Netfilter fail2ban options
  5814. - name: DKIM
  5815. description: Manage DKIM keys
  5816. - name: Domain admin
  5817. description: Create or udpdate domain admin users
  5818. - name: Single Sign-On
  5819. description: Issue tokens for users
  5820. - name: Address Rewriting
  5821. description: Create BCC maps or recipient maps
  5822. - name: Outgoing TLS Policy Map Overrides
  5823. description: Force global TLS policys
  5824. - name: oAuth Clients
  5825. description: Use mailcow as a oAuth server
  5826. - name: Routing
  5827. description: Define your own email routes
  5828. - name: Resources
  5829. description: Manage ressources
  5830. - name: App Passwords
  5831. description: Create mailbox app passwords
  5832. - name: Status
  5833. description: Get the status of your cow
  5834. - name: Ratelimits
  5835. description: Edit domain ratelimits
  5836. - name: Cross-Origin Resource Sharing (CORS)
  5837. description: Manage Cross-Origin Resource Sharing (CORS) settings