| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233 | 
							- openapi: 3.0.0
 
- info:
 
-   description: >-
 
-     mailcow is complete e-mailing solution with advanced antispam, antivirus,
 
-     nice UI and API.
 
-     In order to use this API you have to create a API key and add your IP
 
-     address to the whitelist of allowed IPs this can be done by logging into the
 
-     Mailcow UI using your admin account, then go to Configuration > Access >
 
-     Edit administrator details > API. There you will find a collapsed API menu.
 
-     There are two types of API keys
 
-       - The read only key can only be used for all get endpoints
 
-       - The read write key can be used for all endpoints
 
-   title: mailcow API
 
-   version: "1.0.0"
 
- servers:
 
-   - url: /
 
- components:
 
-   securitySchemes:
 
-     ApiKeyAuth:
 
-       type: apiKey
 
-       in: header
 
-       name: X-API-Key
 
-   responses:
 
-     Unauthorized:
 
-       description: Unauthorized
 
-       content:
 
-         application/json:
 
-           schema:
 
-             type: object
 
-             properties:
 
-               type:
 
-                 type: string
 
-                 example: error
 
-               msg:
 
-                 type: string
 
-                 example: authentication failed
 
-             required:
 
-               - type
 
-               - msg
 
- security:
 
-   - ApiKeyAuth: []
 
- paths:
 
-   /api/v1/add/alias:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - log:
 
-                         - mailbox
 
-                         - add
 
-                         - alias
 
-                         - active: "1"
 
-                           address: alias@domain.tld
 
-                           goto: destination@domain.tld
 
-                         - null
 
-                       msg:
 
-                         - alias_added
 
-                         - alias@domain.tld
 
-                       type: success
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Aliases
 
-       description: >-
 
-         You may create your own mailbox alias using this action. It takes a JSON
 
-         object containing a domain informations.
 
-         Only one `goto*` option can be used, for ex. if you want learn as spam,
 
-         then send just `goto_spam = 1` in request body.
 
-       operationId: Create alias
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 active: "1"
 
-                 address: alias@domain.tld
 
-                 goto: destination@domain.tld
 
-               properties:
 
-                 active:
 
-                   description: is alias active or not
 
-                   type: boolean
 
-                 address:
 
-                   description: 'alias address, for catchall use "@domain.tld"'
 
-                   type: string
 
-                 goto:
 
-                   description: "destination address, comma separated"
 
-                   type: string
 
-                 goto_ham:
 
-                   description: learn as ham
 
-                   type: boolean
 
-                 goto_null:
 
-                   description: silently ignore
 
-                   type: boolean
 
-                 goto_spam:
 
-                   description: learn as spam
 
-                   type: boolean
 
-               type: object
 
-       summary: Create alias
 
-   /api/v1/add/app-passwd:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - log:
 
-                         - app_passwd
 
-                         - add
 
-                         - active: "1"
 
-                           app_name: emclient
 
-                           app_passwd: keyleudecticidechothistishownsan31
 
-                           app_passwd2: keyleudecticidechothistishownsan31
 
-                           username: hello@mailcow.email
 
-                       msg: app_passwd_added
 
-                       type: success
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - App Passwords
 
-       description: >-
 
-         Using this endpoint you can create a new app password for a specific
 
-         mailbox.
 
-       operationId: Create App Password
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 active: "1"
 
-                 username: info@domain.tld
 
-                 app_name: wordpress
 
-                 app_passwd: keyleudecticidechothistishownsan31
 
-                 app_passwd2: keyleudecticidechothistishownsan31
 
-               properties:
 
-                 active:
 
-                   description: is alias active or not
 
-                   type: boolean
 
-                 username:
 
-                   description: mailbox for which the app password should be created
 
-                   type: string
 
-                 app_name:
 
-                   description: name of your app password
 
-                   type: string
 
-                 app_passwd:
 
-                   description: your app password
 
-                   type: string
 
-                 app_passwd2:
 
-                   description: your app password
 
-                   type: string
 
-               type: object
 
-       summary: Create App Password
 
-   /api/v1/add/bcc:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - log:
 
-                         - bcc
 
-                         - add
 
-                         - active: "1"
 
-                           bcc_dest: bcc@awesomecow.tld
 
-                           local_dest: mailcow.tld
 
-                           type: sender
 
-                         - null
 
-                       msg: bcc_saved
 
-                       type: success
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Address Rewriting
 
-       description: >-
 
-         Using this endpoint you can create a BCC map to forward all mails via a
 
-         bcc for a given domain.
 
-       operationId: Create BCC Map
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 active: "1"
 
-                 bcc_dest: bcc@awesomecow.tld
 
-                 local_dest: mailcow.tld
 
-                 type: sender
 
-               properties:
 
-                 active:
 
-                   description: 1 for a active user account 0 for a disabled user account
 
-                   type: number
 
-                 bcc_dest:
 
-                   description: the email address where all mails should be send to
 
-                   type: string
 
-                 local_dest:
 
-                   description: the domain which emails should be forwarded
 
-                   type: string
 
-                 type:
 
-                   description: the type of bcc map can be `sender` or `recipient`
 
-                   type: string
 
-               type: object
 
-       summary: Create BCC Map
 
-   /api/v1/add/dkim:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - log:
 
-                         - dkim
 
-                         - add
 
-                         - dkim_selector: dkim
 
-                           domains: hanspeterlol.de
 
-                           key_size: "2048"
 
-                       msg:
 
-                         - dkim_added
 
-                         - hanspeterlol.de
 
-                       type: success
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - DKIM
 
-       description: Using this endpoint you can generate new DKIM keys.
 
-       operationId: Generate DKIM Key
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 dkim_selector: dkim
 
-                 domains: mailcow.tld
 
-                 key_size: "2048"
 
-               properties:
 
-                 dkim_selector:
 
-                   description: the DKIM selector default dkim
 
-                   type: string
 
-                 domains:
 
-                   description: a list of domains for which a dkim key should be generated
 
-                   type: string
 
-                 key_size:
 
-                   description: the key size (1024 or 2048)
 
-                   type: number
 
-               type: object
 
-       summary: Generate DKIM Key
 
-   /api/v1/add/dkim_duplicate:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - log:
 
-                         - dkim
 
-                         - duplicate
 
-                         - from_domain: mailcow.tld
 
-                           to_domain: awesomecow.tld
 
-                       msg:
 
-                         - dkim_duplicated
 
-                         - mailcow.tld
 
-                         - awesomecow.tld
 
-                       type: success
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - DKIM
 
-       description: Using this endpoint you can duplicate the DKIM Key of one domain.
 
-       operationId: Duplicate DKIM Key
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 from_domain: mailcow.tld
 
-                 to_domain: awesomecow.tld
 
-               properties:
 
-                 fron_domain:
 
-                   description: the domain where the dkim key should be copied from
 
-                   type: string
 
-                 to_domain:
 
-                   description: the domain where the dkim key should be copied to
 
-                   type: string
 
-               type: object
 
-       summary: Duplicate DKIM Key
 
-   /api/v1/add/domain:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - log:
 
-                         - ratelimit
 
-                         - edit
 
-                         - domain
 
-                         - object: domain.tld
 
-                           rl_frame: s
 
-                           rl_value: "10"
 
-                       msg:
 
-                         - rl_saved
 
-                         - domain.tld
 
-                       type: success
 
-                     - log:
 
-                         - mailbox
 
-                         - add
 
-                         - domain
 
-                         - active: "1"
 
-                           aliases: "400"
 
-                           backupmx: "0"
 
-                           defquota: "3072"
 
-                           description: some decsription
 
-                           domain: domain.tld
 
-                           lang: cs
 
-                           mailboxes: "10"
 
-                           maxquota: "10240"
 
-                           quota: "10240"
 
-                           relay_all_recipients: "0"
 
-                           rl_frame: s
 
-                           rl_value: "10"
 
-                         - null
 
-                       msg:
 
-                         - domain_added
 
-                         - domain.tld
 
-                       type: success
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Domains
 
-       description: >-
 
-         You may create your own domain using this action. It takes a JSON object
 
-         containing a domain informations.
 
-       operationId: Create domain
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 active: "1"
 
-                 aliases: "400"
 
-                 backupmx: "0"
 
-                 defquota: "3072"
 
-                 description: some decsription
 
-                 domain: domain.tld
 
-                 lang: cs
 
-                 mailboxes: "10"
 
-                 maxquota: "10240"
 
-                 quota: "10240"
 
-                 relay_all_recipients: "0"
 
-                 rl_frame: s
 
-                 rl_value: "10"
 
-               properties:
 
-                 active:
 
-                   description: is domain active or not
 
-                   type: boolean
 
-                 aliases:
 
-                   description: limit count of aliases associated with this domain
 
-                   type: number
 
-                 backupmx:
 
-                   description: relay domain or not
 
-                   type: boolean
 
-                 defquota:
 
-                   description: predefined mailbox quota in `add mailbox` form
 
-                   type: number
 
-                 description:
 
-                   description: Description of domain
 
-                   type: string
 
-                 domain:
 
-                   description: Fully qualified domain name
 
-                   type: string
 
-                 lang:
 
-                   description: language code
 
-                   enum:
 
-                     - sk
 
-                     - cs
 
-                     - de
 
-                     - en
 
-                     - es
 
-                     - fr
 
-                     - lv
 
-                     - nl
 
-                     - pl
 
-                     - pt
 
-                     - ru
 
-                     - it
 
-                     - ca
 
-                   type: string
 
-                 mailboxes:
 
-                   description: limit count of mailboxes associated with this domain
 
-                   type: number
 
-                 maxquota:
 
-                   description: maximum quota per mailbox
 
-                   type: number
 
-                 quota:
 
-                   description: maximum quota for this domain (for all mailboxes in sum)
 
-                   type: number
 
-                 relay_all_recipients:
 
-                   description: >-
 
-                     if not, them you have to create "dummy" mailbox for each
 
-                     address to relay
 
-                   type: boolean
 
-                 rl_frame:
 
-                   enum:
 
-                     - s
 
-                     - m
 
-                     - h
 
-                   type: string
 
-                 rl_value:
 
-                   description: rate limit value
 
-                   type: number
 
-               type: object
 
-       summary: Create domain
 
-   /api/v1/add/domain-admin:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - log:
 
-                         - domain_admin
 
-                         - add
 
-                         - active: "1"
 
-                           domains: mailcow.tld
 
-                           password: "*"
 
-                           password2: "*"
 
-                           username: testadmin
 
-                       msg:
 
-                         - domain_admin_added
 
-                         - testadmin
 
-                       type: success
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Domain admin
 
-       description: >-
 
-         Using this endpoint you can create a new Domain Admin user. This user
 
-         has full control over a domain, and can create new mailboxes and
 
-         aliases.
 
-       operationId: Create Domain Admin user
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 active: "1"
 
-                 domains: mailcow.tld
 
-                 password: supersecurepw
 
-                 password2: supersecurepw
 
-                 username: testadmin
 
-               properties:
 
-                 active:
 
-                   description: 1 for a active user account 0 for a disabled user account
 
-                   type: number
 
-                 domains:
 
-                   description: the domains the user should be a admin of
 
-                   type: string
 
-                 password:
 
-                   description: domain admin user password
 
-                   type: string
 
-                 password2:
 
-                   description: domain admin user password
 
-                   type: string
 
-                 username:
 
-                   description: the username for the admin user
 
-                   type: string
 
-               type: object
 
-       summary: Create Domain Admin user
 
-   /api/v1/edit/da-acl:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - type: success
 
-                       log:
 
-                       - acl
 
-                       - edit
 
-                       - testadmin
 
-                       - username:
 
-                         - testadmin
 
-                         da_acl:
 
-                         - syncjobs
 
-                         - quarantine
 
-                         - login_as
 
-                         - sogo_access
 
-                         - app_passwds
 
-                         - bcc_maps
 
-                         - pushover
 
-                         - filters
 
-                         - ratelimit
 
-                         - spam_policy
 
-                         - extend_sender_acl
 
-                         - unlimited_quota
 
-                         - protocol_access
 
-                         - smtp_ip_access
 
-                         - alias_domains
 
-                         - domain_desc
 
-                       msg:
 
-                       - acl_saved
 
-                       - testadmin
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Domain admin
 
-       description: >-
 
-         Using this endpoint you can edit the ACLs of a Domain Admin user. This user
 
-         has full control over a domain, and can create new mailboxes and
 
-         aliases.
 
-       operationId: Edit Domain Admin ACL
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 items:
 
-                 - testadmin
 
-                 attr:
 
-                   da_acl:
 
-                   - syncjobs
 
-                   - quarantine
 
-                   - login_as
 
-                   - sogo_access
 
-                   - app_passwds
 
-                   - bcc_maps
 
-                   - pushover
 
-                   - filters
 
-                   - ratelimit
 
-                   - spam_policy
 
-                   - extend_sender_acl
 
-                   - unlimited_quota
 
-                   - protocol_access
 
-                   - smtp_ip_access
 
-                   - alias_domains
 
-                   - domain_desc
 
-               properties:
 
-                 items:
 
-                   description: contains the domain admin username you want to edit
 
-                   type: object
 
-                 attr:
 
-                   properties:
 
-                     da_acl:
 
-                       description: contains the list of acl names that are active for this user
 
-                       type: object
 
-                   type: object
 
-       summary: Edit Domain Admin ACL
 
-   /api/v1/edit/domain-admin:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - type: success
 
-                       log:
 
-                         - domain_admin
 
-                         - edit
 
-                         - username: testadmin
 
-                           active: ["0","1"]
 
-                           username_new: testadmin
 
-                           domains: ["domain.tld"]
 
-                           password: "*"
 
-                           password2: "*"
 
-                       msg:
 
-                         - domain_admin_modified
 
-                         - testadmin
 
-               schema:
 
-                 properties:
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Domain admin
 
-       description: >-
 
-         Using this endpoint you can edit a existing Domain Admin user. This user
 
-         has full control over a domain, and can create new mailboxes and
 
-         aliases.
 
-       operationId: Edit Domain Admin user
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 items:
 
-                 - testadmin
 
-                 attr:
 
-                   active:
 
-                   - '0'
 
-                   - '1'
 
-                   username_new: testadmin
 
-                   domains: ["domain.tld"]
 
-                   password: supersecurepassword
 
-                   password2: supersecurepassword
 
-               properties:
 
-                 attr:
 
-                   properties:
 
-                     active:
 
-                       description: is the domain admin active or not
 
-                       type: array
 
-                     username_new:
 
-                       description: the username of the domain admin, change this to change the username
 
-                       type: string
 
-                     domains:
 
-                       description: a list of all domains managed by this domain admin
 
-                       type: array
 
-                     password:
 
-                       description: the new domain admin user password
 
-                       type: string
 
-                     password2:
 
-                       description: the new domain admin user password for confirmation
 
-                       type: string
 
-                   type: object
 
-                 items:
 
-                   description: contains the domain admin username you want to edit
 
-                   type: object
 
-       summary: Edit Domain Admin user
 
-   /api/v1/add/domain-policy:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - log:
 
-                         - policy
 
-                         - add
 
-                         - domain
 
-                         - domain: domain.tld
 
-                           object_from: "*@baddomain.tld"
 
-                           object_list: bl
 
-                       msg:
 
-                         - domain_modified
 
-                         - domain.tld
 
-                       type: success
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Domain antispam policies
 
-       description: >-
 
-         You may create your own domain policy using this action. It takes a JSON
 
-         object containing a domain informations.
 
-       operationId: Create domain policy
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 domain: domain.tld
 
-                 object_from: "*@baddomain.tld"
 
-                 object_list: bl
 
-               properties:
 
-                 domain:
 
-                   description: domain name to which policy is associated to
 
-                   type: string
 
-                 object_from:
 
-                   description: exact address or use wildcard to match whole domain
 
-                   type: string
 
-                 object_list:
 
-                   enum:
 
-                     - wl
 
-                     - bl
 
-                   type: string
 
-               type: object
 
-       summary: Create domain policy
 
-   /api/v1/add/fwdhost:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - log:
 
-                         - fwdhost
 
-                         - add
 
-                         - filter_spam: "0"
 
-                           hostname: hosted.mailcow.de
 
-                       msg:
 
-                         - forwarding_host_added
 
-                         - "5.1.76.202, 2a00:f820:417::202"
 
-                       type: success
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Fordwarding Hosts
 
-       description: >-
 
-         Add a new Forwarding host to mailcow. You can chose to enable or disable
 
-         spam filtering of incoming emails by specifing `filter_spam` 0 =
 
-         inactive, 1 = active.
 
-       operationId: Add Forward Host
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 filter_spam: "0"
 
-                 hostname: hosted.mailcow.de
 
-               properties:
 
-                 filter_spam:
 
-                   description: "1 to enable spam filter, 0 to disable spam filter"
 
-                   type: number
 
-                 hostname:
 
-                   description: contains the hostname you want to add
 
-                   type: string
 
-               type: object
 
-       summary: Add Forward Host
 
-   /api/v1/add/mailbox:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - log:
 
-                         - mailbox
 
-                         - add
 
-                         - mailbox
 
-                         - active: "1"
 
-                           domain: domain.tld
 
-                           local_part: info
 
-                           name: Full name
 
-                           password: "*"
 
-                           password2: "*"
 
-                           quota: "3072"
 
-                           force_pw_update: "1"
 
-                           tls_enforce_in: "1"
 
-                           tls_enforce_out: "1"
 
-                         - null
 
-                       msg:
 
-                         - mailbox_added
 
-                         - info@domain.tld
 
-                       type: success
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Mailboxes
 
-       description: >-
 
-         You may create your own mailbox using this action. It takes a JSON
 
-         object containing a domain informations.
 
-       operationId: Create mailbox
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 active: "1"
 
-                 domain: domain.tld
 
-                 local_part: info
 
-                 name: Full name
 
-                 password: atedismonsin
 
-                 password2: atedismonsin
 
-                 quota: "3072"
 
-                 force_pw_update: "1"
 
-                 tls_enforce_in: "1"
 
-                 tls_enforce_out: "1"
 
-               properties:
 
-                 active:
 
-                   description: is mailbox active or not
 
-                   type: boolean
 
-                 domain:
 
-                   description: domain name
 
-                   type: string
 
-                 local_part:
 
-                   description: left part of email address
 
-                   type: string
 
-                 name:
 
-                   description: Full name of the mailbox user
 
-                   type: string
 
-                 password2:
 
-                   description: mailbox password for confirmation
 
-                   type: string
 
-                 pasword:
 
-                   description: mailbox password
 
-                   type: string
 
-                 quota:
 
-                   description: mailbox quota
 
-                   type: number
 
-                 force_pw_update:
 
-                   description: forces the user to update its password on first login
 
-                   type: boolean
 
-                 tls_enforce_in:
 
-                   description: force inbound email tls encryption
 
-                   type: boolean
 
-                 tls_enforce_out:
 
-                   description: force oubound tmail tls encryption
 
-                   type: boolean
 
-               type: object
 
-       summary: Create mailbox
 
-   /api/v1/add/oauth2-client:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - log:
 
-                         - oauth2
 
-                         - add
 
-                         - client
 
-                         - redirect_uri: "https://mailcow.tld"
 
-                       msg: Added client access
 
-                       type: success
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - oAuth Clients
 
-       description: Using this endpoint you can create a oAuth clients.
 
-       operationId: Create oAuth Client
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 redirect_uri: "https://mailcow.tld"
 
-               properties:
 
-                 redirect_uri:
 
-                   description: the uri where you should be redirected after oAuth
 
-                   type: string
 
-               type: object
 
-       summary: Create oAuth Client
 
-   /api/v1/add/recipient_map:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - log:
 
-                         - recipient_map
 
-                         - add
 
-                         - active: "1"
 
-                           recipient_map_new: target@mailcow.tld
 
-                           recipient_map_old: recipient@mailcow.tld
 
-                         - null
 
-                       msg:
 
-                         - recipient_map_entry_saved
 
-                         - recipient@mailcow.tld
 
-                       type: success
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Address Rewriting
 
-       description: >-
 
-         Using this endpoint you can create a recipient map to forward all mails
 
-         from one email address to another.
 
-       operationId: Create Recipient Map
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 active: "1"
 
-                 recipient_map_new: target@mailcow.tld
 
-                 recipient_map_old: recipient@mailcow.tld
 
-               properties:
 
-                 active:
 
-                   description: 1 for a active user account 0 for a disabled user account
 
-                   type: number
 
-                 recipient_map_new:
 
-                   description: the email address that should receive the forwarded emails
 
-                   type: string
 
-                 recipient_map_old:
 
-                   description: the email address which emails should be forwarded
 
-                   type: string
 
-               type: object
 
-       summary: Create Recipient Map
 
-   /api/v1/add/relayhost:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - log:
 
-                         - relayhost
 
-                         - add
 
-                         - hostname: "mailcow.tld:25"
 
-                           password: supersecurepassword
 
-                           username: testuser
 
-                       msg:
 
-                         - relayhost_added
 
-                         - ""
 
-                       type: success
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Routing
 
-       description: Using this endpoint you can create Sender-Dependent Transports.
 
-       operationId: Create Sender-Dependent Transports
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 hostname: "mailcow.tld:25"
 
-                 password: supersecurepassword
 
-                 username: testuser
 
-               properties:
 
-                 hostname:
 
-                   description: the hostname of the smtp server with port
 
-                   type: string
 
-                 password:
 
-                   description: the password for the smtp user
 
-                   type: string
 
-                 username:
 
-                   description: the username used to authenticate
 
-                   type: string
 
-               type: object
 
-       summary: Create Sender-Dependent Transports
 
-   /api/v1/add/resource:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - log:
 
-                         - mailbox
 
-                         - add
 
-                         - resource
 
-                         - active: "1"
 
-                           description: test
 
-                           domain: mailcow.tld
 
-                           kind: location
 
-                           multiple_bookings: "0"
 
-                           multiple_bookings_custom: ""
 
-                           multiple_bookings_select: "0"
 
-                         - null
 
-                       msg:
 
-                         - resource_added
 
-                         - mailcow.tld
 
-                       type: success
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Resources
 
-       description: Using this endpoint you can create Resources.
 
-       operationId: Create Resources
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 active: "1"
 
-                 description: test
 
-                 domain: mailcow.tld
 
-                 kind: location
 
-                 multiple_bookings: "0"
 
-                 multiple_bookings_custom: ""
 
-                 multiple_bookings_select: "0"
 
-               properties:
 
-                 active:
 
-                   description: 1 for a active transport map 0 for a disabled transport map
 
-                   type: number
 
-                 description:
 
-                   description: a description of the resource
 
-                   type: string
 
-                 domain:
 
-                   description: the domain for which the resource should be
 
-                   type: string
 
-                 kind:
 
-                   description: the kind of recouse
 
-                   enum:
 
-                     - location
 
-                     - group
 
-                     - thing
 
-                   type: string
 
-                 multiple_bookings:
 
-                   enum:
 
-                     - "-1"
 
-                     - "1"
 
-                     - custom
 
-                   type: string
 
-                 multiple_bookings_custom:
 
-                   description: always empty
 
-                   type: number
 
-                 multiple_bookings_select:
 
-                   enum:
 
-                     - "-1"
 
-                     - "1"
 
-                     - custom
 
-                   type: string
 
-               type: object
 
-       summary: Create Resources
 
-   /api/v1/add/syncjob:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - log:
 
-                         - mailbox
 
-                         - add
 
-                         - syncjob
 
-                         - active: "1"
 
-                           automap: "1"
 
-                           custom_params: ""
 
-                           delete1: "0"
 
-                           delete2: "0"
 
-                           delete2duplicates: "1"
 
-                           enc1: SSL
 
-                           exclude: (?i)spam|(?i)junk
 
-                           host1: imap.server.tld
 
-                           maxage: "0"
 
-                           maxbytespersecond: "0"
 
-                           mins_interval: "20"
 
-                           password1: supersecret
 
-                           port1: 993
 
-                           skipcrossduplicates: "0"
 
-                           subfolder2: External
 
-                           subscribeall: "1"
 
-                           timeout1: "600"
 
-                           timeout2: "600"
 
-                           user1: username
 
-                           username: mailbox@domain.tld
 
-                         - null
 
-                       msg:
 
-                         - mailbox_modified
 
-                         - mailbox@domain.tld
 
-                       type: success
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Sync jobs
 
-       description: >-
 
-         You can create new sync job using this action. It takes a JSON object
 
-         containing a domain informations.
 
-       operationId: Create sync job
 
-       summary: Create sync job
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 username: lisa@mailcow.tld
 
-                 host1: mail.mailcow.tld
 
-                 port1: "143"
 
-                 user1: demo@mailcow.tld
 
-                 password1: supersecretpw
 
-                 enc1: TLS
 
-                 mins_interval: "20"
 
-                 subfolder2: "/SyncIntoSubfolder"
 
-                 maxage: "0"
 
-                 maxbytespersecond: "0"
 
-                 timeout1: "600"
 
-                 timeout2: "600"
 
-                 exclude: "(?i)spam|(?i)junk"
 
-                 custom_params: "--dry"
 
-                 delete2duplicates: "1"
 
-                 delete1: "1"
 
-                 delete2: "0"
 
-                 automap: "1"
 
-                 skipcrossduplicates: "0"
 
-                 subscribeall: "0"
 
-                 active: "1"
 
-               properties:
 
-                 parameters:
 
-                   description: your local mailcow mailbox
 
-                   type: string
 
-                 host1:
 
-                   description: the smtp server where mails should be synced from
 
-                   type: string
 
-                 port1:
 
-                   description: the smtp port of the target mail server
 
-                   type: string
 
-                 password:
 
-                   description: the password of the mailbox
 
-                   type: string
 
-                 enc1:
 
-                   description: the encryption method used to connect to the mailserver
 
-                   type: string
 
-                 mins_internal:
 
-                   description: the interval in which messages should be syned
 
-                   type: number
 
-                 subfolder2:
 
-                   description: sync into subfolder on destination (empty = do not use subfolder)
 
-                   type: string
 
-                 maxage:
 
-                   description: only sync messages up to this age in days
 
-                   type: number
 
-                 maxbytespersecond:
 
-                   description: max speed transfer limit for the sync
 
-                   type: number
 
-                 timeout1:
 
-                   description: timeout for connection to remote host
 
-                   type: number
 
-                 timeout2:
 
-                   description: timeout for connection to local host
 
-                   type: number
 
-                 exclude:
 
-                   description: exclude objects (regex)
 
-                   type: string
 
-                 custom_params:
 
-                   description: custom parameters
 
-                   type: string
 
-                 delete2duplicates:
 
-                   description: delete duplicates on destination (--delete2duplicates)
 
-                   type: boolean
 
-                 delete1:
 
-                   description: delete from source when completed (--delete1)
 
-                   type: boolean
 
-                 delete2:
 
-                   description: delete messages on destination that are not on source (--delete2)
 
-                   type: boolean
 
-                 automap:
 
-                   description: try to automap folders ("Sent items", "Sent" => "Sent" etc.) (--automap)
 
-                   type: boolean
 
-                 skipcrossduplicates:
 
-                   description: skip duplicate messages across folders (first come, first serve) (--skipcrossduplicates)
 
-                   type: boolean
 
-                 subscribeall:
 
-                   description: subscribe all folders (--subscribeall)
 
-                   type: boolean
 
-                 active:
 
-                   description: enables or disables the sync job
 
-                   type: boolean
 
-               type: object
 
-   /api/v1/add/tls-policy-map:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - log:
 
-                         - tls_policy_maps
 
-                         - add
 
-                         - parameters: ""
 
-                           active: "1"
 
-                           dest: mailcow.tld
 
-                           policy: encrypt
 
-                         - null
 
-                       msg:
 
-                         - tls_policy_map_entry_saved
 
-                         - mailcow.tld
 
-                       type: success
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Outgoing TLS Policy Map Overrides
 
-       description: Using this endpoint you can create a TLS policy map override.
 
-       operationId: Create TLS Policy Map
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 parameters: ""
 
-                 active: "1"
 
-                 dest: mailcow.tld
 
-                 policy: encrypt
 
-               properties:
 
-                 parameters:
 
-                   description: >-
 
-                     custom parameters you find out more about them
 
-                     [here](http://www.postfix.org/postconf.5.html#smtp_tls_policy_maps)
 
-                   type: string
 
-                 active:
 
-                   description: 1 for a active user account 0 for a disabled user account
 
-                   type: number
 
-                 dest:
 
-                   description: the target domain or email address
 
-                   type: string
 
-                 policy:
 
-                   description: the policy
 
-                   enum:
 
-                     - none
 
-                     - may
 
-                     - encrypt
 
-                     - dane
 
-                     - "'dane"
 
-                     - fingerprint
 
-                     - verify
 
-                     - secure
 
-                   type: string
 
-               type: object
 
-       summary: Create TLS Policy Map
 
-   /api/v1/add/transport/all:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - log:
 
-                         - transport
 
-                         - add
 
-                         - active: "1"
 
-                           destination: example2.org
 
-                           nexthop: "host:25"
 
-                           password: supersecurepw
 
-                           username: testuser
 
-                       msg:
 
-                         - relayhost_added
 
-                         - ""
 
-                       type: success
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Routing
 
-       description: Using this endpoint you can create Sender-Dependent Transports.
 
-       operationId: Create Transport Maps
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 active: "1"
 
-                 destination: example.org
 
-                 nexthop: "host:25"
 
-                 password: supersecurepw
 
-                 username: testuser
 
-               properties:
 
-                 active:
 
-                   description: 1 for a active transport map 0 for a disabled transport map
 
-                   type: number
 
-                 destination:
 
-                   type: string
 
-                 nexthop:
 
-                   type: string
 
-                 password:
 
-                   description: the password for the smtp user
 
-                   type: string
 
-                 username:
 
-                   description: the username used to authenticate
 
-                   type: string
 
-               type: object
 
-       summary: Create Transport Maps
 
-   /api/v1/delete/alias:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - log:
 
-                         - mailbox
 
-                         - delete
 
-                         - alias
 
-                         - id:
 
-                             - "6"
 
-                             - "9"
 
-                         - null
 
-                       msg:
 
-                         - alias_removed
 
-                         - alias@domain.tld
 
-                       type: success
 
-                     - log:
 
-                         - mailbox
 
-                         - delete
 
-                         - alias
 
-                         - id:
 
-                             - "6"
 
-                             - "9"
 
-                         - null
 
-                       msg:
 
-                         - alias_removed
 
-                         - alias2@domain.tld
 
-                       type: success
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Aliases
 
-       description: You can delete one or more aliases.
 
-       operationId: Delete alias
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               items:
 
-                 example: "6"
 
-                 type: string
 
-               type: array
 
-       summary: Delete alias
 
-   /api/v1/delete/app-passwd:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - log:
 
-                         - app_passwd
 
-                         - delete
 
-                         - id:
 
-                             - "2"
 
-                       msg:
 
-                         - app_passwd_removed
 
-                         - "2"
 
-                       type: success
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - App Passwords
 
-       description: Using this endpoint you can delete a single app password.
 
-       operationId: Delete App Password
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 - "1"
 
-               properties:
 
-                 items:
 
-                   description: contains list of app passwords you want to delete
 
-                   type: object
 
-               type: object
 
-       summary: Delete App Password
 
-   /api/v1/delete/bcc:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - log:
 
-                         - bcc
 
-                         - delete
 
-                         - id:
 
-                             - "4"
 
-                         - null
 
-                       msg:
 
-                         - bcc_deleted
 
-                         - "4"
 
-                       type: success
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Address Rewriting
 
-       description: >-
 
-         Using this endpoint you can delete a BCC map, for this you have to know
 
-         its ID. You can get the ID using the GET method.
 
-       operationId: Delete BCC Map
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 - "3"
 
-               properties:
 
-                 items:
 
-                   description: contains list of bcc maps you want to delete
 
-                   type: object
 
-               type: object
 
-       summary: Delete BCC Map
 
-   /api/v1/delete/dkim:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - log:
 
-                         - dkim
 
-                         - delete
 
-                         - domains:
 
-                             - mailcow.tld
 
-                       msg:
 
-                         - dkim_removed
 
-                         - mailcow.tld
 
-                       type: success
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - DKIM
 
-       description: Using this endpoint a existing DKIM Key can be deleted
 
-       operationId: Delete DKIM Key
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               items:
 
-                 example:
 
-                   - mailcow.tld
 
-                 type: string
 
-               type: array
 
-       summary: Delete DKIM Key
 
-   /api/v1/delete/domain:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - log:
 
-                         - mailbox
 
-                         - delete
 
-                         - domain
 
-                         - domain:
 
-                             - domain.tld
 
-                             - domain2.tld
 
-                         - null
 
-                       msg:
 
-                         - domain_removed
 
-                         - domain.tld
 
-                       type: success
 
-                     - log:
 
-                         - mailbox
 
-                         - delete
 
-                         - domain
 
-                         - domain:
 
-                             - domain.tld
 
-                             - domain2.tld
 
-                         - null
 
-                       msg:
 
-                         - domain_removed
 
-                         - domain2.tld
 
-                       type: success
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Domains
 
-       description: You can delete one or more domains.
 
-       operationId: Delete domain
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 - domain.tld
 
-                 - domain2.tld
 
-               properties:
 
-                 items:
 
-                   description: contains list of domains you want to delete
 
-                   type: object
 
-               type: object
 
-       summary: Delete domain
 
-   /api/v1/delete/domain-admin:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - log:
 
-                         - domain_admin
 
-                         - delete
 
-                         - username:
 
-                             - testadmin
 
-                       msg:
 
-                         - domain_admin_removed
 
-                         - testadmin
 
-                       type: success
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Domain admin
 
-       description: Using this endpoint a existing Domain Admin user can be deleted.
 
-       operationId: Delete Domain Admin
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 - testadmin
 
-               properties:
 
-                 items:
 
-                   description: contains list of usernames of the users you want to delete
 
-                   type: object
 
-               type: object
 
-       summary: Delete Domain Admin
 
-   /api/v1/delete/domain-policy:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - log:
 
-                         - policy
 
-                         - delete
 
-                         - domain
 
-                         - prefid:
 
-                             - "1"
 
-                             - "2"
 
-                       msg:
 
-                         - item_deleted
 
-                         - "1"
 
-                       type: success
 
-                     - log:
 
-                         - policy
 
-                         - delete
 
-                         - domain
 
-                         - prefid:
 
-                             - "1"
 
-                             - "2"
 
-                       msg:
 
-                         - item_deleted
 
-                         - "2"
 
-                       type: success
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Domain antispam policies
 
-       description: You can delete one o more domain policies.
 
-       operationId: Delete domain policy
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 - "1"
 
-                 - "2"
 
-               properties:
 
-                 items:
 
-                   description: contains list of domain policys you want to delete
 
-                   type: object
 
-               type: object
 
-       summary: Delete domain policy
 
-   /api/v1/delete/fwdhost:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - log:
 
-                         - fwdhost
 
-                         - delete
 
-                         - forwardinghost:
 
-                             - 5.1.76.202
 
-                             - "2a00:f820:417::202"
 
-                       msg:
 
-                         - forwarding_host_removed
 
-                         - 5.1.76.202
 
-                       type: success
 
-                     - log:
 
-                         - fwdhost
 
-                         - delete
 
-                         - forwardinghost:
 
-                             - 5.1.76.202
 
-                             - "2a00:f820:417::202"
 
-                       msg:
 
-                         - forwarding_host_removed
 
-                         - "2a00:f820:417::202"
 
-                       type: success
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Fordwarding Hosts
 
-       description: >-
 
-         Using this endpoint you can delete a forwarding host, in order to do so
 
-         you need to know the IP of the host.
 
-       operationId: Delete Forward Host
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 - 5.1.76.202
 
-                 - "2a00:f820:417::202"
 
-               properties:
 
-                 ip:
 
-                   description: contains the ip of the fowarding host you want to delete
 
-                   type: string
 
-               type: object
 
-       summary: Delete Forward Host
 
-   /api/v1/delete/mailbox:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - log:
 
-                         - mailbox
 
-                         - delete
 
-                         - mailbox
 
-                         - username:
 
-                             - info@domain.tld
 
-                             - sales@domain.tld
 
-                         - null
 
-                       msg:
 
-                         - mailbox_removed
 
-                         - info@domain.tld
 
-                       type: success
 
-                     - log:
 
-                         - mailbox
 
-                         - delete
 
-                         - mailbox
 
-                         - username:
 
-                             - info@domain.tld
 
-                             - sales@domain.tld
 
-                         - null
 
-                       msg:
 
-                         - mailbox_removed
 
-                         - sales@domain.tld
 
-                       type: success
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Mailboxes
 
-       description: You can delete one or more mailboxes.
 
-       operationId: Delete mailbox
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 - info@domain.tld
 
-                 - sales@domain.tld
 
-               properties:
 
-                 items:
 
-                   description: contains list of mailboxes you want to delete
 
-                   type: object
 
-               type: object
 
-       summary: Delete mailbox
 
-   /api/v1/delete/mailq:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     msg: Task completed
 
-                     type: success
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Queue Manager
 
-       description: >-
 
-         Using this API you can delete the current mail queue. This will delete
 
-         all mails in it.
 
-         This API uses the command: `postsuper -d`
 
-       operationId: Delete Queue
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 action: super_delete
 
-               properties:
 
-                 action:
 
-                   description: use super_delete to delete the mail queue
 
-                   type: string
 
-               type: object
 
-       summary: Delete Queue
 
-   /api/v1/delete/oauth2-client:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - log:
 
-                         - oauth2
 
-                         - delete
 
-                         - client
 
-                         - id:
 
-                             - "1"
 
-                       msg:
 
-                         - items_deleted
 
-                         - "1"
 
-                       type: success
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - oAuth Clients
 
-       description: >-
 
-         Using this endpoint you can delete a oAuth client, for this you have to
 
-         know its ID. You can get the ID using the GET method.
 
-       operationId: Delete oAuth Client
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 - "3"
 
-               properties:
 
-                 items:
 
-                   description: contains list of oAuth clients you want to delete
 
-                   type: object
 
-               type: object
 
-       summary: Delete oAuth Client
 
-   /api/v1/delete/qitem:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - log:
 
-                         - quarantine
 
-                         - delete
 
-                         - id:
 
-                             - "33"
 
-                       msg:
 
-                         - item_deleted
 
-                         - "33"
 
-                       type: success
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Quarantine
 
-       description: >-
 
-         Using this endpoint you can delete a email from quarantine, for this you
 
-         have to know its ID. You can get the ID using the GET method.
 
-       operationId: Delete mails in Quarantine
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 - "33"
 
-               properties:
 
-                 items:
 
-                   description: contains list of emails you want to delete
 
-                   type: object
 
-               type: object
 
-       summary: Delete mails in Quarantine
 
-   /api/v1/delete/recipient_map:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - log:
 
-                         - recipient_map
 
-                         - delete
 
-                         - id:
 
-                             - "1"
 
-                         - null
 
-                       msg:
 
-                         - recipient_map_entry_deleted
 
-                         - "1"
 
-                       type: success
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Address Rewriting
 
-       description: >-
 
-         Using this endpoint you can delete a recipient map, for this you have to
 
-         know its ID. You can get the ID using the GET method.
 
-       operationId: Delete Recipient Map
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 - "1"
 
-               properties:
 
-                 items:
 
-                   description: contains list of recipient maps you want to delete
 
-                   type: object
 
-               type: object
 
-       summary: Delete Recipient Map
 
-   /api/v1/delete/relayhost:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - log:
 
-                         - relayhost
 
-                         - delete
 
-                         - id:
 
-                             - "1"
 
-                       msg:
 
-                         - relayhost_removed
 
-                         - "1"
 
-                       type: success
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Routing
 
-       description: >-
 
-         Using this endpoint you can delete a Sender-Dependent Transport, for
 
-         this you have to know its ID. You can get the ID using the GET method.
 
-       operationId: Delete Sender-Dependent Transports
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 - "1"
 
-               properties:
 
-                 items:
 
-                   description: >-
 
-                     contains list of Sender-Dependent Transport you want to
 
-                     delete
 
-                   type: object
 
-               type: object
 
-       summary: Delete Sender-Dependent Transports
 
-   /api/v1/delete/resource:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - log:
 
-                         - mailbox
 
-                         - delete
 
-                         - resource
 
-                         - name:
 
-                             - test@mailcow.tld
 
-                         - null
 
-                       msg:
 
-                         - resource_removed
 
-                         - test@mailcow.tld
 
-                       type: success
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Resources
 
-       description: >-
 
-         Using this endpoint you can delete a Resources, for this you have to
 
-         know its ID. You can get the ID using the GET method.
 
-       operationId: Delete Resources
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 - test@mailcow.tld
 
-               properties:
 
-                 items:
 
-                   description: contains list of Resources you want to delete
 
-                   type: object
 
-               type: object
 
-       summary: Delete Resources
 
-   /api/v1/delete/syncjob:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     log:
 
-                       - entity
 
-                       - action
 
-                       - object
 
-                     msg:
 
-                       - message
 
-                       - entity name
 
-                     type: success
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Sync jobs
 
-       description: You can delete one or more sync jobs.
 
-       operationId: Delete sync job
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 - "6"
 
-                 - "9"
 
-               properties:
 
-                 items:
 
-                   description: contains list of aliases you want to delete
 
-                   type: object
 
-               type: object
 
-       summary: Delete sync job
 
-   /api/v1/delete/tls-policy-map:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - log:
 
-                         - tls_policy_maps
 
-                         - delete
 
-                         - id:
 
-                             - "1"
 
-                         - null
 
-                       msg:
 
-                         - tls_policy_map_entry_deleted
 
-                         - "1"
 
-                       type: success
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Outgoing TLS Policy Map Overrides
 
-       description: >-
 
-         Using this endpoint you can delete a TLS Policy Map, for this you have
 
-         to know its ID. You can get the ID using the GET method.
 
-       operationId: Delete TLS Policy Map
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 - "3"
 
-               properties:
 
-                 items:
 
-                   description: contains list of tls policy maps you want to delete
 
-                   type: object
 
-               type: object
 
-       summary: Delete TLS Policy Map
 
-   /api/v1/delete/transport:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - log:
 
-                         - transport
 
-                         - delete
 
-                         - id:
 
-                             - "1"
 
-                       msg:
 
-                         - relayhost_removed
 
-                         - "1"
 
-                       type: success
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Routing
 
-       description: >-
 
-         Using this endpoint you can delete a Transport Maps, for this you have
 
-         to know its ID. You can get the ID using the GET method.
 
-       operationId: Delete Transport Maps
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 - "1"
 
-               properties:
 
-                 items:
 
-                   description: contains list of transport maps you want to delete
 
-                   type: object
 
-               type: object
 
-       summary: Delete Transport Maps
 
-   /api/v1/edit/alias:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - log:
 
-                         - mailbox
 
-                         - edit
 
-                         - alias
 
-                         - active: "1"
 
-                           address: alias@domain.tld
 
-                           goto: destination@domain.tld
 
-                           id:
 
-                             - "6"
 
-                           private_comment: private comment
 
-                           public_comment: public comment
 
-                         - null
 
-                       msg:
 
-                         - alias_modified
 
-                         - alias@domain.tld
 
-                       type: success
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Aliases
 
-       description: >-
 
-         You can update one or more aliases per request. You can also send just
 
-         attributes you want to change
 
-       operationId: Update alias
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 attr:
 
-                   active: "1"
 
-                   address: alias@domain.tld
 
-                   goto: destination@domain.tld
 
-                   private_comment: private comment
 
-                   public_comment: public comment
 
-                 items: ["6"]
 
-               properties:
 
-                 attr:
 
-                   properties:
 
-                     active:
 
-                       description: is alias active or not
 
-                       type: boolean
 
-                     address:
 
-                       description: 'alias address, for catchall use "@domain.tld"'
 
-                       type: string
 
-                     goto:
 
-                       description: "destination address, comma separated"
 
-                       type: string
 
-                     goto_ham:
 
-                       description: learn as ham
 
-                       type: boolean
 
-                     goto_null:
 
-                       description: silently ignore
 
-                       type: boolean
 
-                     goto_spam:
 
-                       description: learn as spam
 
-                       type: boolean
 
-                     private_comment:
 
-                       type: string
 
-                     public_comment:
 
-                       type: string
 
-                   type: object
 
-                 items:
 
-                   description: contains list of aliases you want update
 
-                   type: object
 
-               type: object
 
-       summary: Update alias
 
-   /api/v1/edit/domain:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             "*/*":
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Domains
 
-       description: >-
 
-         You can update one or more domains per request. You can also send just
 
-         attributes you want to change.
 
-         Example: You can add domain names to items list and in attr object just
 
-         include `"active": "0"` to deactivate domains.
 
-       operationId: Update domain
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 attr:
 
-                   active: "1"
 
-                   aliases: "400"
 
-                   backupmx: "1"
 
-                   defquota: "3072"
 
-                   description: domain description
 
-                   gal: "1"
 
-                   lang: cs
 
-                   mailboxes: "10"
 
-                   maxquota: "10240"
 
-                   quota: "10240"
 
-                   relay_all_recipients: "0"
 
-                   relayhost: "2"
 
-                 items: domain.tld
 
-               properties:
 
-                 attr:
 
-                   properties:
 
-                     active:
 
-                       description: is domain active or not
 
-                       type: boolean
 
-                     aliases:
 
-                       description: limit count of aliases associated with this domain
 
-                       type: number
 
-                     backupmx:
 
-                       description: relay domain or not
 
-                       type: boolean
 
-                     defquota:
 
-                       description: predefined mailbox quota in `add mailbox` form
 
-                       type: number
 
-                     description:
 
-                       description: Description of domain
 
-                       type: string
 
-                     gal:
 
-                       description: >-
 
-                         is domain global address list active or not, it enables
 
-                         shared contacts accross domain in SOGo webmail
 
-                       type: boolean
 
-                     lang:
 
-                       description: language code
 
-                       enum:
 
-                         - sk
 
-                         - cs
 
-                         - de
 
-                         - en
 
-                         - es
 
-                         - fr
 
-                         - lv
 
-                         - nl
 
-                         - pl
 
-                         - pt
 
-                         - ru
 
-                         - it
 
-                         - ca
 
-                       type: string
 
-                     mailboxes:
 
-                       description: limit count of mailboxes associated with this domain
 
-                       type: number
 
-                     maxquota:
 
-                       description: maximum quota per mailbox
 
-                       type: number
 
-                     quota:
 
-                       description: maximum quota for this domain (for all mailboxes in sum)
 
-                       type: number
 
-                     relay_all_recipients:
 
-                       description: >-
 
-                         if not, them you have to create "dummy" mailbox for each
 
-                         address to relay
 
-                       type: boolean
 
-                     relayhost:
 
-                       description: id of relayhost
 
-                       type: number
 
-                   type: object
 
-                 items:
 
-                   description: contains list of domain names you want update
 
-                   type: object
 
-               type: object
 
-       summary: Update domain
 
-   /api/v1/edit/fail2ban:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             "*/*":
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Fail2Ban
 
-       description: >-
 
-         Using this endpoint you can edit the Fail2Ban config and black or
 
-         whitelist new ips.
 
-       operationId: Edit Fail2Ban
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 attr:
 
-                   ban_time: "86400"
 
-                   blacklist: "10.100.6.5/32,10.100.8.4/32"
 
-                   max_attempts: "5"
 
-                   netban_ipv4: "24"
 
-                   netban_ipv6: "64"
 
-                   retry_window: "600"
 
-                   whitelist: mailcow.tld
 
-                 items: none
 
-               properties:
 
-                 attr:
 
-                   description: array containing the fail2ban settings
 
-                   properties:
 
-                     backlist:
 
-                       description: the backlisted ips or hostnames separated by comma
 
-                       type: string
 
-                     ban_time:
 
-                       description: the time a ip should be banned
 
-                       type: number
 
-                     max_attempts:
 
-                       description: the maximum numbe of wrong logins before a ip is banned
 
-                       type: number
 
-                     netban_ipv4:
 
-                       description: the networks mask to ban for ipv4
 
-                       type: number
 
-                     netban_ipv6:
 
-                       description: the networks mask to ban for ipv6
 
-                       type: number
 
-                     retry_window:
 
-                       description: >-
 
-                         the maximum time in which a ip as to login with false
 
-                         credentials to be banned
 
-                       type: number
 
-                     whitelist:
 
-                       description: whitelisted ips or hostnames sepereated by comma
 
-                       type: string
 
-                   type: object
 
-                 items:
 
-                   description: has to be none
 
-               type: object
 
-       summary: Edit Fail2Ban
 
-   /api/v1/edit/mailbox:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - log:
 
-                         - mailbox
 
-                         - edit
 
-                         - mailbox
 
-                         - active: "1"
 
-                           force_pw_update: "0"
 
-                           name: Full name
 
-                           password: "*"
 
-                           password2: "*"
 
-                           quota: "3072"
 
-                           sender_acl:
 
-                             - default
 
-                             - info@domain2.tld
 
-                             - domain3.tld
 
-                             - "*"
 
-                           sogo_access: "1"
 
-                           username:
 
-                             - info@domain.tld
 
-                         - null
 
-                       msg:
 
-                         - mailbox_modified
 
-                         - info@domain.tld
 
-                       type: success
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Mailboxes
 
-       description: >-
 
-         You can update one or more mailboxes per request. You can also send just
 
-         attributes you want to change
 
-       operationId: Update mailbox
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 attr:
 
-                   active: "1"
 
-                   force_pw_update: "0"
 
-                   name: Full name
 
-                   password: ""
 
-                   password2: ""
 
-                   quota: "3072"
 
-                   sender_acl:
 
-                     - default
 
-                     - info@domain2.tld
 
-                     - domain3.tld
 
-                     - "*"
 
-                   sogo_access: "1"
 
-                 items: info@domain.tld
 
-               properties:
 
-                 attr:
 
-                   properties:
 
-                     active:
 
-                       description: is mailbox active or not
 
-                       type: boolean
 
-                     force_pw_update:
 
-                       description: force user to change password on next login
 
-                       type: boolean
 
-                     name:
 
-                       description: Full name of the mailbox user
 
-                       type: string
 
-                     password2:
 
-                       description: new mailbox password for confirmation
 
-                       type: string
 
-                     pasword:
 
-                       description: new mailbox password
 
-                       type: string
 
-                     quota:
 
-                       description: mailbox quota
 
-                       type: number
 
-                     sender_acl:
 
-                       description: list of allowed send from addresses
 
-                       type: object
 
-                     sogo_access:
 
-                       description: is access to SOGo webmail active or not
 
-                       type: boolean
 
-                   type: object
 
-                 items:
 
-                   description: contains list of mailboxes you want update
 
-                   type: object
 
-               type: object
 
-       summary: Update mailbox
 
-   /api/v1/edit/mailq:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     msg: Task completed
 
-                     type: success
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Queue Manager
 
-       description: >-
 
-         Using this API you can flush the current mail queue. This will try to
 
-         deliver all mails currently in it.
 
-         This API uses the command: `postqueue -f`
 
-       operationId: Flush Queue
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 action: flush
 
-               properties:
 
-                 action:
 
-                   description: use flush to flush the mail queue
 
-                   type: string
 
-               type: object
 
-       summary: Flush Queue
 
-   /api/v1/edit/pushover:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - log:
 
-                         - pushover
 
-                         - edit
 
-                         - active: "0"
 
-                           evaluate_x_prio: "0"
 
-                           key: 21e8918e1jksdjcpis712
 
-                           only_x_prio: "0"
 
-                           senders: ""
 
-                           senders_regex: ""
 
-                           text: ""
 
-                           title: Mail
 
-                           token: 9023e2ohcwed27d1idu2
 
-                           username:
 
-                             - info@domain.tld
 
-                       msg: pushover_settings_edited
 
-                       type: success
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Mailboxes
 
-       description: >-
 
-         Using this endpoint it is possible to update the pushover settings for
 
-         mailboxes
 
-       operationId: Update Pushover settings
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 attr:
 
-                   active: "0"
 
-                   evaluate_x_prio: "0"
 
-                   key: 21e8918e1jksdjcpis712
 
-                   only_x_prio: "0"
 
-                   senders: ""
 
-                   senders_regex: ""
 
-                   text: ""
 
-                   title: Mail
 
-                   token: 9023e2ohcwed27d1idu2
 
-                 items: info@domain.tld
 
-               properties:
 
-                 attr:
 
-                   properties:
 
-                     active:
 
-                       description: Enables pushover 1 disable pushover 0
 
-                       type: number
 
-                     evaluate_x_prio:
 
-                       description: Send the Push with High priority
 
-                       type: number
 
-                     key:
 
-                       description: Pushover key
 
-                       type: string
 
-                     only_x_prio:
 
-                       description: Only send push for prio mails
 
-                       type: number
 
-                     senders:
 
-                       description: Only send push for emails from these senders
 
-                       type: string
 
-                     senders_regex:
 
-                       description: Regex to match senders for which a push will be send
 
-                       type: string
 
-                     text:
 
-                       description: Custom push noficiation text
 
-                       type: string
 
-                     title:
 
-                       description: Push title
 
-                       type: string
 
-                     token:
 
-                       description: Pushover token
 
-                       type: string
 
-                   type: object
 
-                 items:
 
-                   description: contains list of mailboxes you want to delete
 
-                   type: object
 
-               type: object
 
-       summary: Update Pushover settings
 
-   /api/v1/edit/quarantine_notification:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Mailboxes
 
-       description: You can update one or more mailboxes per request.
 
-       operationId: Quarantine Notifications
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 attr:
 
-                   quarantine_notification: hourly
 
-                 items:
 
-                   anyOf:
 
-                     - mailbox1@domain.tld
 
-                     - mailbox2@domain.tld
 
-               properties:
 
-                 attr:
 
-                   properties:
 
-                     quarantine_notification:
 
-                       description: recurrence
 
-                       enum:
 
-                         - hourly
 
-                         - daily
 
-                         - weekly
 
-                         - never
 
-                       type: string
 
-                   type: object
 
-                 items:
 
-                   description: >-
 
-                     contains list of mailboxes you want set qurantine
 
-                     notifications
 
-                   type: object
 
-               type: object
 
-       summary: Quarantine Notifications
 
-   /api/v1/edit/syncjob:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     log:
 
-                       - entity
 
-                       - action
 
-                       - object
 
-                     msg:
 
-                       - message
 
-                       - entity name
 
-                     type: success
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Sync jobs
 
-       description: >-
 
-         You can update one or more sync jobs per request. You can also send just
 
-         attributes you want to change.
 
-       operationId: Update sync job
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 attr:
 
-                   active: "1"
 
-                   automap: "1"
 
-                   custom_params: ""
 
-                   delete1: "0"
 
-                   delete2: "0"
 
-                   delete2duplicates: "1"
 
-                   enc1: SSL
 
-                   exclude: (?i)spam|(?i)junk
 
-                   host1: imap.server.tld
 
-                   maxage: "0"
 
-                   maxbytespersecond: "0"
 
-                   mins_interval: "20"
 
-                   password1: supersecret
 
-                   port1: "993"
 
-                   skipcrossduplicates: "0"
 
-                   subfolder2: External
 
-                   subscribeall: "1"
 
-                   timeout1: "600"
 
-                   timeout2: "600"
 
-                   user1: username
 
-                 items: "1"
 
-               properties:
 
-                 attr:
 
-                   properties:
 
-                     active:
 
-                       description: Is sync job active
 
-                       type: boolean
 
-                     automap:
 
-                       description: >-
 
-                         Try to automap folders ("Sent items", "Sent" => "Sent"
 
-                         etc.)
 
-                       type: boolean
 
-                     custom_params:
 
-                       description: Custom parameters passed to imapsync command
 
-                       type: string
 
-                     delete1:
 
-                       description: Delete from source when completed
 
-                       type: boolean
 
-                     delete2:
 
-                       description: Delete messages on destination that are not on source
 
-                       type: boolean
 
-                     delete2duplicates:
 
-                       description: Delete duplicates on destination
 
-                       type: boolean
 
-                     enc1:
 
-                       description: Encryption
 
-                       enum:
 
-                         - TLS
 
-                         - SSL
 
-                         - PLAIN
 
-                       type: string
 
-                     exclude:
 
-                       description: Exclude objects (regex)
 
-                       type: string
 
-                     host1:
 
-                       description: Hostname
 
-                       type: string
 
-                     maxage:
 
-                       description: >-
 
-                         Maximum age of messages in days that will be polled from
 
-                         remote (0 = ignore age)
 
-                       type: number
 
-                     maxbytespersecond:
 
-                       description: Max. bytes per second (0 = unlimited)
 
-                       type: number
 
-                     mins_interval:
 
-                       description: Interval (min)
 
-                       type: number
 
-                     password1:
 
-                       description: Password
 
-                       type: string
 
-                     port1:
 
-                       description: Port
 
-                       type: string
 
-                     skipcrossduplicates:
 
-                       description: >-
 
-                         Skip duplicate messages across folders (first come,
 
-                         first serve)
 
-                       type: boolean
 
-                     subfolder2:
 
-                       description: >-
 
-                         Sync into subfolder on destination (empty = do not use
 
-                         subfolder)
 
-                       type: string
 
-                     subscribeall:
 
-                       description: Subscribe all folders
 
-                       type: boolean
 
-                     timeout1:
 
-                       description: Timeout for connection to remote host
 
-                       type: number
 
-                     timeout2:
 
-                       description: Timeout for connection to local host
 
-                       type: number
 
-                     user1:
 
-                       description: Username
 
-                       type: string
 
-                   type: object
 
-                 items:
 
-                   description: contains list of aliases you want update
 
-                   type: object
 
-               type: object
 
-       summary: Update sync job
 
-   /api/v1/edit/user-acl:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - log:
 
-                         - acl
 
-                         - edit
 
-                         - user
 
-                         - user_acl:
 
-                             - spam_alias
 
-                             - tls_policy
 
-                             - spam_score
 
-                             - spam_policy
 
-                             - delimiter_action
 
-                             - syncjobs
 
-                             - eas_reset
 
-                             - quarantine
 
-                             - sogo_profile_reset
 
-                             - quarantine_attachments
 
-                             - quarantine_notification
 
-                             - app_passwds
 
-                             - pushover
 
-                           username:
 
-                             - info@domain.tld
 
-                       msg:
 
-                         - acl_saved
 
-                         - info@domain.tld
 
-                       type: success
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Mailboxes
 
-       description: Using this endpoints its possible to update the ACL's for mailboxes
 
-       operationId: Update mailbox ACL
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 attr:
 
-                   user_acl:
 
-                     - spam_alias
 
-                     - tls_policy
 
-                     - spam_score
 
-                     - spam_policy
 
-                     - delimiter_action
 
-                     - syncjobs
 
-                     - eas_reset
 
-                     - quarantine
 
-                     - sogo_profile_reset
 
-                     - quarantine_attachments
 
-                     - quarantine_notification
 
-                     - app_passwds
 
-                     - pushover
 
-                 items: info@domain.tld
 
-               properties:
 
-                 attr:
 
-                   properties:
 
-                     user_acl:
 
-                       description: contains a list of active user acls
 
-                       type: object
 
-                   type: object
 
-                 items:
 
-                   description: contains list of mailboxes you want to delete
 
-                   type: object
 
-               type: object
 
-       summary: Update mailbox ACL
 
-   "/api/v1/get/alias/{id}":
 
-     get:
 
-       parameters:
 
-         - description: id of entry you want to get
 
-           example: all
 
-           in: path
 
-           name: id
 
-           required: true
 
-           schema:
 
-             enum:
 
-               - all
 
-               - "1"
 
-               - "2"
 
-               - "5"
 
-               - "10"
 
-             type: string
 
-         - description: e.g. api-key-string
 
-           example: api-key-string
 
-           in: header
 
-           name: X-API-Key
 
-           required: false
 
-           schema:
 
-             type: string
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - active: "1"
 
-                       address: alias@domain.tld
 
-                       created: "2019-04-04 19:29:49"
 
-                       domain: domain.tld
 
-                       goto: destination@domain.tld
 
-                       id: 6
 
-                       in_primary_domain: ""
 
-                       is_catch_all: 0
 
-                       modified: null
 
-                       private_comment: null
 
-                       public_comment: null
 
-                     - active: "1"
 
-                       address: "@domain.tld"
 
-                       created: "2019-04-27 13:42:39"
 
-                       domain: domain.tld
 
-                       goto: destination@domain.tld
 
-                       id: 10
 
-                       in_primary_domain: ""
 
-                       is_catch_all: 1
 
-                       modified: null
 
-                       private_comment: null
 
-                       public_comment: null
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Aliases
 
-       description: You can list mailbox aliases existing in system.
 
-       operationId: Get aliases
 
-       summary: Get aliases
 
-   "/api/v1/get/app-passwd/all/{mailbox}":
 
-     get:
 
-       parameters:
 
-         - description: mailbox of entry you want to get
 
-           example: hello@mailcow.email
 
-           in: path
 
-           name: mailbox
 
-           required: true
 
-           schema:
 
-             enum:
 
-               - hello@mailcow.email
 
-             type: string
 
-         - description: e.g. api-key-string
 
-           example: api-key-string
 
-           in: header
 
-           name: X-API-Key
 
-           required: false
 
-           schema:
 
-             type: string
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - active: "1"
 
-                       created: "2019-12-21 16:04:55"
 
-                       domain: mailcow.email
 
-                       id: 2
 
-                       mailbox: hello@mailcow.email
 
-                       modified: null
 
-                       name: emclient
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - App Passwords
 
-       description: >-
 
-         Using this endpoint you can get all app passwords from a specific
 
-         mailbox.
 
-       operationId: Get App Password
 
-       summary: Get App Password
 
-   "/api/v1/get/bcc/{id}":
 
-     get:
 
-       parameters:
 
-         - description: id of entry you want to get
 
-           example: all
 
-           in: path
 
-           name: id
 
-           required: true
 
-           schema:
 
-             enum:
 
-               - all
 
-               - "1"
 
-               - "2"
 
-               - "5"
 
-               - "10"
 
-             type: string
 
-         - description: e.g. api-key-string
 
-           example: api-key-string
 
-           in: header
 
-           name: X-API-Key
 
-           required: false
 
-           schema:
 
-             type: string
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - active: "1"
 
-                       bcc_dest: bcc@awesomecow.tld
 
-                       created: "2019-10-02 21:44:34"
 
-                       domain: mailcow.tld
 
-                       id: 3
 
-                       local_dest: "@mailcow.tld"
 
-                       modified: null
 
-                       type: sender
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Address Rewriting
 
-       description: Using this endpoint you can get all BCC maps.
 
-       operationId: Get BCC Map
 
-       summary: Get BCC Map
 
-   "/api/v1/get/dkim/{domain}":
 
-     get:
 
-       parameters:
 
-         - description: name of domain
 
-           in: path
 
-           name: domain
 
-           required: true
 
-           schema:
 
-             type: string
 
-         - description: e.g. api-key-string
 
-           example: api-key-string
 
-           in: header
 
-           name: X-API-Key
 
-           required: false
 
-           schema:
 
-             type: string
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     dkim_selector: dkim
 
-                     dkim_txt: >-
 
-                       v=DKIM1;k=rsa;t=s;s=email;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA21tUSjyasQy/hJmVjPnlRGfzx6TPhYj8mXY9DVOzSAE64Gddw/GnE/GcCR6WXNT23u9q4zPnz1IPoNt5kFOps8vg/iNqrcH++494noaZuYyFPPFnebkfryO4EvEyxC/c66qts+gnOUml+M8uv5WObBJld2gG12jLwFM0263J/N6J8LuUsaXOB2uCIfx8Nf4zjuJ6Ieez2uyHNK5dXjDLfKA4mTr+EEK6W6e34M4KN1liWM6r9Oy5S1FlLrD42VpURxxBZtBiEtaJPEKSQuk6GQz8ihu7W20Yr53tyCdaORu8dhxXVUWVf+GjuuMEdAmQCjYkarXdYCrt56Psw703kwIDAQAB
 
-                     length: "2048"
 
-                     privkey: ""
 
-                     pubkey: >-
 
-                       MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA21tUSjyasQy/hJmVjPnlRGfzx6TPhYj8mXY9DVOzSAE64Gddw/GnE/GcCR6WXNT23u9q4zPnz1IPoNt5kFOps8vg/iNqrcH++494noaZuYyFPPFnebkfryO4EvEyxC/c66qts+gnOUml+M8uv5WObBJld2gG12jLwFM0263J/N6J8LuUsaXOB2uCIfx8Nf4zjuJ6Ieez2uyHNK5dXjDLfKA4mTr+EEK6W6e34M4KN1liWM6r9Oy5S1FlLrD42VpURxxBZtBiEtaJPEKSQuk6GQz8ihu7W20Yr53tyCdaORu8dhxXVUWVf+GjuuMEdAmQCjYkarXdYCrt56Psw703kwIDAQAB
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - DKIM
 
-       description: >-
 
-         Using this endpoint you can get the DKIM public key for a specific
 
-         domain.
 
-       operationId: Get DKIM Key
 
-       summary: Get DKIM Key
 
-   /api/v1/get/domain-admin/all:
 
-     get:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - active: "1"
 
-                       created: "2019-10-02 10:29:41"
 
-                       selected_domains:
 
-                         - mailcow.tld
 
-                       tfa_active: "0"
 
-                       unselected_domains:
 
-                         - awesomemailcow.de
 
-                         - mailcowisgreat.de
 
-                       username: testadmin
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Domain admin
 
-       description: ""
 
-       operationId: Get Domain Admins
 
-       summary: Get Domain Admins
 
-   "/api/v1/get/domain/{id}":
 
-     get:
 
-       parameters:
 
-         - description: id of entry you want to get
 
-           example: all
 
-           in: path
 
-           name: id
 
-           required: true
 
-           schema:
 
-             enum:
 
-               - all
 
-               - mailcow.tld
 
-             type: string
 
-         - description: e.g. api-key-string
 
-           example: api-key-string
 
-           in: header
 
-           name: X-API-Key
 
-           required: false
 
-           schema:
 
-             type: string
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - active: "1"
 
-                       aliases_in_domain: 0
 
-                       aliases_left: 400
 
-                       backupmx: "0"
 
-                       bytes_total: "5076666944"
 
-                       def_new_mailbox_quota: 3221225472
 
-                       def_quota_for_mbox: 3221225472
 
-                       description: Some description
 
-                       domain_name: domain.tld
 
-                       gal: "0"
 
-                       lang: en
 
-                       max_new_mailbox_quota: 10737418240
 
-                       max_num_aliases_for_domain: 400
 
-                       max_num_mboxes_for_domain: 10
 
-                       max_quota_for_domain: 10737418240
 
-                       max_quota_for_mbox: 10737418240
 
-                       mboxes_in_domain: 0
 
-                       mboxes_left: 10
 
-                       msgs_total: "172440"
 
-                       quota_used_in_domain: "0"
 
-                       relay_all_recipients: "0"
 
-                       relayhost: "0"
 
-                       rl: false
 
-                     - active: "1"
 
-                       aliases_in_domain: 0
 
-                       aliases_left: 400
 
-                       backupmx: "1"
 
-                       bytes_total: "5076666944"
 
-                       def_new_mailbox_quota: 3221225472
 
-                       def_quota_for_mbox: 3221225472
 
-                       description: domain description
 
-                       domain_name: domain2.tld
 
-                       gal: "0"
 
-                       lang: cs
 
-                       max_new_mailbox_quota: 10737418240
 
-                       max_num_aliases_for_domain: 400
 
-                       max_num_mboxes_for_domain: 10
 
-                       max_quota_for_domain: 10737418240
 
-                       max_quota_for_mbox: 10737418240
 
-                       mboxes_in_domain: 0
 
-                       mboxes_left: 10
 
-                       msgs_total: "172440"
 
-                       quota_used_in_domain: "0"
 
-                       relay_all_recipients: "0"
 
-                       relayhost: "0"
 
-                       rl: false
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Domains
 
-       description: You can list all domains existing in system.
 
-       operationId: Get domains
 
-       summary: Get domains
 
-   /api/v1/get/fail2ban:
 
-     get:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     ban_time: 604800
 
-                     blacklist: |-
 
-                       45.82.153.37/32
 
-                       92.118.38.52/32
 
-                     max_attempts: 1
 
-                     netban_ipv4: 32
 
-                     netban_ipv6: 128
 
-                     perm_bans:
 
-                       - 45.82.153.37/32
 
-                       - 92.118.38.52/32
 
-                     retry_window: 7200
 
-                     whitelist: 1.1.1.1
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Fail2Ban
 
-       description: Gets the current Fail2Ban configuration.
 
-       operationId: Get Fail2Ban Config
 
-       summary: Get Fail2Ban Config
 
-   /api/v1/get/fwdhost/all:
 
-     get:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - host: 5.1.76.202
 
-                       keep_spam: "yes"
 
-                       source: hosted.mailcow.de
 
-                     - host: "2a00:f820:417::202"
 
-                       keep_spam: "yes"
 
-                       source: hosted.mailcow.de
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Fordwarding Hosts
 
-       description: You can list all Forwarding Hosts in your mailcow.
 
-       operationId: Get Forwarding Hosts
 
-       summary: Get Forwarding Hosts
 
-   "/api/v1/get/logs/acme/{count}":
 
-     get:
 
-       parameters:
 
-         - description: Number of logs to return
 
-           in: path
 
-           name: count
 
-           required: true
 
-           schema:
 
-             type: number
 
-         - description: e.g. api-key-string
 
-           example: api-key-string
 
-           in: header
 
-           name: X-API-Key
 
-           required: false
 
-           schema:
 
-             type: string
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - message: >-
 
-                         Certificate validation done, neither changed nor due for
 
-                         renewal, sleeping for another day.
 
-                       time: "1569927728"
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Logs
 
-       description: >-
 
-         This Api endpoint lists all ACME logs from issued Lets Enctypts
 
-         certificates.
 
-         Tip: You can limit how many logs you want to get by using `/<count>` at
 
-         the end of the api url.
 
-       operationId: Get ACME logs
 
-       summary: Get ACME logs
 
-   "/api/v1/get/logs/api/{count}":
 
-     get:
 
-       parameters:
 
-         - description: Number of logs to return
 
-           in: path
 
-           name: count
 
-           required: true
 
-           schema:
 
-             type: number
 
-         - description: e.g. api-key-string
 
-           example: api-key-string
 
-           in: header
 
-           name: X-API-Key
 
-           required: false
 
-           schema:
 
-             type: string
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - data: ""
 
-                       method: GET
 
-                       remote: 1.1.1.1
 
-                       time: 1569939001
 
-                       uri: /api/v1/get/logs/api/2
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Logs
 
-       description: >-
 
-         This Api endpoint lists all Api logs.
 
-         Tip: You can limit how many logs you want to get by using `/<count>` at
 
-         the end of the api url.
 
-       operationId: Get Api logs
 
-       summary: Get Api logs
 
-   "/api/v1/get/logs/autodiscover/{count}":
 
-     get:
 
-       parameters:
 
-         - description: Number of logs to return
 
-           in: path
 
-           name: count
 
-           required: true
 
-           schema:
 
-             type: number
 
-         - description: e.g. api-key-string
 
-           example: api-key-string
 
-           in: header
 
-           name: X-API-Key
 
-           required: false
 
-           schema:
 
-             type: string
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - service: activesync
 
-                       time: 1569684212
 
-                       ua: >-
 
-                         Microsoft Office/16.0 (Windows NT 6.2; MAPICPL
 
-                         16.0.11328; Pro)
 
-                       user: awesome@mailcow.de
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Logs
 
-       description: >-
 
-         This Api endpoint lists all Autodiscover logs.
 
-         Tip: You can limit how many logs you want to get by using `/<count>` at
 
-         the end of the api url.
 
-       operationId: Get Autodiscover logs
 
-       summary: Get Autodiscover logs
 
-   "/api/v1/get/logs/dovecot/{count}":
 
-     get:
 
-       parameters:
 
-         - description: Number of logs to return
 
-           in: path
 
-           name: count
 
-           required: true
 
-           schema:
 
-             type: number
 
-         - description: e.g. api-key-string
 
-           example: api-key-string
 
-           in: header
 
-           name: X-API-Key
 
-           required: false
 
-           schema:
 
-             type: string
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - message: >-
 
-                         managesieve-login: Disconnected (no auth attempts in 0
 
-                         secs): user=<>, rip=172.22.1.3, lip=172.22.1.250
 
-                       priority: info
 
-                       program: dovecot
 
-                       time: "1569938740"
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Logs
 
-       description: >-
 
-         This Api endpoint lists all Dovecot logs.
 
-         Tip: You can limit how many logs you want to get by using `/<count>` at
 
-         the end of the api url.
 
-       operationId: Get Dovecot logs
 
-       summary: Get Dovecot logs
 
-   "/api/v1/get/logs/netfilter/{count}":
 
-     get:
 
-       parameters:
 
-         - description: Number of logs to return
 
-           in: path
 
-           name: count
 
-           required: true
 
-           schema:
 
-             type: number
 
-         - description: e.g. api-key-string
 
-           example: api-key-string
 
-           in: header
 
-           name: X-API-Key
 
-           required: false
 
-           schema:
 
-             type: string
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - message: "Whitelist was changed, it has 1 entries"
 
-                       priority: info
 
-                       time: 1569754911
 
-                     - message: Add host/network 1.1.1.1/32 to blacklist
 
-                       priority: crit
 
-                       time: 1569754911
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Logs
 
-       description: >-
 
-         This Api endpoint lists all Netfilter logs.
 
-         Tip: You can limit how many logs you want to get by using `/<count>` at
 
-         the end of the api url.
 
-       operationId: Get Netfilter logs
 
-       summary: Get Netfilter logs
 
-   "/api/v1/get/logs/postfix/{count}":
 
-     get:
 
-       parameters:
 
-         - description: Number of logs to return
 
-           in: path
 
-           name: count
 
-           required: true
 
-           schema:
 
-             type: number
 
-         - description: e.g. api-key-string
 
-           example: api-key-string
 
-           in: header
 
-           name: X-API-Key
 
-           required: false
 
-           schema:
 
-             type: string
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - message: "EF1711500458: removed"
 
-                       priority: info
 
-                       program: postfix/qmgr
 
-                       time: "1569937433"
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Logs
 
-       description: >-
 
-         This Api endpoint lists all Postfix logs.
 
-         Tip: You can limit how many logs you want to get by using `/<count>` at
 
-         the end of the api url.
 
-       operationId: Get Postfix logs
 
-       summary: Get Postfix logs
 
-   "/api/v1/get/logs/ratelimited/{count}":
 
-     get:
 
-       parameters:
 
-         - description: Number of logs to return
 
-           in: path
 
-           name: count
 
-           required: true
 
-           schema:
 
-             type: number
 
-         - description: e.g. api-key-string
 
-           example: api-key-string
 
-           in: header
 
-           name: X-API-Key
 
-           required: false
 
-           schema:
 
-             type: string
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - from: awesome@mailcow.email
 
-                       header_from: '"Awesome" <awesome@mailcow.email>'
 
-                       header_subject: Mailcow is amazing
 
-                       ip: 172.22.1.248
 
-                       message_id: 6a-5d892500-7-240abd80@90879116
 
-                       qid: E3CF91500458
 
-                       rcpt: hello@mailcow.email
 
-                       rl_hash: RLsdz3tuabozgd4oacbdh8kc78
 
-                       rl_info: mailcow(RLsdz3tuabozgd4oacbdh8kc78)
 
-                       rl_name: mailcow
 
-                       time: 1569269003
 
-                       user: awesome@mailcow.email
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Logs
 
-       description: >-
 
-         This Api endpoint lists all Ratelimit logs.
 
-         Tip: You can limit how many logs you want to get by using `/<count>` at
 
-         the end of the api url.
 
-       operationId: Get Ratelimit logs
 
-       summary: Get Ratelimit logs
 
-   "/api/v1/get/logs/rspamd-history/{count}":
 
-     get:
 
-       parameters:
 
-         - description: Number of logs to return
 
-           in: path
 
-           name: count
 
-           required: true
 
-           schema:
 
-             type: number
 
-         - description: e.g. api-key-string
 
-           example: api-key-string
 
-           in: header
 
-           name: X-API-Key
 
-           required: false
 
-           schema:
 
-             type: string
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Logs
 
-       description: >-
 
-         This Api endpoint lists all Rspamd logs.
 
-         Tip: You can limit how many logs you want to get by using `/<count>` at
 
-         the end of the api url.
 
-       operationId: Get Rspamd logs
 
-       summary: Get Rspamd logs
 
-   "/api/v1/get/logs/sogo/{count}":
 
-     get:
 
-       parameters:
 
-         - description: Number of logs to return
 
-           in: path
 
-           name: count
 
-           required: true
 
-           schema:
 
-             type: number
 
-         - description: e.g. api-key-string
 
-           example: api-key-string
 
-           in: header
 
-           name: X-API-Key
 
-           required: false
 
-           schema:
 
-             type: string
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - message: >-
 
-                         [109]:
 
-                         mailcowdockerized_watchdog-mailcow_1.mailcowdockerized_mailcow-network
 
-                         "GET /SOGo.index/ HTTP/1.1" 200 2531/0 0.005 - - 0
 
-                       priority: notice
 
-                       program: sogod
 
-                       time: "1569938874"
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Logs
 
-       description: >-
 
-         This Api endpoint lists all SOGo logs.
 
-         Tip: You can limit how many logs you want to get by using `/<count>` at
 
-         the end of the api url.
 
-       operationId: Get SOGo logs
 
-       summary: Get SOGo logs
 
-   "/api/v1/get/logs/watchdog/{count}":
 
-     get:
 
-       parameters:
 
-         - description: Number of logs to return
 
-           in: path
 
-           name: count
 
-           required: true
 
-           schema:
 
-             type: number
 
-         - description: e.g. api-key-string
 
-           example: api-key-string
 
-           in: header
 
-           name: X-API-Key
 
-           required: false
 
-           schema:
 
-             type: string
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - hpdiff: "0"
 
-                       hpnow: "1"
 
-                       hptotal: "1"
 
-                       lvl: "100"
 
-                       service: Fail2ban
 
-                       time: "1569938958"
 
-                     - hpdiff: "0"
 
-                       hpnow: "5"
 
-                       hptotal: "5"
 
-                       lvl: "100"
 
-                       service: Rspamd
 
-                       time: "1569938956"
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Logs
 
-       description: >-
 
-         This Api endpoint lists all Watchdog logs.
 
-         Tip: You can limit how many logs you want to get by using `/<count>` at
 
-         the end of the api url.
 
-       operationId: Get Watchdog logs
 
-       summary: Get Watchdog logs
 
-   "/api/v1/get/mailbox/{id}":
 
-     get:
 
-       parameters:
 
-         - description: id of entry you want to get
 
-           example: all
 
-           in: path
 
-           name: id
 
-           required: true
 
-           schema:
 
-             enum:
 
-               - all
 
-               - user@domain.tld
 
-             type: string
 
-         - description: e.g. api-key-string
 
-           example: api-key-string
 
-           in: header
 
-           name: X-API-Key
 
-           required: false
 
-           schema:
 
-             type: string
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - active: "1"
 
-                       attributes:
 
-                         force_pw_update: "0"
 
-                         mailbox_format: "maildir:"
 
-                         quarantine_notification: never
 
-                         sogo_access: "1"
 
-                         tls_enforce_in: "0"
 
-                         tls_enforce_out: "0"
 
-                       domain: doman3.tld
 
-                       is_relayed: 0
 
-                       local_part: info
 
-                       max_new_quota: 10737418240
 
-                       messages: 0
 
-                       name: Full name
 
-                       percent_class: success
 
-                       percent_in_use: 0
 
-                       quota: 3221225472
 
-                       quota_used: 0
 
-                       rl: false
 
-                       spam_aliases: 0
 
-                       username: info@doman3.tld
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Mailboxes
 
-       description: You can list all mailboxes existing in system.
 
-       operationId: Get mailboxes
 
-       summary: Get mailboxes
 
-   /api/v1/get/mailq/all:
 
-     get:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - arrival_time: 1570091234
 
-                       message_size: 1848
 
-                       queue_id: B98C6260CA1
 
-                       queue_name: incoming
 
-                       recipients:
 
-                         - recipient@awesomecow.tld
 
-                       sender: sender@mailcow.tld
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Queue Manager
 
-       description: Get the current mail queue and everything it contains.
 
-       operationId: Get Queue
 
-       summary: Get Queue
 
-   "/api/v1/get/oauth2-client/{id}":
 
-     get:
 
-       parameters:
 
-         - description: id of entry you want to get
 
-           example: all
 
-           in: path
 
-           name: id
 
-           required: true
 
-           schema:
 
-             enum:
 
-               - all
 
-               - "1"
 
-               - "2"
 
-               - "5"
 
-               - "10"
 
-             type: string
 
-         - description: e.g. api-key-string
 
-           example: api-key-string
 
-           in: header
 
-           name: X-API-Key
 
-           required: false
 
-           schema:
 
-             type: string
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - client_id: 17c76aaa88c0
 
-                       client_secret: 73fc668a88147e32a31ff80c
 
-                       grant_types: null
 
-                       id: 1
 
-                       redirect_uri: "https://mailcow.tld"
 
-                       scope: profile
 
-                       user_id: null
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - oAuth Clients
 
-       description: Using this endpoint you can get all oAuth clients.
 
-       operationId: Get oAuth Clients
 
-       summary: Get oAuth Clients
 
-   "/api/v1/get/policy_bl_domain/{domain}":
 
-     get:
 
-       parameters:
 
-         - description: name of domain
 
-           in: path
 
-           name: domain
 
-           required: true
 
-           schema:
 
-             type: string
 
-         - description: e.g. api-key-string
 
-           example: api-key-string
 
-           in: header
 
-           name: X-API-Key
 
-           required: false
 
-           schema:
 
-             type: string
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - object: domain.tld
 
-                       prefid: 2
 
-                       value: "*@baddomain.tld"
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Domain antispam policies
 
-       description: You can list all blacklist policies per domain.
 
-       operationId: List blacklist domain policy
 
-       summary: List blacklist domain policy
 
-   "/api/v1/get/policy_wl_domain/{domain}":
 
-     get:
 
-       parameters:
 
-         - description: name of domain
 
-           in: path
 
-           name: domain
 
-           required: true
 
-           schema:
 
-             type: string
 
-         - description: e.g. api-key-string
 
-           example: api-key-string
 
-           in: header
 
-           name: X-API-Key
 
-           required: false
 
-           schema:
 
-             type: string
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - object: domain.tld
 
-                       prefid: 1
 
-                       value: "*@gooddomain.tld"
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Domain antispam policies
 
-       description: You can list all whitelist policies per domain.
 
-       operationId: List whitelist domain policy
 
-       summary: List whitelist domain policy
 
-   /api/v1/get/quarantine/all:
 
-     get:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     created: 1572688831
 
-                     id: 33
 
-                     notified: 1
 
-                     qid: 8224615004C1
 
-                     rcpt: admin@domain.tld
 
-                     score: 15.48
 
-                     sender: bounces@send.domain.tld
 
-                     subject: mailcow is awesome
 
-                     virus_flag: 0
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Quarantine
 
-       description: Get all mails that are currently in Quarantine.
 
-       operationId: Get mails in Quarantine
 
-       summary: Get mails in Quarantine
 
-   "/api/v1/get/recipient_map/{id}":
 
-     get:
 
-       parameters:
 
-         - description: id of entry you want to get
 
-           example: all
 
-           in: path
 
-           name: id
 
-           required: true
 
-           schema:
 
-             enum:
 
-               - all
 
-               - "1"
 
-               - "2"
 
-               - "5"
 
-               - "10"
 
-             type: string
 
-         - description: e.g. api-key-string
 
-           example: api-key-string
 
-           in: header
 
-           name: X-API-Key
 
-           required: false
 
-           schema:
 
-             type: string
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - active: "1"
 
-                       created: "2019-10-02 22:06:29"
 
-                       id: 3
 
-                       modified: null
 
-                       recipient_map_new: target@mailcow.tld
 
-                       recipient_map_old: recipient@mailcow.tld
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Address Rewriting
 
-       description: Using this endpoint you can get all recipient maps.
 
-       operationId: Get Recipient Map
 
-       summary: Get Recipient Map
 
-   "/api/v1/get/relayhost/{id}":
 
-     get:
 
-       parameters:
 
-         - description: id of entry you want to get
 
-           example: all
 
-           in: path
 
-           name: id
 
-           required: true
 
-           schema:
 
-             enum:
 
-               - all
 
-               - "1"
 
-               - "2"
 
-               - "5"
 
-               - "10"
 
-             type: string
 
-         - description: e.g. api-key-string
 
-           example: api-key-string
 
-           in: header
 
-           name: X-API-Key
 
-           required: false
 
-           schema:
 
-             type: string
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - active: "1"
 
-                       hostname: "mailcow.tld:25"
 
-                       id: 1
 
-                       password: supersecurepassword
 
-                       password_short: tes...
 
-                       used_by_domains: ""
 
-                       username: testuser
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Routing
 
-       description: Using this endpoint you can get all Sender-Dependent Transports.
 
-       operationId: Get Sender-Dependent Transports
 
-       summary: Get Sender-Dependent Transports
 
-   /api/v1/get/resource/all:
 
-     get:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - active: "1"
 
-                       description: test
 
-                       domain: mailcow.tld
 
-                       kind: location
 
-                       local_part: test
 
-                       multiple_bookings: 0
 
-                       name: test@mailcow.tld
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Resources
 
-       description: Using this endpoint you can get all Resources.
 
-       operationId: Get Resources
 
-       summary: Get Resources
 
-   "/api/v1/get/rl-mbox/{mailbox}":
 
-     get:
 
-       parameters:
 
-         - description: name of mailbox or all
 
-           in: path
 
-           name: mailbox
 
-           required: true
 
-           schema:
 
-             type: string
 
-         - description: e.g. api-key-string
 
-           example: api-key-string
 
-           in: header
 
-           name: X-API-Key
 
-           required: false
 
-           schema:
 
-             type: string
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - frame: s
 
-                       mailbox: leon@mailcow.tld
 
-                       value: "5"
 
-                     - frame: s
 
-                       mailbox: lisa@mailcow.tld
 
-                       value: "3"
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Ratelimits
 
-       description: >-
 
-         Using this endpoint you can get the ratelimits for a certain mailbox.
 
-         You can use all for all mailboxes.
 
-       operationId: Get mailbox ratelimits
 
-       summary: Get mailbox ratelimits
 
-   "/api/v1/get/rl-domain/{domain}":
 
-     get:
 
-       parameters:
 
-         - description: name of domain or all
 
-           in: path
 
-           name: domain
 
-           required: true
 
-           schema:
 
-             type: string
 
-         - description: e.g. api-key-string
 
-           example: api-key-string
 
-           in: header
 
-           name: X-API-Key
 
-           required: false
 
-           schema:
 
-             type: string
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - frame: s
 
-                       domain: domain.tld
 
-                       value: "5"
 
-                     - frame: s
 
-                       mailbox: domain2.tld
 
-                       value: "3"
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Ratelimits
 
-       description: >-
 
-         Using this endpoint you can get the ratelimits for a certain domains.
 
-         You can use all for all domain.
 
-       operationId: Get domain ratelimits
 
-       summary: Get domain ratelimits
 
-   /api/v1/edit/rl-mbox/:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - type: success
 
-                       log:
 
-                         - ratelimit
 
-                         - edit
 
-                         - mailbox
 
-                         - object:
 
-                             - info@domain.tld
 
-                           rl_value: "10"
 
-                           rl_frame: h
 
-                       msg:
 
-                         - rl_saved
 
-                         - info@domain.tld
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Ratelimits
 
-       description: >-
 
-         Using this endpoint you can edit the ratelimits for a certain mailbox.
 
-       operationId: Edit mailbox ratelimits
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 attr:
 
-                   - rl_vlaue: "10"
 
-                     rl_frame: "h"
 
-                 items: info@domain.tld
 
-               properties:
 
-                 attr:
 
-                   properties:
 
-                     rl_frame:
 
-                       description: contains the frame for the ratelimit h,s,m
 
-                       type: string
 
-                     rl_vlaue:
 
-                       description: contains the rate for the ratelimit 10,20,50,1
 
-                       type: number
 
-                   type: object
 
-                 items:
 
-                   description: contains list of mailboxes you want to edit the ratelimit of
 
-                   type: object
 
-               type: object
 
-       summary: Edit mailbox ratelimits
 
-   /api/v1/edit/rl-domain/:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - type: success
 
-                     - log:
 
-                         - ratelimit
 
-                         - edit
 
-                         - domain
 
-                         - object:
 
-                             - domain.tld
 
-                           rl_value: "50"
 
-                           rl_frame: "h"
 
-                       msg:
 
-                         - rl_saved
 
-                         - domain.tld
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Ratelimits
 
-       description: >-
 
-         Using this endpoint you can edit the ratelimits for a certain domains.
 
-       operationId: Edit domain ratelimits
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 attr:
 
-                   - rl_vlaue: "10"
 
-                     rl_frame: "h"
 
-                 items: domain.tld
 
-               properties:
 
-                 attr:
 
-                   properties:
 
-                     rl_frame:
 
-                       description: contains the frame for the ratelimit h,s,m
 
-                       type: string
 
-                     rl_vlaue:
 
-                       description: contains the rate for the ratelimit 10,20,50,1
 
-                       type: number
 
-                   type: object
 
-                 items:
 
-                   description: contains list of domains you want to edit the ratelimit of
 
-                   type: object
 
-               type: object
 
-       summary: Edit domain ratelimits
 
-   /api/v1/get/status/containers:
 
-     get:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     acme-mailcow:
 
-                       container: acme-mailcow
 
-                       image: "mailcow/acme:1.63"
 
-                       started_at: "2019-12-22T21:00:08.270660275Z"
 
-                       state: running
 
-                       type: info
 
-                     clamd-mailcow:
 
-                       container: clamd-mailcow
 
-                       image: "mailcow/clamd:1.35"
 
-                       started_at: "2019-12-22T21:00:01.622856172Z"
 
-                       state: running
 
-                       type: info
 
-                     dockerapi-mailcow:
 
-                       container: dockerapi-mailcow
 
-                       image: "mailcow/dockerapi:1.36"
 
-                       started_at: "2019-12-22T20:59:59.984797808Z"
 
-                       state: running
 
-                       type: info
 
-                     dovecot-mailcow:
 
-                       container: dovecot-mailcow
 
-                       image: "mailcow/dovecot:1.104"
 
-                       started_at: "2019-12-22T21:00:08.988680259Z"
 
-                       state: running
 
-                       type: info
 
-                     ipv6nat-mailcow:
 
-                       container: ipv6nat-mailcow
 
-                       image: robbertkl/ipv6nat
 
-                       started_at: "2019-12-22T21:06:37.273225445Z"
 
-                       state: running
 
-                       type: info
 
-                     memcached-mailcow:
 
-                       container: memcached-mailcow
 
-                       image: "memcached:alpine"
 
-                       started_at: "2019-12-22T20:59:58.0907785Z"
 
-                       state: running
 
-                       type: info
 
-                     mysql-mailcow:
 
-                       container: mysql-mailcow
 
-                       image: "mariadb:10.3"
 
-                       started_at: "2019-12-22T21:00:02.201937528Z"
 
-                       state: running
 
-                       type: info
 
-                     netfilter-mailcow:
 
-                       container: netfilter-mailcow
 
-                       image: "mailcow/netfilter:1.31"
 
-                       started_at: "2019-12-22T21:00:09.851559297Z"
 
-                       state: running
 
-                       type: info
 
-                     nginx-mailcow:
 
-                       container: nginx-mailcow
 
-                       image: "nginx:mainline-alpine"
 
-                       started_at: "2019-12-22T21:00:12.9843038Z"
 
-                       state: running
 
-                       type: info
 
-                     olefy-mailcow:
 
-                       container: olefy-mailcow
 
-                       image: "mailcow/olefy:1.2"
 
-                       started_at: "2019-12-22T20:59:59.676259274Z"
 
-                       state: running
 
-                       type: info
 
-                     php-fpm-mailcow:
 
-                       container: php-fpm-mailcow
 
-                       image: "mailcow/phpfpm:1.55"
 
-                       started_at: "2019-12-22T21:00:00.955808957Z"
 
-                       state: running
 
-                       type: info
 
-                     postfix-mailcow:
 
-                       container: postfix-mailcow
 
-                       image: "mailcow/postfix:1.44"
 
-                       started_at: "2019-12-22T21:00:07.186717617Z"
 
-                       state: running
 
-                       type: info
 
-                     redis-mailcow:
 
-                       container: redis-mailcow
 
-                       image: "redis:5-alpine"
 
-                       started_at: "2019-12-22T20:59:56.827166834Z"
 
-                       state: running
 
-                       type: info
 
-                     rspamd-mailcow:
 
-                       container: rspamd-mailcow
 
-                       image: "mailcow/rspamd:1.56"
 
-                       started_at: "2019-12-22T21:00:12.456075355Z"
 
-                       state: running
 
-                       type: info
 
-                     sogo-mailcow:
 
-                       container: sogo-mailcow
 
-                       image: "mailcow/sogo:1.65"
 
-                       started_at: "2019-12-22T20:59:58.382274592Z"
 
-                       state: running
 
-                       type: info
 
-                     solr-mailcow:
 
-                       container: solr-mailcow
 
-                       image: "mailcow/solr:1.7"
 
-                       started_at: "2019-12-22T20:59:59.635413798Z"
 
-                       state: running
 
-                       type: info
 
-                     unbound-mailcow:
 
-                       container: unbound-mailcow
 
-                       image: "mailcow/unbound:1.10"
 
-                       started_at: "2019-12-22T20:59:58.760595825Z"
 
-                       state: running
 
-                       type: info
 
-                     watchdog-mailcow:
 
-                       container: watchdog-mailcow
 
-                       image: "mailcow/watchdog:1.65"
 
-                       started_at: "2019-12-22T20:59:56.028660382Z"
 
-                       state: running
 
-                       type: info
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Status
 
-       description: >-
 
-         Using this endpoint you can get the status of all containers and when
 
-         hey where started and a few other details.
 
-       operationId: Get container status
 
-       summary: Get container status
 
-   /api/v1/get/status/solr:
 
-     get:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     solr_documents: null
 
-                     solr_enabled: false
 
-                     solr_size: null
 
-                     type: info
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Status
 
-       description: >-
 
-         Using this endpoint you can get the status of all containers and when
 
-         hey where started and a few other details.
 
-       operationId: Get solr status
 
-       summary: Get solr status
 
-   /api/v1/get/status/vmail:
 
-     get:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     disk: /dev/mapper/mail--vg-root
 
-                     total: 41G
 
-                     type: info
 
-                     used: 11G
 
-                     used_percent: 28%
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Status
 
-       description: >-
 
-         Using this endpoint you can get the status of the vmail and the amount
 
-         of used storage.
 
-       operationId: Get vmail status
 
-       summary: Get vmail status
 
-   /api/v1/get/syncjobs/all/no_log:
 
-     get:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - active: "1"
 
-                       authmd51: 0
 
-                       authmech1: PLAIN
 
-                       automap: 1
 
-                       created: "2019-05-22 11:37:25"
 
-                       custom_params: ""
 
-                       delete1: 0
 
-                       delete2: 0
 
-                       delete2duplicates: 1
 
-                       domain2: ""
 
-                       enc1: TLS
 
-                       exclude: (?i)spam|(?i)junk
 
-                       host1: imap.server.tld
 
-                       id: 1
 
-                       is_running: 0
 
-                       last_run: "2019-05-22 11:40:02"
 
-                       log: ""
 
-                       maxage: 0
 
-                       maxbytespersecond: "0"
 
-                       mins_interval: "20"
 
-                       modified: "2019-05-22 11:40:02"
 
-                       port1: 993
 
-                       regextrans2: ""
 
-                       skipcrossduplicates: 0
 
-                       subfolder2: External
 
-                       subscribeall: 1
 
-                       timeout1: 600
 
-                       timeout2: 600
 
-                       user1: username
 
-                       user2: mailbox@domain.tld
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Sync jobs
 
-       description: You can list all syn jobs existing in system.
 
-       operationId: Get sync jobs
 
-       summary: Get sync jobs
 
-   "/api/v1/get/tls-policy-map/{id}":
 
-     get:
 
-       parameters:
 
-         - description: id of entry you want to get
 
-           example: all
 
-           in: path
 
-           name: id
 
-           required: true
 
-           schema:
 
-             enum:
 
-               - all
 
-               - "1"
 
-               - "2"
 
-               - "5"
 
-               - "10"
 
-             type: string
 
-         - description: e.g. api-key-string
 
-           example: api-key-string
 
-           in: header
 
-           name: X-API-Key
 
-           required: false
 
-           schema:
 
-             type: string
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - parameters: ""
 
-                       active: "1"
 
-                       created: "2019-10-03 08:42:12"
 
-                       dest: mailcow.tld
 
-                       id: 1
 
-                       modified: null
 
-                       policy: encrypt
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Outgoing TLS Policy Map Overrides
 
-       description: Using this endpoint you can get all TLS policy map override maps.
 
-       operationId: Get TLS Policy Map
 
-       summary: Get TLS Policy Map
 
-   "/api/v1/get/transport/{id}":
 
-     get:
 
-       parameters:
 
-         - description: id of entry you want to get
 
-           example: all
 
-           in: path
 
-           name: id
 
-           required: true
 
-           schema:
 
-             enum:
 
-               - all
 
-               - "1"
 
-               - "2"
 
-               - "5"
 
-               - "10"
 
-             type: string
 
-         - description: e.g. api-key-string
 
-           example: api-key-string
 
-           in: header
 
-           name: X-API-Key
 
-           required: false
 
-           schema:
 
-             type: string
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - active: "1"
 
-                       destination: example.org
 
-                       id: 1
 
-                       lookup_mx: "0"
 
-                       nexthop: "host:25"
 
-                       password: supersecurepw
 
-                       password_short: sup...
 
-                       username: testuser
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Routing
 
-       description: Using this endpoint you can get all Transport Maps.
 
-       operationId: Get Transport Maps
 
-       summary: Get Transport Maps
 
-   /api/v1/edit/spam-score/:
 
-     post:
 
-       responses:
 
-         "401":
 
-           $ref: "#/components/responses/Unauthorized"
 
-         "200":
 
-           content:
 
-             application/json:
 
-               examples:
 
-                 response:
 
-                   value:
 
-                     - type: success
 
-                       log:
 
-                         - mailbox
 
-                         - edit
 
-                         - spam_score
 
-                         - username:
 
-                             - info@domain.tld
 
-                           spam_score: "8,15"
 
-                       msg:
 
-                         - mailbox_modified
 
-                         - info@domain.tld
 
-               schema:
 
-                 properties:
 
-                   log:
 
-                     description: contains request object
 
-                     items: {}
 
-                     type: array
 
-                   msg:
 
-                     items: {}
 
-                     type: array
 
-                   type:
 
-                     enum:
 
-                       - success
 
-                       - danger
 
-                       - error
 
-                     type: string
 
-                 type: object
 
-           description: OK
 
-           headers: {}
 
-       tags:
 
-         - Mailboxes
 
-       description: >-
 
-         Using this endpoint you can edit the spam filter score for a certain mailbox.
 
-       operationId: Edit mailbox spam filter score
 
-       requestBody:
 
-         content:
 
-           application/json:
 
-             schema:
 
-               example:
 
-                 - items:
 
-                     - info@domain.tld
 
-                   attr:
 
-                     spam_score: "8,15"
 
-       summary: Edit mailbox spam filter score
 
- tags:
 
-   - name: Domains
 
-     description: You can create antispam whitelist and blacklist policies
 
-   - name: Domain antispam policies
 
-     description: You can edit the Domain Antispam policies
 
-   - name: Mailboxes
 
-     description: You can manage mailboxes
 
-   - name: Aliases
 
-     description: You can manage aliases
 
-   - name: Sync jobs
 
-     description: Using Syncjobs you can sync your mails with other email servers
 
-   - name: Fordwarding Hosts
 
-     description: Forwarding Hosts enable you to send mail using a relay
 
-   - name: Logs
 
-     description: Get all mailcow system logs
 
-   - name: Queue Manager
 
-     description: Manage the postfix mail queue
 
-   - name: Quarantine
 
-     description: Check what emails went to quarantine
 
-   - name: Fail2Ban
 
-     description: Manage the Netfilter fail2ban options
 
-   - name: DKIM
 
-     description: Manage DKIM keys
 
-   - name: Domain admin
 
-     description: Create or udpdate domain admin users
 
-   - name: Address Rewriting
 
-     description: Create BCC maps or recipient maps
 
-   - name: Outgoing TLS Policy Map Overrides
 
-     description: Force global TLS policys
 
-   - name: oAuth Clients
 
-     description: Use mailcow as a oAuth server
 
-   - name: Routing
 
-     description: Define your own email routes
 
-   - name: Resources
 
-     description: Manage ressources
 
-   - name: App Passwords
 
-     description: Create mailbox app passwords
 
-   - name: Status
 
-     description: Get the status of your cow
 
-   - name: Ratelimits
 
-     description: Edit domain ratelimits
 
 
  |