openapi.yaml 165 KB

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