openapi.yaml 158 KB

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