openapi.yaml 158 KB

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