1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545 |
- 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
- sogo_visible:
- description: toggle visibility as selectable sender in SOGo
- type: boolean
- type: object
- summary: Create alias
- /api/v1/add/time_limited_alias:
- post:
- responses:
- "401":
- $ref: "#/components/responses/Unauthorized"
- "200":
- content:
- application/json:
- examples:
- response:
- value:
- - log:
- - mailbox
- - add
- - time_limited_alias
- - address: info@domain.tld
- domain: 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:
- - Aliases
- description: >-
- You may create a time limited alias using this action. It takes a JSON
- object containing a domain and mailbox informations.
- Mailcow will generate a random alias.
- operationId: Create time limited alias
- requestBody:
- content:
- application/json:
- schema:
- example:
- username: info@domain.tld
- domain: domain.tld
- properties:
- username:
- description: 'the mailbox an alias should be created for'
- type: string
- domain:
- description: "the domain"
- type: string
- type: object
- summary: Create time limited 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"
- username: info@domain.tld
- app_name: wordpress
- app_passwd: keyleudecticidechothistishownsan31
- app_passwd2: keyleudecticidechothistishownsan31
- protocols:
- - imap_access
- - dav_access
- - smtp_access
- - eas_access
- - pop3_access
- - sieve_access
- 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
- protocols:
- - imap_access
- - dav_access
- - smtp_access
- - eas_access
- - pop3_access
- - sieve_access
- 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"
- restart_sogo: "1"
- backupmx: "0"
- defquota: "3072"
- description: some decsription
- domain: domain.tld
- mailboxes: "10"
- maxquota: "10240"
- quota: "10240"
- relay_all_recipients: "0"
- rl_frame: s
- rl_value: "10"
- tags: ["tag1", "tag2"]
- - null
- msg:
- - domain_added
- - domain.tld
- type: success
- schema:
- type: array
- items:
- type: object
- properties:
- log:
- description: contains request object
- items: {}
- type: array
- msg:
- items: {}
- type: array
- type:
- enum:
- - success
- - danger
- - error
- type: string
- 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
- mailboxes: "10"
- maxquota: "10240"
- quota: "10240"
- relay_all_recipients: "0"
- rl_frame: s
- rl_value: "10"
- restart_sogo: "10"
- tags: ["tag1", "tag2"]
- 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
- gal:
- description: >-
- is domain global address list active or not, it enables
- shared contacts accross domain in SOGo webmail
- type: boolean
- 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
- restart_sogo:
- description: restart SOGo to activate the domain in SOGo
- type: number
- relay_all_recipients:
- description: >-
- if not, them you have to create "dummy" mailbox for each
- address to relay
- type: boolean
- relay_unknown_only:
- description: Relay non-existing mailboxes only. Existing mailboxes will be delivered locally.
- type: boolean
- rl_frame:
- enum:
- - s
- - m
- - h
- - d
- type: string
- rl_value:
- description: rate limit value
- type: number
- tags:
- description: tags for this Domain
- type: array
- items:
- type: string
- 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: boolean
- 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
- items:
- type: string
- 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"
- tags: ["tag1", "tag2"]
- - 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"
- tags: ["tag1", "tag2"]
- 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
- password:
- 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:
- 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:
- type: array
- items:
- type: object
- properties:
- log:
- description: contains request object
- items: {}
- type: array
- msg:
- items: {}
- type: array
- type:
- enum:
- - success
- - danger
- - error
- type: string
- description: OK
- headers: {}
- tags:
- - Domains
- description: You can delete one or more domains.
- operationId: Delete domain
- requestBody:
- content:
- application/json:
- schema:
- type: object
- example:
- - domain.tld
- - domain2.tld
- properties:
- items:
- type: array
- items:
- type: string
- 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/delete/mailbox/tag/{mailbox}":
- post:
- parameters:
- - description: name of mailbox
- in: path
- name: mailbox
- example: info@domain.tld
- required: true
- schema:
- type: string
- responses:
- "401":
- $ref: "#/components/responses/Unauthorized"
- "200":
- content:
- application/json:
- examples:
- response:
- value:
- - log:
- - mailbox
- - delete
- - tags_mailbox
- - tags:
- - tag1
- - tag2
- mailbox: 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 delete one or more mailbox tags.
- operationId: Delete mailbox tags
- requestBody:
- content:
- application/json:
- schema:
- example:
- - tag1
- - tag2
- properties:
- items:
- description: contains list of mailboxes you want to delete
- type: object
- type: object
- summary: Delete mailbox tags
- "/api/v1/delete/domain/tag/{domain}":
- post:
- parameters:
- - description: name of domain
- in: path
- name: domain
- example: domain.tld
- required: true
- schema:
- type: string
- responses:
- "401":
- $ref: "#/components/responses/Unauthorized"
- "200":
- content:
- application/json:
- examples:
- response:
- value:
- - log:
- - mailbox
- - delete
- - tags_domain
- - tags:
- - tag1
- - tag2
- domain: domain.tld
- - null
- 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:
- - Domains
- description: You can delete one or more domain tags.
- operationId: Delete domain tags
- requestBody:
- content:
- application/json:
- schema:
- example:
- - tag1
- - tag2
- properties:
- items:
- description: contains list of domains you want to delete
- type: object
- type: object
- summary: Delete domain tags
- /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
- sogo_visible:
- description: toggle visibility as selectable sender in SOGo
- type: boolean
- 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:
- application/json:
- schema:
- type: array
- items:
- type: object
- properties:
- log:
- type: array
- description: contains request object
- items: {}
- msg:
- type: array
- items: {}
- type:
- enum:
- - success
- - danger
- - error
- type: string
- 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"
- mailboxes: "10"
- maxquota: "10240"
- quota: "10240"
- relay_all_recipients: "0"
- relayhost: "2"
- tags: ["tag3", "tag4"]
- 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
- 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
- relay_unknown_only:
- description: Relay non-existing mailboxes only. Existing mailboxes will be delivered locally.
- type: boolean
- relayhost:
- description: id of relayhost
- type: number
- rl_frame:
- enum:
- - s
- - m
- - h
- - d
- type: string
- rl_value:
- description: rate limit value
- type: number
- tags:
- description: tags for this Domain
- type: array
- items:
- type: string
- type: object
- items:
- description: contains list of domain names you want update
- type: array
- items:
- type: string
- 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
- tags: ["tag3", "tag4"]
- - 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"
- tags: ["tag3", "tag4"]
- 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
- password:
- 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/time_limited_aliases/{mailbox}":
- get:
- parameters:
- - description: mailbox you want to get aliasses from
- example: domain.tld
- in: path
- schema:
- type: string
- name: mailbox
- required: true
- - 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:
- - address: alias@domain.tld
- goto: destination@domain.tld
- validity: 1668251246
- created: "2021-11-12 12:07:26"
- modified: null
- description: OK
- headers: {}
- tags:
- - Aliases
- description: You can list time limited mailbox aliases existing in system.
- operationId: Get time limited aliases
- summary: Get time limited 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: comma seperated list of tags to filter by
- example: "tag1,tag2"
- in: query
- name: tags
- required: false
- 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:
- - 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"
- 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
- tags: ["tag1", "tag2"]
- - 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"
- 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
- tags: ["tag3", "tag4"]
- 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: comma seperated list of tags to filter by
- example: "tag1,tag2"
- in: query
- name: tags
- required: false
- 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:
- - 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
- tags: ["tag1", "tag2"]
- 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_value: "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_value:
- 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_value: "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_value:
- 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/status/version:
- get:
- responses:
- "401":
- $ref: "#/components/responses/Unauthorized"
- "200":
- content:
- application/json:
- examples:
- response:
- value:
- version: "2022-04"
- description: OK
- headers: {}
- tags:
- - Status
- description: >-
- Using this endpoint you can get the current running release of this
- instance.
- operationId: Get version status
- summary: Get version 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
|