1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123(* generated by: awso-codegen generate-all --botocore-data vendor/botocore/botocore/data -o aws --runtime-dir lib/runtime/awso --cli-dir awso-cli *)openAwsoopen!Import[@@@warning"-32"]letservice=Service.wickrletapiVersion="2024-02-01"letendpointPrefix="admin.wickr"letserviceFullName="AWS Wickr Admin API"letsignatureVersion="v4"letprotocol="rest_json"letglobalEndpoint=endpointPrefix^".amazonaws.com"letsimple_to_jsonto_valuex=Botodata.Json.value_to_json_scalar(to_valuex)letcomposed_to_jsonto_valuex=Botodata.Json.value_to_json(to_valuex)letto_queryto_valuex=Client.Query.of_value(to_valuex)letstructure_to_value_auxst~f=letfilter=function|(k,Somev)->Some(k,v)|_->Noneinletpairkv=(k,v)inletdefer_value(k,dv)=pairkdvin((List.filter_mapst~f:filter)|>(List.map~f:defer_value))|>(funx->`Structure(fx))letstructure_to_value=structure_to_value_aux~f:Fn.idletstructure_to_wrapped_value~wrapper~response=structure_to_value_aux~f:(funx->[(wrapper,(`Structurex));(response,(`Structure[]))])moduleGenericString=structtypenonrect=stringletcontext_="GenericString"letmakei=letopenResultinok_or_failwith(check_patterni~pattern:"[\\S\\s]*");iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"GenericString"jletto_json=simple_to_jsonto_valueendmoduleNetworkId=structtypenonrect=stringletcontext_="NetworkId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:8)>>=(fun()->(check_string_maxi~max:8)>>=(fun()->check_patterni~pattern:"[0-9]{8}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"NetworkId"jletto_json=simple_to_jsonto_valueendmoduleBoolean=structtypenonrect=boolletmakei=iletof_string=Bool.of_stringletto_valuex=`Booleanxletto_queryv=to_queryto_valuevletto_headerx=Bool.to_stringxletof_xmlxml_arg0=Bool.of_string(string_of_xml~kind:"a boolean"xml_arg0)letof_json=bool_of_jsonletto_json=simple_to_jsonto_valueendmoduleInteger=structtypenonrect=intletmakei=iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for Integer"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmodulePermittedWickrEnterpriseNetwork=structtypenonrect={domain:GenericString.t[@ocaml.doc"The domain identifier for the permitted Wickr enterprise network."];networkId:NetworkId.t[@ocaml.doc"The network ID of the permitted Wickr enterprise network."]}letcontext_="PermittedWickrEnterpriseNetwork"letmake~domain=fun~networkId->fun()->{domain;networkId}letto_valuex=structure_to_value[("domain",(Some(GenericString.to_valuex.domain)));("networkId",(Some(NetworkId.to_valuex.networkId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnetworkId=NetworkId.of_xml(Xml.child_exn~context:context_xml_arg0"networkId")inletdomain=GenericString.of_xml(Xml.child_exn~context:context_xml_arg0"domain")inmake~networkId~domain()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnetworkId=field_map_exnjson__"networkId"NetworkId.of_jsoninletdomain=field_map_exnjson__"domain"GenericString.of_jsoninmake~networkId~domain()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Identifies a Wickr enterprise network that is permitted for global federation, allowing users to communicate with members of the specified network."]moduleWickrAwsNetworks=structtypenonrect={region:GenericString.t[@ocaml.doc"The Amazon Web Services region identifier where the network is hosted (e.g., 'us-east-1')."];networkId:NetworkId.t[@ocaml.doc"The network ID of the Wickr Amazon Web Services network."]}letcontext_="WickrAwsNetworks"letmake~region=fun~networkId->fun()->{region;networkId}letto_valuex=structure_to_value[("region",(Some(GenericString.to_valuex.region)));("networkId",(Some(NetworkId.to_valuex.networkId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnetworkId=NetworkId.of_xml(Xml.child_exn~context:context_xml_arg0"networkId")inletregion=GenericString.of_xml(Xml.child_exn~context:context_xml_arg0"region")inmake~networkId~region()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnetworkId=field_map_exnjson__"networkId"NetworkId.of_jsoninletregion=field_map_exnjson__"region"GenericString.of_jsoninmake~networkId~region()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Identifies a Amazon Web Services Wickr network by region and network ID, used for configuring permitted networks for global federation."]moduleSecurityGroupId=structtypenonrect=stringletcontext_="SecurityGroupId"letmakei=letopenResultinok_or_failwith(check_patterni~pattern:"[\\S]+");iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"SecurityGroupId"jletto_json=simple_to_jsonto_valueendmoduleCallingSettings=structtypenonrect={canStart11Call:Boolean.toption[@ocaml.doc"Specifies whether users can start one-to-one calls."];canVideoCall:Boolean.toption[@ocaml.doc"Specifies whether users can make video calls (as opposed to audio-only calls). Valid only when audio call(canStart11Call) is enabled."];forceTcpCall:Boolean.toption[@ocaml.doc"When enabled, forces all calls to use TCP protocol instead of UDP for network traversal."]}letmake?canStart11Call=fun?canVideoCall->fun?forceTcpCall->fun()->{canStart11Call;canVideoCall;forceTcpCall}letto_valuex=structure_to_value[("canStart11Call",(Option.mapx.canStart11Call~f:Boolean.to_value));("canVideoCall",(Option.mapx.canVideoCall~f:Boolean.to_value));("forceTcpCall",(Option.mapx.forceTcpCall~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letforceTcpCall=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"forceTcpCall")inletcanVideoCall=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"canVideoCall")inletcanStart11Call=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"canStart11Call")inmake?forceTcpCall?canVideoCall?canStart11Call()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letforceTcpCall=field_mapjson__"forceTcpCall"Boolean.of_jsoninletcanVideoCall=field_mapjson__"canVideoCall"Boolean.of_jsoninletcanStart11Call=field_mapjson__"canStart11Call"Boolean.of_jsoninmake?forceTcpCall?canVideoCall?canStart11Call()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Defines the calling feature permissions and settings for users in a security group, controlling what types of calls users can initiate and participate in."]moduleLong=structtypenonrect=Int64.tletmakei=iletof_string=Int64.of_stringletto_valuex=`Longxletto_queryv=to_queryto_valuevletto_headerx=Int64.to_stringxletof_xmlxml_arg0=Int64.of_string(string_of_xml~kind:"a long"xml_arg0)letof_jsonj=Int64.of_float(float_of_json~kind:"a long"j)letto_json=simple_to_jsonto_valueendmodulePasswordRequirements=structtypenonrect={lowercase:Integer.toption[@ocaml.doc"The minimum number of lowercase letters required in passwords."];minLength:Integer.toption[@ocaml.doc"The minimum password length in characters."];numbers:Integer.toption[@ocaml.doc"The minimum number of numeric characters required in passwords."];symbols:Integer.toption[@ocaml.doc"The minimum number of special symbol characters required in passwords."];uppercase:Integer.toption[@ocaml.doc"The minimum number of uppercase letters required in passwords."]}letmake?lowercase=fun?minLength->fun?numbers->fun?symbols->fun?uppercase->fun()->{lowercase;minLength;numbers;symbols;uppercase}letto_valuex=structure_to_value[("lowercase",(Option.mapx.lowercase~f:Integer.to_value));("minLength",(Option.mapx.minLength~f:Integer.to_value));("numbers",(Option.mapx.numbers~f:Integer.to_value));("symbols",(Option.mapx.symbols~f:Integer.to_value));("uppercase",(Option.mapx.uppercase~f:Integer.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letuppercase=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"uppercase")inletsymbols=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"symbols")inletnumbers=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"numbers")inletminLength=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"minLength")inletlowercase=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"lowercase")inmake?uppercase?symbols?numbers?minLength?lowercase()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letuppercase=field_mapjson__"uppercase"Integer.of_jsoninletsymbols=field_mapjson__"symbols"Integer.of_jsoninletnumbers=field_mapjson__"numbers"Integer.of_jsoninletminLength=field_mapjson__"minLength"Integer.of_jsoninletlowercase=field_mapjson__"lowercase"Integer.of_jsoninmake?uppercase?symbols?numbers?minLength?lowercase()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Defines password complexity requirements for users in a security group, including minimum length and character type requirements."]modulePermittedNetworksList=structtypenonrect=NetworkId.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:NetworkId.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:NetworkId.of_xml)letof_jsonj=list_of_json~kind:"PermittedNetworksList"~of_json:NetworkId.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmodulePermittedWickrEnterpriseNetworksList=structtypenonrect=PermittedWickrEnterpriseNetwork.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:PermittedWickrEnterpriseNetwork.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:PermittedWickrEnterpriseNetwork.of_xml)letof_jsonj=list_of_json~kind:"PermittedWickrEnterpriseNetworksList"~of_json:PermittedWickrEnterpriseNetwork.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleSecurityGroupStringList=structtypenonrect=GenericString.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:GenericString.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:GenericString.of_xml)letof_jsonj=list_of_json~kind:"SecurityGroupStringList"~of_json:GenericString.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleShredderSettings=structtypenonrect={canProcessManually:Boolean.toption[@ocaml.doc"Specifies whether users can manually trigger the shredder to delete content."];intensity:Integer.toption[@ocaml.doc"Prevents Wickr data from being recovered by overwriting deleted Wickr data. Valid Values: Must be one of \\[0, 20, 60, 100\\]"]}letmake?canProcessManually=fun?intensity->fun()->{canProcessManually;intensity}letto_valuex=structure_to_value[("canProcessManually",(Option.mapx.canProcessManually~f:Boolean.to_value));("intensity",(Option.mapx.intensity~f:Integer.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letintensity=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"intensity")inletcanProcessManually=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"canProcessManually")inmake?intensity?canProcessManually()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letintensity=field_mapjson__"intensity"Integer.of_jsoninletcanProcessManually=field_mapjson__"canProcessManually"Boolean.of_jsoninmake?intensity?canProcessManually()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Configuration for the message shredder feature, which securely deletes messages and files from devices to prevent data recovery."]moduleWickrAwsNetworksList=structtypenonrect=WickrAwsNetworks.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:WickrAwsNetworks.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:WickrAwsNetworks.of_xml)letof_jsonj=list_of_json~kind:"WickrAwsNetworksList"~of_json:WickrAwsNetworks.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleErrorDetail=structtypenonrect={field:GenericString.toption[@ocaml.doc"The name of the field that contains an error or warning."];reason:GenericString.toption[@ocaml.doc"A detailed description of the error or warning."]}letmake?field=fun?reason->fun()->{field;reason}letto_valuex=structure_to_value[("field",(Option.mapx.field~f:GenericString.to_value));("reason",(Option.mapx.reason~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letreason=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"reason")inletfield=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"field")inmake?reason?field()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letreason=field_mapjson__"reason"GenericString.of_jsoninletfield=field_mapjson__"field"GenericString.of_jsoninmake?reason?field()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains detailed error information explaining why an operation failed, including which field caused the error and the reason for the failure."]moduleStatus=structtypenonrect=|DISABLED|ENABLED|FORCE_ENABLED|Non_static_idofstringletmakei=iletto_string=function|DISABLED->"DISABLED"|ENABLED->"ENABLED"|FORCE_ENABLED->"FORCE_ENABLED"|Non_static_ids->sletof_string=function|"DISABLED"->DISABLED|"ENABLED"->ENABLED|"FORCE_ENABLED"->FORCE_ENABLED|x->Non_static_idxletto_valuex=`Enum(to_stringx)letto_queryv=to_queryto_valuevletto_headerx=to_stringxletof_xmlxml_arg0=of_string(string_of_xml~kind:"enumeration Status"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"Status"j)letto_json=simple_to_jsonto_valueendmoduleSecurityGroupIdList=structtypenonrect=SecurityGroupId.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:SecurityGroupId.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:SecurityGroupId.of_xml)letof_jsonj=list_of_json~kind:"SecurityGroupIdList"~of_json:SecurityGroupId.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleSensitiveString=structtypenonrect=stringletcontext_="SensitiveString"letmakei=letopenResultinok_or_failwith(check_patterni~pattern:"[\\S\\s]*");iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"SensitiveString"jletto_json=simple_to_jsonto_valueendmoduleUserId=structtypenonrect=stringletcontext_="UserId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:10)>>=(fun()->check_patterni~pattern:"[0-9]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"UserId"jletto_json=simple_to_jsonto_valueendmoduleSecurityGroupSettings=structtypenonrect={alwaysReauthenticate:Boolean.toption[@ocaml.doc"Requires users to reauthenticate every time they return to the application, providing an additional layer of security."];atakPackageValues:SecurityGroupStringList.toption[@ocaml.doc"Configuration values for ATAK (Android Team Awareness Kit) package integration, when ATAK is enabled."];calling:CallingSettings.toption[@ocaml.doc"The calling feature permissions and settings that control what types of calls users can initiate and participate in."];checkForUpdates:Boolean.toption[@ocaml.doc"Enables automatic checking for Wickr client updates to ensure users stay current with the latest version."];enableAtak:Boolean.toption[@ocaml.doc"Enables ATAK (Android Team Awareness Kit) integration for tactical communication and situational awareness."];enableCrashReports:Boolean.toption[@ocaml.doc"Allow users to report crashes."];enableFileDownload:Boolean.toption[@ocaml.doc"Specifies whether users can download files from messages to their devices."];enableGuestFederation:Boolean.toption[@ocaml.doc"Allows users to communicate with guest users from other Wickr networks and federated external networks."];enableNotificationPreview:Boolean.toption[@ocaml.doc"Enables message preview text in push notifications, allowing users to see message content before opening the app."];enableOpenAccessOption:Boolean.toption[@ocaml.doc"Allow users to avoid censorship when they are geo-blocked or have network limitations."];enableRestrictedGlobalFederation:Boolean.toption[@ocaml.doc"Enables restricted global federation, limiting external communication to only specified permitted networks."];filesEnabled:Boolean.toption[@ocaml.doc"Enables file sharing capabilities, allowing users to send and receive files in conversations."];forceDeviceLockout:Integer.toption[@ocaml.doc"Defines the number of failed login attempts before data stored on the device is reset. Should be less than lockoutThreshold."];forceOpenAccess:Boolean.toption[@ocaml.doc"Automatically enable and enforce Wickr open access on all devices. Valid only if enableOpenAccessOption settings is enabled."];forceReadReceipts:Boolean.toption[@ocaml.doc"Allow user approved bots to read messages in rooms without using a slash command."];globalFederation:Boolean.toption[@ocaml.doc"Allows users to communicate with users on other Wickr instances (Wickr Enterprise) outside the current network."];isAtoEnabled:Boolean.toption[@ocaml.doc"Enforces a two-factor authentication when a user adds a new device to their account."];isLinkPreviewEnabled:Boolean.toption[@ocaml.doc"Enables automatic preview of links shared in messages, showing webpage thumbnails and descriptions."];locationAllowMaps:Boolean.toption[@ocaml.doc"Allows map integration in location sharing, enabling users to view shared locations on interactive maps. Only allowed when location setting is enabled."];locationEnabled:Boolean.toption[@ocaml.doc"Enables location sharing features, allowing users to share their current location with others."];maxAutoDownloadSize:Long.toption[@ocaml.doc"The maximum file size in bytes that will be automatically downloaded without user confirmation. Only allowed if fileDownload is enabled. Valid Values \\[512000 (low_quality), 7340032 (high_quality) \\]"];maxBor:Integer.toption[@ocaml.doc"The maximum burn-on-read (BOR) time in seconds, which determines how long messages remain visible before auto-deletion after being read."];maxTtl:Long.toption[@ocaml.doc"The maximum time-to-live (TTL) in seconds for messages, after which they will be automatically deleted from all devices."];messageForwardingEnabled:Boolean.toption[@ocaml.doc"Enables message forwarding, allowing users to forward messages from one conversation to another."];passwordRequirements:PasswordRequirements.toption[@ocaml.doc"The password complexity requirements that users must follow when creating or changing passwords."];presenceEnabled:Boolean.toption[@ocaml.doc"Enables presence indicators that show whether users are online, away, or offline."];quickResponses:SecurityGroupStringList.toption[@ocaml.doc"A list of pre-defined quick response message templates that users can send with a single tap."];showMasterRecoveryKey:Boolean.toption[@ocaml.doc"Users will get a master recovery key that can be used to securely sign in to their Wickr account without having access to their primary device for authentication. Available in SSO enabled network."];shredder:ShredderSettings.toption[@ocaml.doc"The message shredder configuration that controls secure deletion of messages and files from devices."];ssoMaxIdleMinutes:Integer.toption[@ocaml.doc"The duration for which users SSO session remains inactive before automatically logging them out for security. Available in SSO enabled network."];federationMode:Integer.toption[@ocaml.doc"The local federation mode controlling how users can communicate with other networks. Values: 0 (none), 1 (federated), 2 (restricted)."];lockoutThreshold:Integer.toption[@ocaml.doc"The number of failed password attempts before a user account is locked out."];permittedNetworks:PermittedNetworksList.toption[@ocaml.doc"A list of network IDs that are permitted for local federation when federation mode is set to restricted."];permittedWickrAwsNetworks:WickrAwsNetworksList.toption[@ocaml.doc"A list of permitted Wickr networks for global federation, restricting communication to specific approved networks."];permittedWickrEnterpriseNetworks:PermittedWickrEnterpriseNetworksList.toption[@ocaml.doc"A list of permitted Wickr Enterprise networks for global federation, restricting communication to specific approved networks."]}letmake?alwaysReauthenticate=fun?atakPackageValues->fun?calling->fun?checkForUpdates->fun?enableAtak->fun?enableCrashReports->fun?enableFileDownload->fun?enableGuestFederation->fun?enableNotificationPreview->fun?enableOpenAccessOption->fun?enableRestrictedGlobalFederation->fun?filesEnabled->fun?forceDeviceLockout->fun?forceOpenAccess->fun?forceReadReceipts->fun?globalFederation->fun?isAtoEnabled->fun?isLinkPreviewEnabled->fun?locationAllowMaps->fun?locationEnabled->fun?maxAutoDownloadSize->fun?maxBor->fun?maxTtl->fun?messageForwardingEnabled->fun?passwordRequirements->fun?presenceEnabled->fun?quickResponses->fun?showMasterRecoveryKey->fun?shredder->fun?ssoMaxIdleMinutes->fun?federationMode->fun?lockoutThreshold->fun?permittedNetworks->fun?permittedWickrAwsNetworks->fun?permittedWickrEnterpriseNetworks->fun()->{alwaysReauthenticate;atakPackageValues;calling;checkForUpdates;enableAtak;enableCrashReports;enableFileDownload;enableGuestFederation;enableNotificationPreview;enableOpenAccessOption;enableRestrictedGlobalFederation;filesEnabled;forceDeviceLockout;forceOpenAccess;forceReadReceipts;globalFederation;isAtoEnabled;isLinkPreviewEnabled;locationAllowMaps;locationEnabled;maxAutoDownloadSize;maxBor;maxTtl;messageForwardingEnabled;passwordRequirements;presenceEnabled;quickResponses;showMasterRecoveryKey;shredder;ssoMaxIdleMinutes;federationMode;lockoutThreshold;permittedNetworks;permittedWickrAwsNetworks;permittedWickrEnterpriseNetworks}letto_valuex=structure_to_value[("alwaysReauthenticate",(Option.mapx.alwaysReauthenticate~f:Boolean.to_value));("atakPackageValues",(Option.mapx.atakPackageValues~f:SecurityGroupStringList.to_value));("calling",(Option.mapx.calling~f:CallingSettings.to_value));("checkForUpdates",(Option.mapx.checkForUpdates~f:Boolean.to_value));("enableAtak",(Option.mapx.enableAtak~f:Boolean.to_value));("enableCrashReports",(Option.mapx.enableCrashReports~f:Boolean.to_value));("enableFileDownload",(Option.mapx.enableFileDownload~f:Boolean.to_value));("enableGuestFederation",(Option.mapx.enableGuestFederation~f:Boolean.to_value));("enableNotificationPreview",(Option.mapx.enableNotificationPreview~f:Boolean.to_value));("enableOpenAccessOption",(Option.mapx.enableOpenAccessOption~f:Boolean.to_value));("enableRestrictedGlobalFederation",(Option.mapx.enableRestrictedGlobalFederation~f:Boolean.to_value));("filesEnabled",(Option.mapx.filesEnabled~f:Boolean.to_value));("forceDeviceLockout",(Option.mapx.forceDeviceLockout~f:Integer.to_value));("forceOpenAccess",(Option.mapx.forceOpenAccess~f:Boolean.to_value));("forceReadReceipts",(Option.mapx.forceReadReceipts~f:Boolean.to_value));("globalFederation",(Option.mapx.globalFederation~f:Boolean.to_value));("isAtoEnabled",(Option.mapx.isAtoEnabled~f:Boolean.to_value));("isLinkPreviewEnabled",(Option.mapx.isLinkPreviewEnabled~f:Boolean.to_value));("locationAllowMaps",(Option.mapx.locationAllowMaps~f:Boolean.to_value));("locationEnabled",(Option.mapx.locationEnabled~f:Boolean.to_value));("maxAutoDownloadSize",(Option.mapx.maxAutoDownloadSize~f:Long.to_value));("maxBor",(Option.mapx.maxBor~f:Integer.to_value));("maxTtl",(Option.mapx.maxTtl~f:Long.to_value));("messageForwardingEnabled",(Option.mapx.messageForwardingEnabled~f:Boolean.to_value));("passwordRequirements",(Option.mapx.passwordRequirements~f:PasswordRequirements.to_value));("presenceEnabled",(Option.mapx.presenceEnabled~f:Boolean.to_value));("quickResponses",(Option.mapx.quickResponses~f:SecurityGroupStringList.to_value));("showMasterRecoveryKey",(Option.mapx.showMasterRecoveryKey~f:Boolean.to_value));("shredder",(Option.mapx.shredder~f:ShredderSettings.to_value));("ssoMaxIdleMinutes",(Option.mapx.ssoMaxIdleMinutes~f:Integer.to_value));("federationMode",(Option.mapx.federationMode~f:Integer.to_value));("lockoutThreshold",(Option.mapx.lockoutThreshold~f:Integer.to_value));("permittedNetworks",(Option.mapx.permittedNetworks~f:PermittedNetworksList.to_value));("permittedWickrAwsNetworks",(Option.mapx.permittedWickrAwsNetworks~f:WickrAwsNetworksList.to_value));("permittedWickrEnterpriseNetworks",(Option.mapx.permittedWickrEnterpriseNetworks~f:PermittedWickrEnterpriseNetworksList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpermittedWickrEnterpriseNetworks=(Option.map~f:PermittedWickrEnterpriseNetworksList.of_xml)(Xml.childxml_arg0"permittedWickrEnterpriseNetworks")inletpermittedWickrAwsNetworks=(Option.map~f:WickrAwsNetworksList.of_xml)(Xml.childxml_arg0"permittedWickrAwsNetworks")inletpermittedNetworks=(Option.map~f:PermittedNetworksList.of_xml)(Xml.childxml_arg0"permittedNetworks")inletlockoutThreshold=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"lockoutThreshold")inletfederationMode=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"federationMode")inletssoMaxIdleMinutes=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"ssoMaxIdleMinutes")inletshredder=(Option.map~f:ShredderSettings.of_xml)(Xml.childxml_arg0"shredder")inletshowMasterRecoveryKey=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"showMasterRecoveryKey")inletquickResponses=(Option.map~f:SecurityGroupStringList.of_xml)(Xml.childxml_arg0"quickResponses")inletpresenceEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"presenceEnabled")inletpasswordRequirements=(Option.map~f:PasswordRequirements.of_xml)(Xml.childxml_arg0"passwordRequirements")inletmessageForwardingEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"messageForwardingEnabled")inletmaxTtl=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"maxTtl")inletmaxBor=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"maxBor")inletmaxAutoDownloadSize=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"maxAutoDownloadSize")inletlocationEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"locationEnabled")inletlocationAllowMaps=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"locationAllowMaps")inletisLinkPreviewEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"isLinkPreviewEnabled")inletisAtoEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"isAtoEnabled")inletglobalFederation=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"globalFederation")inletforceReadReceipts=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"forceReadReceipts")inletforceOpenAccess=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"forceOpenAccess")inletforceDeviceLockout=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"forceDeviceLockout")inletfilesEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"filesEnabled")inletenableRestrictedGlobalFederation=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"enableRestrictedGlobalFederation")inletenableOpenAccessOption=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"enableOpenAccessOption")inletenableNotificationPreview=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"enableNotificationPreview")inletenableGuestFederation=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"enableGuestFederation")inletenableFileDownload=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"enableFileDownload")inletenableCrashReports=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"enableCrashReports")inletenableAtak=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"enableAtak")inletcheckForUpdates=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"checkForUpdates")inletcalling=(Option.map~f:CallingSettings.of_xml)(Xml.childxml_arg0"calling")inletatakPackageValues=(Option.map~f:SecurityGroupStringList.of_xml)(Xml.childxml_arg0"atakPackageValues")inletalwaysReauthenticate=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"alwaysReauthenticate")inmake?permittedWickrEnterpriseNetworks?permittedWickrAwsNetworks?permittedNetworks?lockoutThreshold?federationMode?ssoMaxIdleMinutes?shredder?showMasterRecoveryKey?quickResponses?presenceEnabled?passwordRequirements?messageForwardingEnabled?maxTtl?maxBor?maxAutoDownloadSize?locationEnabled?locationAllowMaps?isLinkPreviewEnabled?isAtoEnabled?globalFederation?forceReadReceipts?forceOpenAccess?forceDeviceLockout?filesEnabled?enableRestrictedGlobalFederation?enableOpenAccessOption?enableNotificationPreview?enableGuestFederation?enableFileDownload?enableCrashReports?enableAtak?checkForUpdates?calling?atakPackageValues?alwaysReauthenticate()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpermittedWickrEnterpriseNetworks=field_mapjson__"permittedWickrEnterpriseNetworks"PermittedWickrEnterpriseNetworksList.of_jsoninletpermittedWickrAwsNetworks=field_mapjson__"permittedWickrAwsNetworks"WickrAwsNetworksList.of_jsoninletpermittedNetworks=field_mapjson__"permittedNetworks"PermittedNetworksList.of_jsoninletlockoutThreshold=field_mapjson__"lockoutThreshold"Integer.of_jsoninletfederationMode=field_mapjson__"federationMode"Integer.of_jsoninletssoMaxIdleMinutes=field_mapjson__"ssoMaxIdleMinutes"Integer.of_jsoninletshredder=field_mapjson__"shredder"ShredderSettings.of_jsoninletshowMasterRecoveryKey=field_mapjson__"showMasterRecoveryKey"Boolean.of_jsoninletquickResponses=field_mapjson__"quickResponses"SecurityGroupStringList.of_jsoninletpresenceEnabled=field_mapjson__"presenceEnabled"Boolean.of_jsoninletpasswordRequirements=field_mapjson__"passwordRequirements"PasswordRequirements.of_jsoninletmessageForwardingEnabled=field_mapjson__"messageForwardingEnabled"Boolean.of_jsoninletmaxTtl=field_mapjson__"maxTtl"Long.of_jsoninletmaxBor=field_mapjson__"maxBor"Integer.of_jsoninletmaxAutoDownloadSize=field_mapjson__"maxAutoDownloadSize"Long.of_jsoninletlocationEnabled=field_mapjson__"locationEnabled"Boolean.of_jsoninletlocationAllowMaps=field_mapjson__"locationAllowMaps"Boolean.of_jsoninletisLinkPreviewEnabled=field_mapjson__"isLinkPreviewEnabled"Boolean.of_jsoninletisAtoEnabled=field_mapjson__"isAtoEnabled"Boolean.of_jsoninletglobalFederation=field_mapjson__"globalFederation"Boolean.of_jsoninletforceReadReceipts=field_mapjson__"forceReadReceipts"Boolean.of_jsoninletforceOpenAccess=field_mapjson__"forceOpenAccess"Boolean.of_jsoninletforceDeviceLockout=field_mapjson__"forceDeviceLockout"Integer.of_jsoninletfilesEnabled=field_mapjson__"filesEnabled"Boolean.of_jsoninletenableRestrictedGlobalFederation=field_mapjson__"enableRestrictedGlobalFederation"Boolean.of_jsoninletenableOpenAccessOption=field_mapjson__"enableOpenAccessOption"Boolean.of_jsoninletenableNotificationPreview=field_mapjson__"enableNotificationPreview"Boolean.of_jsoninletenableGuestFederation=field_mapjson__"enableGuestFederation"Boolean.of_jsoninletenableFileDownload=field_mapjson__"enableFileDownload"Boolean.of_jsoninletenableCrashReports=field_mapjson__"enableCrashReports"Boolean.of_jsoninletenableAtak=field_mapjson__"enableAtak"Boolean.of_jsoninletcheckForUpdates=field_mapjson__"checkForUpdates"Boolean.of_jsoninletcalling=field_mapjson__"calling"CallingSettings.of_jsoninletatakPackageValues=field_mapjson__"atakPackageValues"SecurityGroupStringList.of_jsoninletalwaysReauthenticate=field_mapjson__"alwaysReauthenticate"Boolean.of_jsoninmake?permittedWickrEnterpriseNetworks?permittedWickrAwsNetworks?permittedNetworks?lockoutThreshold?federationMode?ssoMaxIdleMinutes?shredder?showMasterRecoveryKey?quickResponses?presenceEnabled?passwordRequirements?messageForwardingEnabled?maxTtl?maxBor?maxAutoDownloadSize?locationEnabled?locationAllowMaps?isLinkPreviewEnabled?isAtoEnabled?globalFederation?forceReadReceipts?forceOpenAccess?forceDeviceLockout?filesEnabled?enableRestrictedGlobalFederation?enableOpenAccessOption?enableNotificationPreview?enableGuestFederation?enableFileDownload?enableCrashReports?enableAtak?checkForUpdates?calling?atakPackageValues?alwaysReauthenticate()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Comprehensive configuration settings that define all user capabilities, restrictions, and features for members of a security group. These settings control everything from calling permissions to federation settings to security policies."]moduleAccessLevel=structtypenonrect=|STANDARD|PREMIUM|Non_static_idofstringletmakei=iletto_string=function|STANDARD->"STANDARD"|PREMIUM->"PREMIUM"|Non_static_ids->sletof_string=function|"STANDARD"->STANDARD|"PREMIUM"->PREMIUM|x->Non_static_idxletto_valuex=`Enum(to_stringx)letto_queryv=to_queryto_valuevletto_headerx=to_stringxletof_xmlxml_arg0=of_string(string_of_xml~kind:"enumeration AccessLevel"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"AccessLevel"j)letto_json=simple_to_jsonto_valueendmoduleBotStatus=structtypenonrect=intletmakei=iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for BotStatus"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleUname=structtypenonrect=stringletcontext_="Uname"letmakei=iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"Uname"jletto_json=simple_to_jsonto_valueendmoduleErrorDetailList=structtypenonrect=ErrorDetail.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ErrorDetail.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:ErrorDetail.of_xml)letof_jsonj=list_of_json~kind:"ErrorDetailList"~of_json:ErrorDetail.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleSetting=structtypenonrect={optionName:GenericString.toption[@ocaml.doc"The name of the network setting (e.g., 'enableClientMetrics', 'dataRetention')."];value:GenericString.toption[@ocaml.doc"The current value of the setting as a string. Boolean values are represented as 'true' or 'false'."];type_:GenericString.toption[@ocaml.doc"The data type of the setting value (e.g., 'boolean', 'string', 'number')."]}letmake?optionName=fun?value->fun?type_->fun()->{optionName;value;type_}letto_valuex=structure_to_value[("optionName",(Option.mapx.optionName~f:GenericString.to_value));("value",(Option.mapx.value~f:GenericString.to_value));("type",(Option.mapx.type_~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettype_=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"type")inletvalue=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"value")inletoptionName=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"optionName")inmake?type_?value?optionName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettype_=field_mapjson__"type"GenericString.of_jsoninletvalue=field_mapjson__"value"GenericString.of_jsoninletoptionName=field_mapjson__"optionName"GenericString.of_jsoninmake?type_?value?optionName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Represents a single network-level configuration setting with its name, value, and data type. Settings control network-wide behaviors and features."]moduleReadReceiptConfig=structtypenonrect={status:Status.toption[@ocaml.doc"The read receipt status mode for the network."]}letmake?status=fun()->{status}letto_valuex=structure_to_value[("status",(Option.mapx.status~f:Status.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:Status.of_xml)(Xml.childxml_arg0"status")inmake?status()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"status"Status.of_jsoninmake?status()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Configuration for read receipts at the network level, controlling whether senders can see when their messages have been read."]moduleUser=structtypenonrect={userId:UserId.toption[@ocaml.doc"The unique identifier for the user within the network."];firstName:SensitiveString.toption[@ocaml.doc"The first name of the user."];lastName:SensitiveString.toption[@ocaml.doc"The last name of the user."];username:GenericString.toption[@ocaml.doc"The email address or username of the user. For bots, this must end in 'bot'."];securityGroups:SecurityGroupIdList.toption[@ocaml.doc"A list of security group IDs to which the user is assigned, determining their permissions and feature access."];isAdmin:Boolean.toption[@ocaml.doc"Indicates whether the user has administrator privileges in the network."];suspended:Boolean.toption[@ocaml.doc"Indicates whether the user is currently suspended and unable to access the network."];status:Integer.toption[@ocaml.doc"The current status of the user (1 for pending invitation, 2 for active)."];otpEnabled:Boolean.toption[@ocaml.doc"Indicates whether one-time password (OTP) authentication is enabled for the user."];scimId:GenericString.toption[@ocaml.doc"The SCIM (System for Cross-domain Identity Management) identifier for the user, used for identity synchronization. Currently not used."];type_:GenericString.toption[@ocaml.doc"The descriptive type of the user account (e.g., 'user')."];cell:GenericString.toption[@ocaml.doc"The phone number minus country code, used for cloud deployments."];countryCode:GenericString.toption[@ocaml.doc"The country code for the user's phone number, used for cloud deployments."];challengeFailures:Integer.toption[@ocaml.doc"The number of failed password attempts for enterprise deployments, used for account lockout policies."];isInviteExpired:Boolean.toption[@ocaml.doc"Indicates whether the user's email invitation code has expired, applicable to cloud deployments."];isUser:Boolean.toption[@ocaml.doc"Indicates whether this account is a user (as opposed to a bot or other account type)."];inviteCode:GenericString.toption[@ocaml.doc"The invitation code for this user, used during registration to join the network."];codeValidation:Boolean.toption[@ocaml.doc"Indicates whether the user can be verified through a custom invite code."];uname:GenericString.toption[@ocaml.doc"The unique identifier for the user."]}letmake?userId=fun?firstName->fun?lastName->fun?username->fun?securityGroups->fun?isAdmin->fun?suspended->fun?status->fun?otpEnabled->fun?scimId->fun?type_->fun?cell->fun?countryCode->fun?challengeFailures->fun?isInviteExpired->fun?isUser->fun?inviteCode->fun?codeValidation->fun?uname->fun()->{userId;firstName;lastName;username;securityGroups;isAdmin;suspended;status;otpEnabled;scimId;type_;cell;countryCode;challengeFailures;isInviteExpired;isUser;inviteCode;codeValidation;uname}letto_valuex=structure_to_value[("userId",(Option.mapx.userId~f:UserId.to_value));("firstName",(Option.mapx.firstName~f:SensitiveString.to_value));("lastName",(Option.mapx.lastName~f:SensitiveString.to_value));("username",(Option.mapx.username~f:GenericString.to_value));("securityGroups",(Option.mapx.securityGroups~f:SecurityGroupIdList.to_value));("isAdmin",(Option.mapx.isAdmin~f:Boolean.to_value));("suspended",(Option.mapx.suspended~f:Boolean.to_value));("status",(Option.mapx.status~f:Integer.to_value));("otpEnabled",(Option.mapx.otpEnabled~f:Boolean.to_value));("scimId",(Option.mapx.scimId~f:GenericString.to_value));("type",(Option.mapx.type_~f:GenericString.to_value));("cell",(Option.mapx.cell~f:GenericString.to_value));("countryCode",(Option.mapx.countryCode~f:GenericString.to_value));("challengeFailures",(Option.mapx.challengeFailures~f:Integer.to_value));("isInviteExpired",(Option.mapx.isInviteExpired~f:Boolean.to_value));("isUser",(Option.mapx.isUser~f:Boolean.to_value));("inviteCode",(Option.mapx.inviteCode~f:GenericString.to_value));("codeValidation",(Option.mapx.codeValidation~f:Boolean.to_value));("uname",(Option.mapx.uname~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letuname=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"uname")inletcodeValidation=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"codeValidation")inletinviteCode=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"inviteCode")inletisUser=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"isUser")inletisInviteExpired=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"isInviteExpired")inletchallengeFailures=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"challengeFailures")inletcountryCode=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"countryCode")inletcell=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"cell")inlettype_=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"type")inletscimId=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"scimId")inletotpEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"otpEnabled")inletstatus=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"status")inletsuspended=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"suspended")inletisAdmin=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"isAdmin")inletsecurityGroups=(Option.map~f:SecurityGroupIdList.of_xml)(Xml.childxml_arg0"securityGroups")inletusername=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"username")inletlastName=(Option.map~f:SensitiveString.of_xml)(Xml.childxml_arg0"lastName")inletfirstName=(Option.map~f:SensitiveString.of_xml)(Xml.childxml_arg0"firstName")inletuserId=(Option.map~f:UserId.of_xml)(Xml.childxml_arg0"userId")inmake?uname?codeValidation?inviteCode?isUser?isInviteExpired?challengeFailures?countryCode?cell?type_?scimId?otpEnabled?status?suspended?isAdmin?securityGroups?username?lastName?firstName?userId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letuname=field_mapjson__"uname"GenericString.of_jsoninletcodeValidation=field_mapjson__"codeValidation"Boolean.of_jsoninletinviteCode=field_mapjson__"inviteCode"GenericString.of_jsoninletisUser=field_mapjson__"isUser"Boolean.of_jsoninletisInviteExpired=field_mapjson__"isInviteExpired"Boolean.of_jsoninletchallengeFailures=field_mapjson__"challengeFailures"Integer.of_jsoninletcountryCode=field_mapjson__"countryCode"GenericString.of_jsoninletcell=field_mapjson__"cell"GenericString.of_jsoninlettype_=field_mapjson__"type"GenericString.of_jsoninletscimId=field_mapjson__"scimId"GenericString.of_jsoninletotpEnabled=field_mapjson__"otpEnabled"Boolean.of_jsoninletstatus=field_mapjson__"status"Integer.of_jsoninletsuspended=field_mapjson__"suspended"Boolean.of_jsoninletisAdmin=field_mapjson__"isAdmin"Boolean.of_jsoninletsecurityGroups=field_mapjson__"securityGroups"SecurityGroupIdList.of_jsoninletusername=field_mapjson__"username"GenericString.of_jsoninletlastName=field_mapjson__"lastName"SensitiveString.of_jsoninletfirstName=field_mapjson__"firstName"SensitiveString.of_jsoninletuserId=field_mapjson__"userId"UserId.of_jsoninmake?uname?codeValidation?inviteCode?isUser?isInviteExpired?challengeFailures?countryCode?cell?type_?scimId?otpEnabled?status?suspended?isAdmin?securityGroups?username?lastName?firstName?userId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Represents a user account in a Wickr network with detailed profile information, status, security settings, and authentication details. codeValidation, inviteCode and inviteCodeTtl are restricted to networks under preview only."]moduleSecurityGroup=structtypenonrect={activeMembers:Integer.toption[@ocaml.doc"The number of active user members currently in the security group."];botMembers:Integer.toption[@ocaml.doc"The number of bot members currently in the security group."];activeDirectoryGuid:GenericString.toption[@ocaml.doc"The GUID of the Active Directory group associated with this security group, if synchronized with LDAP."];id:GenericString.toption[@ocaml.doc"The unique identifier of the security group."];isDefault:Boolean.toption[@ocaml.doc"Indicates whether this is the default security group for the network. Each network has only one default group."];name:GenericString.toption[@ocaml.doc"The human-readable name of the security group."];modified:Integer.toption[@ocaml.doc"The timestamp when the security group was last modified, specified in epoch seconds."];securityGroupSettings:SecurityGroupSettings.toption[@ocaml.doc"The comprehensive configuration settings that define capabilities and restrictions for members of this security group."]}letmake?activeMembers=fun?botMembers->fun?activeDirectoryGuid->fun?id->fun?isDefault->fun?name->fun?modified->fun?securityGroupSettings->fun()->{activeMembers;botMembers;activeDirectoryGuid;id;isDefault;name;modified;securityGroupSettings}letto_valuex=structure_to_value[("activeMembers",(Option.mapx.activeMembers~f:Integer.to_value));("botMembers",(Option.mapx.botMembers~f:Integer.to_value));("activeDirectoryGuid",(Option.mapx.activeDirectoryGuid~f:GenericString.to_value));("id",(Option.mapx.id~f:GenericString.to_value));("isDefault",(Option.mapx.isDefault~f:Boolean.to_value));("name",(Option.mapx.name~f:GenericString.to_value));("modified",(Option.mapx.modified~f:Integer.to_value));("securityGroupSettings",(Option.mapx.securityGroupSettings~f:SecurityGroupSettings.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsecurityGroupSettings=(Option.map~f:SecurityGroupSettings.of_xml)(Xml.childxml_arg0"securityGroupSettings")inletmodified=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"modified")inletname=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"name")inletisDefault=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"isDefault")inletid=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"id")inletactiveDirectoryGuid=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"activeDirectoryGuid")inletbotMembers=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"botMembers")inletactiveMembers=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"activeMembers")inmake?securityGroupSettings?modified?name?isDefault?id?activeDirectoryGuid?botMembers?activeMembers()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsecurityGroupSettings=field_mapjson__"securityGroupSettings"SecurityGroupSettings.of_jsoninletmodified=field_mapjson__"modified"Integer.of_jsoninletname=field_mapjson__"name"GenericString.of_jsoninletisDefault=field_mapjson__"isDefault"Boolean.of_jsoninletid=field_mapjson__"id"GenericString.of_jsoninletactiveDirectoryGuid=field_mapjson__"activeDirectoryGuid"GenericString.of_jsoninletbotMembers=field_mapjson__"botMembers"Integer.of_jsoninletactiveMembers=field_mapjson__"activeMembers"Integer.of_jsoninmake?securityGroupSettings?modified?name?isDefault?id?activeDirectoryGuid?botMembers?activeMembers()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Represents a security group in a Wickr network, containing membership statistics, configuration, and all permission settings that apply to its members."]moduleNetwork=structtypenonrect={networkId:NetworkId.toption[@ocaml.doc"The unique identifier of the network."];networkName:GenericString.toption[@ocaml.doc"The name of the network."];accessLevel:AccessLevel.toption[@ocaml.doc"The access level of the network (STANDARD or PREMIUM), which determines available features and capabilities."];awsAccountId:GenericString.toption[@ocaml.doc"The Amazon Web Services account ID that owns the network."];networkArn:GenericString.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the network."];standing:Integer.toption[@ocaml.doc"The current standing or status of the network."];freeTrialExpiration:GenericString.toption[@ocaml.doc"The expiration date and time for the network's free trial period, if applicable."];migrationState:Integer.toption[@ocaml.doc"The SSO redirect URI migration state, managed by the SSO redirect migration wizard. Values: 0 (not started), 1 (in progress), or 2 (completed)."];encryptionKeyArn:GenericString.toption[@ocaml.doc"The ARN of the Amazon Web Services KMS customer managed key used for encrypting sensitive data in the network."]}letmake?networkId=fun?networkName->fun?accessLevel->fun?awsAccountId->fun?networkArn->fun?standing->fun?freeTrialExpiration->fun?migrationState->fun?encryptionKeyArn->fun()->{networkId;networkName;accessLevel;awsAccountId;networkArn;standing;freeTrialExpiration;migrationState;encryptionKeyArn}letto_valuex=structure_to_value[("networkId",(Option.mapx.networkId~f:NetworkId.to_value));("networkName",(Option.mapx.networkName~f:GenericString.to_value));("accessLevel",(Option.mapx.accessLevel~f:AccessLevel.to_value));("awsAccountId",(Option.mapx.awsAccountId~f:GenericString.to_value));("networkArn",(Option.mapx.networkArn~f:GenericString.to_value));("standing",(Option.mapx.standing~f:Integer.to_value));("freeTrialExpiration",(Option.mapx.freeTrialExpiration~f:GenericString.to_value));("migrationState",(Option.mapx.migrationState~f:Integer.to_value));("encryptionKeyArn",(Option.mapx.encryptionKeyArn~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letencryptionKeyArn=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"encryptionKeyArn")inletmigrationState=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"migrationState")inletfreeTrialExpiration=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"freeTrialExpiration")inletstanding=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"standing")inletnetworkArn=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"networkArn")inletawsAccountId=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"awsAccountId")inletaccessLevel=(Option.map~f:AccessLevel.of_xml)(Xml.childxml_arg0"accessLevel")inletnetworkName=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"networkName")inletnetworkId=(Option.map~f:NetworkId.of_xml)(Xml.childxml_arg0"networkId")inmake?encryptionKeyArn?migrationState?freeTrialExpiration?standing?networkArn?awsAccountId?accessLevel?networkName?networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letencryptionKeyArn=field_mapjson__"encryptionKeyArn"GenericString.of_jsoninletmigrationState=field_mapjson__"migrationState"Integer.of_jsoninletfreeTrialExpiration=field_mapjson__"freeTrialExpiration"GenericString.of_jsoninletstanding=field_mapjson__"standing"Integer.of_jsoninletnetworkArn=field_mapjson__"networkArn"GenericString.of_jsoninletawsAccountId=field_mapjson__"awsAccountId"GenericString.of_jsoninletaccessLevel=field_mapjson__"accessLevel"AccessLevel.of_jsoninletnetworkName=field_mapjson__"networkName"GenericString.of_jsoninletnetworkId=field_mapjson__"networkId"NetworkId.of_jsoninmake?encryptionKeyArn?migrationState?freeTrialExpiration?standing?networkArn?awsAccountId?accessLevel?networkName?networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Represents a Wickr network with all its configuration and status information."]moduleGuestUser=structtypenonrect={billingPeriod:GenericString.toption[@ocaml.doc"The billing period when this guest user accessed the network (e.g., '2024-01')."];username:GenericString.toption[@ocaml.doc"The username of the guest user."];usernameHash:GenericString.toption[@ocaml.doc"The unique username hash identifier for the guest user."]}letmake?billingPeriod=fun?username->fun?usernameHash->fun()->{billingPeriod;username;usernameHash}letto_valuex=structure_to_value[("billingPeriod",(Option.mapx.billingPeriod~f:GenericString.to_value));("username",(Option.mapx.username~f:GenericString.to_value));("usernameHash",(Option.mapx.usernameHash~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letusernameHash=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"usernameHash")inletusername=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"username")inletbillingPeriod=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"billingPeriod")inmake?usernameHash?username?billingPeriod()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letusernameHash=field_mapjson__"usernameHash"GenericString.of_jsoninletusername=field_mapjson__"username"GenericString.of_jsoninletbillingPeriod=field_mapjson__"billingPeriod"GenericString.of_jsoninmake?usernameHash?username?billingPeriod()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Represents a guest user who has accessed the network from a federated Wickr network."]moduleBasicDeviceObject=structtypenonrect={appId:GenericString.toption[@ocaml.doc"The unique application ID for the Wickr app on this device."];created:GenericString.toption[@ocaml.doc"The timestamp when the device first appeared in the Wickr database."];lastLogin:GenericString.toption[@ocaml.doc"The timestamp when the device last successfully logged into Wickr. This is also used to determine SSO idle time."];statusText:GenericString.toption[@ocaml.doc"The current status of the device, either 'Active' or 'Reset' depending on whether the device is currently active or has been marked for reset."];suspend:Boolean.toption[@ocaml.doc"Indicates whether the device is suspended."];type_:GenericString.toption[@ocaml.doc"The operating system of the device (e.g., 'MacOSX', 'Windows', 'iOS', 'Android')."]}letmake?appId=fun?created->fun?lastLogin->fun?statusText->fun?suspend->fun?type_->fun()->{appId;created;lastLogin;statusText;suspend;type_}letto_valuex=structure_to_value[("appId",(Option.mapx.appId~f:GenericString.to_value));("created",(Option.mapx.created~f:GenericString.to_value));("lastLogin",(Option.mapx.lastLogin~f:GenericString.to_value));("statusText",(Option.mapx.statusText~f:GenericString.to_value));("suspend",(Option.mapx.suspend~f:Boolean.to_value));("type",(Option.mapx.type_~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettype_=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"type")inletsuspend=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"suspend")inletstatusText=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"statusText")inletlastLogin=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"lastLogin")inletcreated=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"created")inletappId=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"appId")inmake?type_?suspend?statusText?lastLogin?created?appId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettype_=field_mapjson__"type"GenericString.of_jsoninletsuspend=field_mapjson__"suspend"Boolean.of_jsoninletstatusText=field_mapjson__"statusText"GenericString.of_jsoninletlastLogin=field_mapjson__"lastLogin"GenericString.of_jsoninletcreated=field_mapjson__"created"GenericString.of_jsoninletappId=field_mapjson__"appId"GenericString.of_jsoninmake?type_?suspend?statusText?lastLogin?created?appId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Represents a device where a user has logged into Wickr, containing information about the device's type, status, and login history."]moduleBot=structtypenonrect={botId:GenericString.toption[@ocaml.doc"The unique identifier of the bot."];displayName:GenericString.toption[@ocaml.doc"The display name of the bot that is visible to users."];username:GenericString.toption[@ocaml.doc"The username of the bot."];uname:GenericString.toption[@ocaml.doc"The unique username hash identifier for the bot."];pubkey:GenericString.toption[@ocaml.doc"The public key of the bot used for encryption."];status:BotStatus.toption[@ocaml.doc"The current status of the bot (1 for pending, 2 for active)."];groupId:GenericString.toption[@ocaml.doc"The ID of the security group to which the bot belongs."];hasChallenge:Boolean.toption[@ocaml.doc"Indicates whether the bot has a password set."];suspended:Boolean.toption[@ocaml.doc"Indicates whether the bot is currently suspended."];lastLogin:GenericString.toption[@ocaml.doc"The timestamp of the bot's last login."]}letmake?botId=fun?displayName->fun?username->fun?uname->fun?pubkey->fun?status->fun?groupId->fun?hasChallenge->fun?suspended->fun?lastLogin->fun()->{botId;displayName;username;uname;pubkey;status;groupId;hasChallenge;suspended;lastLogin}letto_valuex=structure_to_value[("botId",(Option.mapx.botId~f:GenericString.to_value));("displayName",(Option.mapx.displayName~f:GenericString.to_value));("username",(Option.mapx.username~f:GenericString.to_value));("uname",(Option.mapx.uname~f:GenericString.to_value));("pubkey",(Option.mapx.pubkey~f:GenericString.to_value));("status",(Option.mapx.status~f:BotStatus.to_value));("groupId",(Option.mapx.groupId~f:GenericString.to_value));("hasChallenge",(Option.mapx.hasChallenge~f:Boolean.to_value));("suspended",(Option.mapx.suspended~f:Boolean.to_value));("lastLogin",(Option.mapx.lastLogin~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastLogin=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"lastLogin")inletsuspended=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"suspended")inlethasChallenge=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"hasChallenge")inletgroupId=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"groupId")inletstatus=(Option.map~f:BotStatus.of_xml)(Xml.childxml_arg0"status")inletpubkey=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"pubkey")inletuname=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"uname")inletusername=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"username")inletdisplayName=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"displayName")inletbotId=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"botId")inmake?lastLogin?suspended?hasChallenge?groupId?status?pubkey?uname?username?displayName?botId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastLogin=field_mapjson__"lastLogin"GenericString.of_jsoninletsuspended=field_mapjson__"suspended"Boolean.of_jsoninlethasChallenge=field_mapjson__"hasChallenge"Boolean.of_jsoninletgroupId=field_mapjson__"groupId"GenericString.of_jsoninletstatus=field_mapjson__"status"BotStatus.of_jsoninletpubkey=field_mapjson__"pubkey"GenericString.of_jsoninletuname=field_mapjson__"uname"GenericString.of_jsoninletusername=field_mapjson__"username"GenericString.of_jsoninletdisplayName=field_mapjson__"displayName"GenericString.of_jsoninletbotId=field_mapjson__"botId"GenericString.of_jsoninmake?lastLogin?suspended?hasChallenge?groupId?status?pubkey?uname?username?displayName?botId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Represents a bot account in a Wickr network with all its informational fields."]moduleBlockedGuestUser=structtypenonrect={username:GenericString.toption[@ocaml.doc"The username of the blocked guest user."];admin:GenericString.toption[@ocaml.doc"The username of the administrator who blocked this guest user."];modified:GenericString.toption[@ocaml.doc"The timestamp when the guest user was blocked or last modified."];usernameHash:GenericString.toption[@ocaml.doc"The unique username hash identifier for the blocked guest user."]}letmake?username=fun?admin->fun?modified->fun?usernameHash->fun()->{username;admin;modified;usernameHash}letto_valuex=structure_to_value[("username",(Option.mapx.username~f:GenericString.to_value));("admin",(Option.mapx.admin~f:GenericString.to_value));("modified",(Option.mapx.modified~f:GenericString.to_value));("usernameHash",(Option.mapx.usernameHash~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letusernameHash=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"usernameHash")inletmodified=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"modified")inletadmin=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"admin")inletusername=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"username")inmake?usernameHash?modified?admin?username()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letusernameHash=field_mapjson__"usernameHash"GenericString.of_jsoninletmodified=field_mapjson__"modified"GenericString.of_jsoninletadmin=field_mapjson__"admin"GenericString.of_jsoninletusername=field_mapjson__"username"GenericString.of_jsoninmake?usernameHash?modified?admin?username()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Represents a guest user who has been blocked from accessing a Wickr network."]moduleOidcConfigInfoApplicationIdInteger=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:10)>>=(fun()->check_int_mini~min:1));iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for OidcConfigInfoApplicationIdInteger"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleGuestUserHistoryCount=structtypenonrect={month:GenericString.toption[@ocaml.doc"The month and billing period in YYYY_MM format (e.g., '2024_01')."];count:GenericString.toption[@ocaml.doc"The number of guest users who have communicated with your Wickr network during this billing period."]}letmake?month=fun?count->fun()->{month;count}letto_valuex=structure_to_value[("month",(Option.mapx.month~f:GenericString.to_value));("count",(Option.mapx.count~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcount=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"count")inletmonth=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"month")inmake?count?month()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcount=field_mapjson__"count"GenericString.of_jsoninletmonth=field_mapjson__"month"GenericString.of_jsoninmake?count?month()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains the count of guest users for a specific billing period, used for tracking historical guest user activity."]moduleBatchUserErrorResponseItem=structtypenonrect={field:GenericString.toption[@ocaml.doc"The field that caused the error."];reason:GenericString.toption[@ocaml.doc"A description of why the user operation failed."];userId:UserId.toption[@ocaml.doc"The user ID associated with the failed operation."]}letmake?field=fun?reason->fun?userId->fun()->{field;reason;userId}letto_valuex=structure_to_value[("field",(Option.mapx.field~f:GenericString.to_value));("reason",(Option.mapx.reason~f:GenericString.to_value));("userId",(Option.mapx.userId~f:UserId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letuserId=(Option.map~f:UserId.of_xml)(Xml.childxml_arg0"userId")inletreason=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"reason")inletfield=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"field")inmake?userId?reason?field()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letuserId=field_mapjson__"userId"UserId.of_jsoninletreason=field_mapjson__"reason"GenericString.of_jsoninletfield=field_mapjson__"field"GenericString.of_jsoninmake?userId?reason?field()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains error information for a user operation that failed in a batch user request."]moduleBatchUserSuccessResponseItem=structtypenonrect={userId:UserId.toption[@ocaml.doc"The user ID that was successfully processed."]}letmake?userId=fun()->{userId}letto_valuex=structure_to_value[("userId",(Option.mapx.userId~f:UserId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letuserId=(Option.map~f:UserId.of_xml)(Xml.childxml_arg0"userId")inmake?userId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letuserId=field_mapjson__"userId"UserId.of_jsoninmake?userId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains information about a user that was successfully processed in a batch user operation."]moduleBatchDeviceErrorResponseItem=structtypenonrect={field:GenericString.toption[@ocaml.doc"The field that caused the error."];reason:GenericString.toption[@ocaml.doc"A description of why the device operation failed."];appId:GenericString.toption[@ocaml.doc"The application ID of the device that failed to be processed."]}letmake?field=fun?reason->fun?appId->fun()->{field;reason;appId}letto_valuex=structure_to_value[("field",(Option.mapx.field~f:GenericString.to_value));("reason",(Option.mapx.reason~f:GenericString.to_value));("appId",(Option.mapx.appId~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letappId=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"appId")inletreason=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"reason")inletfield=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"field")inmake?appId?reason?field()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letappId=field_mapjson__"appId"GenericString.of_jsoninletreason=field_mapjson__"reason"GenericString.of_jsoninletfield=field_mapjson__"field"GenericString.of_jsoninmake?appId?reason?field()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains error information for a device operation that failed in a batch device request."]moduleBatchDeviceSuccessResponseItem=structtypenonrect={appId:GenericString.toption[@ocaml.doc"The application ID of the device that was successfully processed."]}letmake?appId=fun()->{appId}letto_valuex=structure_to_value[("appId",(Option.mapx.appId~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letappId=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"appId")inmake?appId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letappId=field_mapjson__"appId"GenericString.of_jsoninmake?appId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains information about a device that was successfully processed in a batch device operation."]moduleBatchUnameErrorResponseItem=structtypenonrect={field:GenericString.toption[@ocaml.doc"The field that caused the error."];reason:GenericString.toption[@ocaml.doc"A description of why the username hash lookup failed."];uname:Uname.toption[@ocaml.doc"The username hash that failed to be looked up."]}letmake?field=fun?reason->fun?uname->fun()->{field;reason;uname}letto_valuex=structure_to_value[("field",(Option.mapx.field~f:GenericString.to_value));("reason",(Option.mapx.reason~f:GenericString.to_value));("uname",(Option.mapx.uname~f:Uname.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letuname=(Option.map~f:Uname.of_xml)(Xml.childxml_arg0"uname")inletreason=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"reason")inletfield=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"field")inmake?uname?reason?field()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letuname=field_mapjson__"uname"Uname.of_jsoninletreason=field_mapjson__"reason"GenericString.of_jsoninletfield=field_mapjson__"field"GenericString.of_jsoninmake?uname?reason?field()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains error information for a username hash lookup that failed in a batch uname lookup request."]moduleBatchUnameSuccessResponseItem=structtypenonrect={uname:Uname.toption[@ocaml.doc"The username hash that was successfully resolved."];username:GenericString.toption[@ocaml.doc"The email address or username corresponding to the username hash."]}letmake?uname=fun?username->fun()->{uname;username}letto_valuex=structure_to_value[("uname",(Option.mapx.uname~f:Uname.to_value));("username",(Option.mapx.username~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letusername=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"username")inletuname=(Option.map~f:Uname.of_xml)(Xml.childxml_arg0"uname")inmake?username?uname()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letusername=field_mapjson__"username"GenericString.of_jsoninletuname=field_mapjson__"uname"Uname.of_jsoninmake?username?uname()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains information about a username hash that was successfully resolved in a batch uname lookup operation."]moduleBatchCreateUserRequestItem=structtypenonrect={firstName:SensitiveString.toption[@ocaml.doc"The first name of the user."];lastName:SensitiveString.toption[@ocaml.doc"The last name of the user."];securityGroupIds:SecurityGroupIdList.t[@ocaml.doc"A list of security group IDs to which the user should be assigned."];username:GenericString.t[@ocaml.doc"The email address or username for the user. Must be unique within the network."];inviteCode:GenericString.toption[@ocaml.doc"A custom invite code for the user. If not provided, one will be generated automatically."];inviteCodeTtl:Integer.toption[@ocaml.doc"The time-to-live for the invite code in days. After this period, the invite code will expire."];codeValidation:Boolean.toption[@ocaml.doc"Indicates whether the user can be verified through a custom invite code."]}letcontext_="BatchCreateUserRequestItem"letmake?firstName=fun?lastName->fun?inviteCode->fun?inviteCodeTtl->fun?codeValidation->fun~securityGroupIds->fun~username->fun()->{firstName;lastName;inviteCode;inviteCodeTtl;codeValidation;securityGroupIds;username}letto_valuex=structure_to_value[("firstName",(Option.mapx.firstName~f:SensitiveString.to_value));("lastName",(Option.mapx.lastName~f:SensitiveString.to_value));("securityGroupIds",(Some(SecurityGroupIdList.to_valuex.securityGroupIds)));("username",(Some(GenericString.to_valuex.username)));("inviteCode",(Option.mapx.inviteCode~f:GenericString.to_value));("inviteCodeTtl",(Option.mapx.inviteCodeTtl~f:Integer.to_value));("codeValidation",(Option.mapx.codeValidation~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcodeValidation=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"codeValidation")inletinviteCodeTtl=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"inviteCodeTtl")inletinviteCode=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"inviteCode")inletusername=GenericString.of_xml(Xml.child_exn~context:context_xml_arg0"username")inletsecurityGroupIds=SecurityGroupIdList.of_xml(Xml.child_exn~context:context_xml_arg0"securityGroupIds")inletlastName=(Option.map~f:SensitiveString.of_xml)(Xml.childxml_arg0"lastName")inletfirstName=(Option.map~f:SensitiveString.of_xml)(Xml.childxml_arg0"firstName")inmake?codeValidation?inviteCodeTtl?inviteCode~username~securityGroupIds?lastName?firstName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcodeValidation=field_mapjson__"codeValidation"Boolean.of_jsoninletinviteCodeTtl=field_mapjson__"inviteCodeTtl"Integer.of_jsoninletinviteCode=field_mapjson__"inviteCode"GenericString.of_jsoninletusername=field_map_exnjson__"username"GenericString.of_jsoninletsecurityGroupIds=field_map_exnjson__"securityGroupIds"SecurityGroupIdList.of_jsoninletlastName=field_mapjson__"lastName"SensitiveString.of_jsoninletfirstName=field_mapjson__"firstName"SensitiveString.of_jsoninmake?codeValidation?inviteCodeTtl?inviteCode~username~securityGroupIds?lastName?firstName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains the details for a single user to be created in a batch user creation request. A user can only be assigned to a single security group. Attempting to add a user to multiple security groups is not supported and will result in an error. codeValidation, inviteCode, and inviteCodeTtl are restricted to networks under preview only."]moduleBadRequestError=structtypenonrect={message:GenericString.toption[@ocaml.doc"A detailed message explaining what was wrong with the request and how to correct it."]}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"GenericString.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The request was invalid or malformed. This error occurs when the request parameters do not meet the API requirements, such as invalid field values, missing required parameters, or improperly formatted data."]moduleForbiddenError=structtypenonrect={message:GenericString.toption[@ocaml.doc"A message explaining why access was denied and what permissions are required."]}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"GenericString.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Access to the requested resource is forbidden. This error occurs when the authenticated user does not have the necessary permissions to perform the requested operation, even though they are authenticated."]moduleInternalServerError=structtypenonrect={message:GenericString.toption[@ocaml.doc"A message describing the internal server error that occurred."]}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"GenericString.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"An unexpected error occurred on the server while processing the request. This indicates a problem with the Wickr service itself rather than with the request. If this error persists, contact Amazon Web Services Support."]moduleRateLimitError=structtypenonrect={message:GenericString.toption[@ocaml.doc"A message indicating that the rate limit was exceeded and suggesting when to retry."]}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"GenericString.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The request was throttled because too many requests were sent in a short period of time. Wait a moment and retry the request. Consider implementing exponential backoff in your application."]moduleResourceNotFoundError=structtypenonrect={message:GenericString.toption[@ocaml.doc"A message identifying which resource was not found."]}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"GenericString.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The requested resource could not be found. This error occurs when you try to access or modify a network, user, bot, security group, or other resource that doesn't exist or has been deleted."]moduleUnauthorizedError=structtypenonrect={message:GenericString.toption[@ocaml.doc"A message explaining why the authentication failed."]}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"GenericString.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The request was not authenticated or the authentication credentials were invalid. This error occurs when the request lacks valid authentication credentials or the credentials have expired."]moduleValidationError=structtypenonrect={reasons:ErrorDetailList.toption[@ocaml.doc"A list of validation error details, where each item identifies a specific field that failed validation and explains the reason for the failure."];message:GenericString.toption[@ocaml.doc"A message describing the validation error error that occurred."]}letmake?reasons=fun?message->fun()->{reasons;message}letto_valuex=structure_to_value[("reasons",(Option.mapx.reasons~f:ErrorDetailList.to_value));("message",(Option.mapx.message~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"message")inletreasons=(Option.map~f:ErrorDetailList.of_xml)(Xml.childxml_arg0"reasons")inmake?message?reasons()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"GenericString.of_jsoninletreasons=field_mapjson__"reasons"ErrorDetailList.of_jsoninmake?message?reasons()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"One or more fields in the request failed validation. This error provides detailed information about which fields were invalid and why, allowing you to correct the request and retry."]moduleUpdateUserDetails=structtypenonrect={firstName:SensitiveString.toption[@ocaml.doc"The new first name for the user."];lastName:SensitiveString.toption[@ocaml.doc"The new last name for the user."];username:GenericString.toption[@ocaml.doc"The new username or email address for the user."];securityGroupIds:SecurityGroupIdList.toption[@ocaml.doc"The updated list of security group IDs to which the user should belong."];inviteCode:GenericString.toption[@ocaml.doc"A new custom invite code for the user."];inviteCodeTtl:Integer.toption[@ocaml.doc"The new time-to-live for the invite code in days."];codeValidation:Boolean.toption[@ocaml.doc"Indicates whether the user can be verified through a custom invite code."]}letmake?firstName=fun?lastName->fun?username->fun?securityGroupIds->fun?inviteCode->fun?inviteCodeTtl->fun?codeValidation->fun()->{firstName;lastName;username;securityGroupIds;inviteCode;inviteCodeTtl;codeValidation}letto_valuex=structure_to_value[("firstName",(Option.mapx.firstName~f:SensitiveString.to_value));("lastName",(Option.mapx.lastName~f:SensitiveString.to_value));("username",(Option.mapx.username~f:GenericString.to_value));("securityGroupIds",(Option.mapx.securityGroupIds~f:SecurityGroupIdList.to_value));("inviteCode",(Option.mapx.inviteCode~f:GenericString.to_value));("inviteCodeTtl",(Option.mapx.inviteCodeTtl~f:Integer.to_value));("codeValidation",(Option.mapx.codeValidation~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcodeValidation=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"codeValidation")inletinviteCodeTtl=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"inviteCodeTtl")inletinviteCode=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"inviteCode")inletsecurityGroupIds=(Option.map~f:SecurityGroupIdList.of_xml)(Xml.childxml_arg0"securityGroupIds")inletusername=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"username")inletlastName=(Option.map~f:SensitiveString.of_xml)(Xml.childxml_arg0"lastName")inletfirstName=(Option.map~f:SensitiveString.of_xml)(Xml.childxml_arg0"firstName")inmake?codeValidation?inviteCodeTtl?inviteCode?securityGroupIds?username?lastName?firstName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcodeValidation=field_mapjson__"codeValidation"Boolean.of_jsoninletinviteCodeTtl=field_mapjson__"inviteCodeTtl"Integer.of_jsoninletinviteCode=field_mapjson__"inviteCode"GenericString.of_jsoninletsecurityGroupIds=field_mapjson__"securityGroupIds"SecurityGroupIdList.of_jsoninletusername=field_mapjson__"username"GenericString.of_jsoninletlastName=field_mapjson__"lastName"SensitiveString.of_jsoninletfirstName=field_mapjson__"firstName"SensitiveString.of_jsoninmake?codeValidation?inviteCodeTtl?inviteCode?securityGroupIds?username?lastName?firstName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains the modifiable details for updating an existing user, including name, password, security group membership, and invitation settings. A user can only be assigned to a single security group. Attempting to add a user to multiple security groups is not supported and will result in an error."]moduleSettingsList=structtypenonrect=Setting.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:Setting.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:Setting.of_xml)letof_jsonj=list_of_json~kind:"SettingsList"~of_json:Setting.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleNetworkSettings=structtypenonrect={enableClientMetrics:Boolean.toption[@ocaml.doc"Allows Wickr clients to send anonymized performance and usage metrics to the Wickr backend server for service improvement and troubleshooting."];readReceiptConfig:ReadReceiptConfig.toption[@ocaml.doc"Configuration for read receipts at the network level, controlling the default behavior for whether senders can see when their messages have been read."];dataRetention:Boolean.toption[@ocaml.doc"Indicates whether the data retention feature is enabled for the network. When true, messages are captured by the data retention bot for compliance and archiving purposes."];enableTrustedDataFormat:Boolean.toption[@ocaml.doc"Configuration for OpenTDF integration at the network level, enforcing ABAC decision making when operating in TDF enabled rooms."]}letmake?enableClientMetrics=fun?readReceiptConfig->fun?dataRetention->fun?enableTrustedDataFormat->fun()->{enableClientMetrics;readReceiptConfig;dataRetention;enableTrustedDataFormat}letto_valuex=structure_to_value[("enableClientMetrics",(Option.mapx.enableClientMetrics~f:Boolean.to_value));("readReceiptConfig",(Option.mapx.readReceiptConfig~f:ReadReceiptConfig.to_value));("dataRetention",(Option.mapx.dataRetention~f:Boolean.to_value));("enableTrustedDataFormat",(Option.mapx.enableTrustedDataFormat~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letenableTrustedDataFormat=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"enableTrustedDataFormat")inletdataRetention=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"dataRetention")inletreadReceiptConfig=(Option.map~f:ReadReceiptConfig.of_xml)(Xml.childxml_arg0"readReceiptConfig")inletenableClientMetrics=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"enableClientMetrics")inmake?enableTrustedDataFormat?dataRetention?readReceiptConfig?enableClientMetrics()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letenableTrustedDataFormat=field_mapjson__"enableTrustedDataFormat"Boolean.of_jsoninletdataRetention=field_mapjson__"dataRetention"Boolean.of_jsoninletreadReceiptConfig=field_mapjson__"readReceiptConfig"ReadReceiptConfig.of_jsoninletenableClientMetrics=field_mapjson__"enableClientMetrics"Boolean.of_jsoninmake?enableTrustedDataFormat?dataRetention?readReceiptConfig?enableClientMetrics()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains network-level configuration settings that apply to all users and security groups within a Wickr network."]moduleClientToken=structtypenonrect=stringletcontext_="ClientToken"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:64)>>=(fun()->check_patterni~pattern:"[a-zA-Z0-9-_:]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ClientToken"jletto_json=simple_to_jsonto_valueendmoduleDataRetentionActionType=structtypenonrect=|ENABLE|DISABLE|PUBKEY_MSG_ACK|Non_static_idofstringletmakei=iletto_string=function|ENABLE->"ENABLE"|DISABLE->"DISABLE"|PUBKEY_MSG_ACK->"PUBKEY_MSG_ACK"|Non_static_ids->sletof_string=function|"ENABLE"->ENABLE|"DISABLE"->DISABLE|"PUBKEY_MSG_ACK"->PUBKEY_MSG_ACK|x->Non_static_idxletto_valuex=`Enum(to_stringx)letto_queryv=to_queryto_valuevletto_headerx=to_stringxletof_xmlxml_arg0=of_string(string_of_xml~kind:"enumeration DataRetentionActionType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"DataRetentionActionType"j)letto_json=simple_to_jsonto_valueendmoduleBotId=structtypenonrect=stringletcontext_="BotId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:10)>>=(fun()->check_patterni~pattern:"[0-9]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"BotId"jletto_json=simple_to_jsonto_valueendmoduleStringList=structtypenonrect=GenericString.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:GenericString.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:GenericString.of_xml)letof_jsonj=list_of_json~kind:"StringList"~of_json:GenericString.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleRegisterOidcConfigResponseApplicationIdInteger=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:10)>>=(fun()->check_int_mini~min:1));iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for RegisterOidcConfigResponseApplicationIdInteger"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleUsers=structtypenonrect=User.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:User.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:User.of_xml)letof_jsonj=list_of_json~kind:"Users"~of_json:User.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleSortDirection=structtypenonrect=|ASC|DESC|Non_static_idofstringletmakei=iletto_string=function|ASC->"ASC"|DESC->"DESC"|Non_static_ids->sletof_string=function|"ASC"->ASC|"DESC"->DESC|x->Non_static_idxletto_valuex=`Enum(to_stringx)letto_queryv=to_queryto_valuevletto_headerx=to_stringxletof_xmlxml_arg0=of_string(string_of_xml~kind:"enumeration SortDirection"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"SortDirection"j)letto_json=simple_to_jsonto_valueendmoduleUserStatus=structtypenonrect=intletmakei=iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for UserStatus"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleSecurityGroupList=structtypenonrect=SecurityGroup.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:SecurityGroup.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:SecurityGroup.of_xml)letof_jsonj=list_of_json~kind:"SecurityGroupList"~of_json:SecurityGroup.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleNetworkList=structtypenonrect=Network.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:Network.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:Network.of_xml)letof_jsonj=list_of_json~kind:"NetworkList"~of_json:Network.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleGuestUserList=structtypenonrect=GuestUser.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:GuestUser.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:GuestUser.of_xml)letof_jsonj=list_of_json~kind:"GuestUserList"~of_json:GuestUser.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleDevices=structtypenonrect=BasicDeviceObject.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:BasicDeviceObject.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:BasicDeviceObject.of_xml)letof_jsonj=list_of_json~kind:"Devices"~of_json:BasicDeviceObject.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleBots=structtypenonrect=Bot.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:Bot.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:Bot.of_xml)letof_jsonj=list_of_json~kind:"Bots"~of_json:Bot.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleBlockedGuestUserList=structtypenonrect=BlockedGuestUser.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:BlockedGuestUser.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:BlockedGuestUser.of_xml)letof_jsonj=list_of_json~kind:"BlockedGuestUserList"~of_json:BlockedGuestUser.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleSyntheticTimestamp_epoch_seconds=structtypenonrect=stringletmakei=iletof_stringx=xletto_valuex=`Timestampxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=string_of_xml~kind:"a timestamp"letof_json=timestamp_of_jsonletto_json=simple_to_jsonto_valueendmoduleOidcConfigInfo=structtypenonrect={applicationName:GenericString.toption[@ocaml.doc"The name of the OIDC application as registered with the identity provider."];clientId:GenericString.toption[@ocaml.doc"The OAuth client ID assigned by the identity provider for authentication requests."];companyId:GenericString.toption[@ocaml.doc"Custom identifier your end users will use to sign in with SSO."];scopes:GenericString.toption[@ocaml.doc"The OAuth scopes requested from the identity provider, which determine what user information is accessible (e.g., 'openid profile email')."];issuer:GenericString.toption[@ocaml.doc"The issuer URL of the identity provider, which serves as the base URL for OIDC endpoints and configuration discovery."];clientSecret:SensitiveString.toption[@ocaml.doc"The OAuth client secret used to authenticate the application with the identity provider."];secret:SensitiveString.toption[@ocaml.doc"An additional secret credential used by the identity provider for authentication."];redirectUrl:GenericString.toption[@ocaml.doc"The callback URL where the identity provider redirects users after successful authentication. This URL must be registered with the identity provider."];userId:GenericString.toption[@ocaml.doc"The claim field from the OIDC token to use as the unique user identifier (e.g., 'email', 'sub', or a custom claim)."];customUsername:GenericString.toption[@ocaml.doc"A custom field mapping to extract the username from the OIDC token when the standard username claim is insufficient."];caCertificate:GenericString.toption[@ocaml.doc"The X.509 CA certificate for validating SSL/TLS connections to the identity provider when using self-signed or enterprise certificates."];applicationId:OidcConfigInfoApplicationIdInteger.toption[@ocaml.doc"The unique identifier for the registered OIDC application. Valid range is 1-10."];ssoTokenBufferMinutes:Integer.toption[@ocaml.doc"The grace period in minutes before the SSO token expires when the system should proactively refresh the token to maintain seamless user access."];extraAuthParams:GenericString.toption[@ocaml.doc"Additional authentication parameters to include in the OIDC authorization request as a query string. Useful for provider-specific extensions."]}letmake?applicationName=fun?clientId->fun?companyId->fun?scopes->fun?issuer->fun?clientSecret->fun?secret->fun?redirectUrl->fun?userId->fun?customUsername->fun?caCertificate->fun?applicationId->fun?ssoTokenBufferMinutes->fun?extraAuthParams->fun()->{applicationName;clientId;companyId;scopes;issuer;clientSecret;secret;redirectUrl;userId;customUsername;caCertificate;applicationId;ssoTokenBufferMinutes;extraAuthParams}letto_valuex=structure_to_value[("applicationName",(Option.mapx.applicationName~f:GenericString.to_value));("clientId",(Option.mapx.clientId~f:GenericString.to_value));("companyId",(Option.mapx.companyId~f:GenericString.to_value));("scopes",(Option.mapx.scopes~f:GenericString.to_value));("issuer",(Option.mapx.issuer~f:GenericString.to_value));("clientSecret",(Option.mapx.clientSecret~f:SensitiveString.to_value));("secret",(Option.mapx.secret~f:SensitiveString.to_value));("redirectUrl",(Option.mapx.redirectUrl~f:GenericString.to_value));("userId",(Option.mapx.userId~f:GenericString.to_value));("customUsername",(Option.mapx.customUsername~f:GenericString.to_value));("caCertificate",(Option.mapx.caCertificate~f:GenericString.to_value));("applicationId",(Option.mapx.applicationId~f:OidcConfigInfoApplicationIdInteger.to_value));("ssoTokenBufferMinutes",(Option.mapx.ssoTokenBufferMinutes~f:Integer.to_value));("extraAuthParams",(Option.mapx.extraAuthParams~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letextraAuthParams=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"extraAuthParams")inletssoTokenBufferMinutes=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"ssoTokenBufferMinutes")inletapplicationId=(Option.map~f:OidcConfigInfoApplicationIdInteger.of_xml)(Xml.childxml_arg0"applicationId")inletcaCertificate=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"caCertificate")inletcustomUsername=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"customUsername")inletuserId=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"userId")inletredirectUrl=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"redirectUrl")inletsecret=(Option.map~f:SensitiveString.of_xml)(Xml.childxml_arg0"secret")inletclientSecret=(Option.map~f:SensitiveString.of_xml)(Xml.childxml_arg0"clientSecret")inletissuer=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"issuer")inletscopes=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"scopes")inletcompanyId=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"companyId")inletclientId=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"clientId")inletapplicationName=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"applicationName")inmake?extraAuthParams?ssoTokenBufferMinutes?applicationId?caCertificate?customUsername?userId?redirectUrl?secret?clientSecret?issuer?scopes?companyId?clientId?applicationName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letextraAuthParams=field_mapjson__"extraAuthParams"GenericString.of_jsoninletssoTokenBufferMinutes=field_mapjson__"ssoTokenBufferMinutes"Integer.of_jsoninletapplicationId=field_mapjson__"applicationId"OidcConfigInfoApplicationIdInteger.of_jsoninletcaCertificate=field_mapjson__"caCertificate"GenericString.of_jsoninletcustomUsername=field_mapjson__"customUsername"GenericString.of_jsoninletuserId=field_mapjson__"userId"GenericString.of_jsoninletredirectUrl=field_mapjson__"redirectUrl"GenericString.of_jsoninletsecret=field_mapjson__"secret"SensitiveString.of_jsoninletclientSecret=field_mapjson__"clientSecret"SensitiveString.of_jsoninletissuer=field_mapjson__"issuer"GenericString.of_jsoninletscopes=field_mapjson__"scopes"GenericString.of_jsoninletcompanyId=field_mapjson__"companyId"GenericString.of_jsoninletclientId=field_mapjson__"clientId"GenericString.of_jsoninletapplicationName=field_mapjson__"applicationName"GenericString.of_jsoninmake?extraAuthParams?ssoTokenBufferMinutes?applicationId?caCertificate?customUsername?userId?redirectUrl?secret?clientSecret?issuer?scopes?companyId?clientId?applicationName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains the OpenID Connect (OIDC) configuration information for Single Sign-On (SSO) authentication, including identity provider settings and client credentials."]moduleOidcTokenInfo=structtypenonrect={codeVerifier:GenericString.toption[@ocaml.doc"The PKCE (Proof Key for Code Exchange) code verifier, a cryptographically random string used to enhance security in the OAuth flow."];codeChallenge:GenericString.toption[@ocaml.doc"The PKCE code challenge, a transformed version of the code verifier sent during the authorization request for verification."];accessToken:GenericString.toption[@ocaml.doc"The OAuth access token that can be used to access protected resources on behalf of the authenticated user."];idToken:GenericString.toption[@ocaml.doc"The OpenID Connect ID token containing user identity information and authentication context as a signed JWT."];refreshToken:GenericString.toption[@ocaml.doc"The OAuth refresh token that can be used to obtain new access tokens without requiring the user to re-authenticate."];tokenType:GenericString.toption[@ocaml.doc"The type of access token issued, typically 'Bearer', which indicates how the token should be used in API requests."];expiresIn:Long.toption[@ocaml.doc"The lifetime of the access token in seconds, indicating when the token will expire and need to be refreshed."]}letmake?codeVerifier=fun?codeChallenge->fun?accessToken->fun?idToken->fun?refreshToken->fun?tokenType->fun?expiresIn->fun()->{codeVerifier;codeChallenge;accessToken;idToken;refreshToken;tokenType;expiresIn}letto_valuex=structure_to_value[("codeVerifier",(Option.mapx.codeVerifier~f:GenericString.to_value));("codeChallenge",(Option.mapx.codeChallenge~f:GenericString.to_value));("accessToken",(Option.mapx.accessToken~f:GenericString.to_value));("idToken",(Option.mapx.idToken~f:GenericString.to_value));("refreshToken",(Option.mapx.refreshToken~f:GenericString.to_value));("tokenType",(Option.mapx.tokenType~f:GenericString.to_value));("expiresIn",(Option.mapx.expiresIn~f:Long.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letexpiresIn=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"expiresIn")inlettokenType=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"tokenType")inletrefreshToken=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"refreshToken")inletidToken=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"idToken")inletaccessToken=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"accessToken")inletcodeChallenge=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"codeChallenge")inletcodeVerifier=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"codeVerifier")inmake?expiresIn?tokenType?refreshToken?idToken?accessToken?codeChallenge?codeVerifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letexpiresIn=field_mapjson__"expiresIn"Long.of_jsoninlettokenType=field_mapjson__"tokenType"GenericString.of_jsoninletrefreshToken=field_mapjson__"refreshToken"GenericString.of_jsoninletidToken=field_mapjson__"idToken"GenericString.of_jsoninletaccessToken=field_mapjson__"accessToken"GenericString.of_jsoninletcodeChallenge=field_mapjson__"codeChallenge"GenericString.of_jsoninletcodeVerifier=field_mapjson__"codeVerifier"GenericString.of_jsoninmake?expiresIn?tokenType?refreshToken?idToken?accessToken?codeChallenge?codeVerifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains OAuth token information returned from the identity provider, including access tokens, ID tokens, and PKCE parameters used for secure authentication."]moduleGuestUserHistoryCountList=structtypenonrect=GuestUserHistoryCount.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:GuestUserHistoryCount.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:GuestUserHistoryCount.of_xml)letof_jsonj=list_of_json~kind:"GuestUserHistoryCountList"~of_json:GuestUserHistoryCount.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleSecurityGroupSettingsRequest=structtypenonrect={lockoutThreshold:Integer.toption[@ocaml.doc"The number of failed password attempts before a user account is locked out."];permittedNetworks:PermittedNetworksList.toption[@ocaml.doc"A list of network IDs that are permitted for local federation when federation mode is set to restricted."];enableGuestFederation:Boolean.toption[@ocaml.doc"Guest users let you work with people outside your organization that only have limited access to Wickr. Only valid when federationMode is set to Global."];globalFederation:Boolean.toption[@ocaml.doc"Allow users to securely federate with all Amazon Web Services Wickr networks and Amazon Web Services Enterprise networks."];federationMode:Integer.toption[@ocaml.doc"The local federation mode. Values: 0 (none), 1 (federated - all networks), 2 (restricted - only permitted networks)."];enableRestrictedGlobalFederation:Boolean.toption[@ocaml.doc"Enables restricted global federation to limit communication to specific permitted networks only. Requires globalFederation to be enabled."];permittedWickrAwsNetworks:WickrAwsNetworksList.toption[@ocaml.doc"A list of permitted Amazon Web Services Wickr networks for restricted global federation."];permittedWickrEnterpriseNetworks:PermittedWickrEnterpriseNetworksList.toption[@ocaml.doc"A list of permitted Wickr Enterprise networks for restricted global federation."]}letmake?lockoutThreshold=fun?permittedNetworks->fun?enableGuestFederation->fun?globalFederation->fun?federationMode->fun?enableRestrictedGlobalFederation->fun?permittedWickrAwsNetworks->fun?permittedWickrEnterpriseNetworks->fun()->{lockoutThreshold;permittedNetworks;enableGuestFederation;globalFederation;federationMode;enableRestrictedGlobalFederation;permittedWickrAwsNetworks;permittedWickrEnterpriseNetworks}letto_valuex=structure_to_value[("lockoutThreshold",(Option.mapx.lockoutThreshold~f:Integer.to_value));("permittedNetworks",(Option.mapx.permittedNetworks~f:PermittedNetworksList.to_value));("enableGuestFederation",(Option.mapx.enableGuestFederation~f:Boolean.to_value));("globalFederation",(Option.mapx.globalFederation~f:Boolean.to_value));("federationMode",(Option.mapx.federationMode~f:Integer.to_value));("enableRestrictedGlobalFederation",(Option.mapx.enableRestrictedGlobalFederation~f:Boolean.to_value));("permittedWickrAwsNetworks",(Option.mapx.permittedWickrAwsNetworks~f:WickrAwsNetworksList.to_value));("permittedWickrEnterpriseNetworks",(Option.mapx.permittedWickrEnterpriseNetworks~f:PermittedWickrEnterpriseNetworksList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpermittedWickrEnterpriseNetworks=(Option.map~f:PermittedWickrEnterpriseNetworksList.of_xml)(Xml.childxml_arg0"permittedWickrEnterpriseNetworks")inletpermittedWickrAwsNetworks=(Option.map~f:WickrAwsNetworksList.of_xml)(Xml.childxml_arg0"permittedWickrAwsNetworks")inletenableRestrictedGlobalFederation=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"enableRestrictedGlobalFederation")inletfederationMode=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"federationMode")inletglobalFederation=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"globalFederation")inletenableGuestFederation=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"enableGuestFederation")inletpermittedNetworks=(Option.map~f:PermittedNetworksList.of_xml)(Xml.childxml_arg0"permittedNetworks")inletlockoutThreshold=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"lockoutThreshold")inmake?permittedWickrEnterpriseNetworks?permittedWickrAwsNetworks?enableRestrictedGlobalFederation?federationMode?globalFederation?enableGuestFederation?permittedNetworks?lockoutThreshold()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpermittedWickrEnterpriseNetworks=field_mapjson__"permittedWickrEnterpriseNetworks"PermittedWickrEnterpriseNetworksList.of_jsoninletpermittedWickrAwsNetworks=field_mapjson__"permittedWickrAwsNetworks"WickrAwsNetworksList.of_jsoninletenableRestrictedGlobalFederation=field_mapjson__"enableRestrictedGlobalFederation"Boolean.of_jsoninletfederationMode=field_mapjson__"federationMode"Integer.of_jsoninletglobalFederation=field_mapjson__"globalFederation"Boolean.of_jsoninletenableGuestFederation=field_mapjson__"enableGuestFederation"Boolean.of_jsoninletpermittedNetworks=field_mapjson__"permittedNetworks"PermittedNetworksList.of_jsoninletlockoutThreshold=field_mapjson__"lockoutThreshold"Integer.of_jsoninmake?permittedWickrEnterpriseNetworks?permittedWickrAwsNetworks?enableRestrictedGlobalFederation?federationMode?globalFederation?enableGuestFederation?permittedNetworks?lockoutThreshold()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains the security group configuration settings that can be specified when creating or updating a security group. This is a subset of SecurityGroupSettings containing only the modifiable federation and security settings."]moduleBatchUserErrorResponseItems=structtypenonrect=BatchUserErrorResponseItem.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:BatchUserErrorResponseItem.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:BatchUserErrorResponseItem.of_xml)letof_jsonj=list_of_json~kind:"BatchUserErrorResponseItems"~of_json:BatchUserErrorResponseItem.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleBatchUserSuccessResponseItems=structtypenonrect=BatchUserSuccessResponseItem.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:BatchUserSuccessResponseItem.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:BatchUserSuccessResponseItem.of_xml)letof_jsonj=list_of_json~kind:"BatchUserSuccessResponseItems"~of_json:BatchUserSuccessResponseItem.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleUserIds=structtypenonrect=UserId.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:UserId.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:UserId.of_xml)letof_jsonj=list_of_json~kind:"UserIds"~of_json:UserId.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleBatchDeviceErrorResponseItems=structtypenonrect=BatchDeviceErrorResponseItem.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:BatchDeviceErrorResponseItem.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:BatchDeviceErrorResponseItem.of_xml)letof_jsonj=list_of_json~kind:"BatchDeviceErrorResponseItems"~of_json:BatchDeviceErrorResponseItem.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleBatchDeviceSuccessResponseItems=structtypenonrect=BatchDeviceSuccessResponseItem.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:BatchDeviceSuccessResponseItem.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:BatchDeviceSuccessResponseItem.of_xml)letof_jsonj=list_of_json~kind:"BatchDeviceSuccessResponseItems"~of_json:BatchDeviceSuccessResponseItem.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleAppIds=structtypenonrect=GenericString.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:GenericString.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:GenericString.of_xml)letof_jsonj=list_of_json~kind:"AppIds"~of_json:GenericString.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleBatchUnameErrorResponseItems=structtypenonrect=BatchUnameErrorResponseItem.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:BatchUnameErrorResponseItem.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:BatchUnameErrorResponseItem.of_xml)letof_jsonj=list_of_json~kind:"BatchUnameErrorResponseItems"~of_json:BatchUnameErrorResponseItem.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleBatchUnameSuccessResponseItems=structtypenonrect=BatchUnameSuccessResponseItem.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:BatchUnameSuccessResponseItem.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:BatchUnameSuccessResponseItem.of_xml)letof_jsonj=list_of_json~kind:"BatchUnameSuccessResponseItems"~of_json:BatchUnameSuccessResponseItem.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleUnames=structtypenonrect=GenericString.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:GenericString.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:GenericString.of_xml)letof_jsonj=list_of_json~kind:"Unames"~of_json:GenericString.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleBatchCreateUserRequestItems=structtypenonrect=BatchCreateUserRequestItem.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:BatchCreateUserRequestItem.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:BatchCreateUserRequestItem.of_xml)letof_jsonj=list_of_json~kind:"BatchCreateUserRequestItems"~of_json:BatchCreateUserRequestItem.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleUpdateUserResponse=structtypenonrect={userId:UserId.toption[@ocaml.doc"The unique identifier of the updated user."];networkId:NetworkId.toption[@ocaml.doc"The ID of the network where the user was updated."];securityGroupIds:SecurityGroupIdList.toption[@ocaml.doc"The list of security group IDs to which the user now belongs after the update."];firstName:SensitiveString.toption[@ocaml.doc"The updated first name of the user."];lastName:SensitiveString.toption[@ocaml.doc"The updated last name of the user."];middleName:GenericString.toption[@ocaml.doc"The middle name of the user (currently not used)."];suspended:Boolean.toption[@ocaml.doc"Indicates whether the user is suspended after the update."];modified:Integer.toption[@ocaml.doc"The timestamp when the user was last modified, specified in epoch seconds."];status:Integer.toption[@ocaml.doc"The user's status after the update."];inviteCode:GenericString.toption[@ocaml.doc"The updated invite code for the user, if applicable."];inviteExpiration:Integer.toption[@ocaml.doc"The expiration time of the user's invite code, specified in epoch seconds."];codeValidation:Boolean.toption[@ocaml.doc"Indicates whether the user can be verified through a custom invite code."]}typenonrecerror=[`BadRequestErrorofBadRequestError.t|`ForbiddenErrorofForbiddenError.t|`InternalServerErrorofInternalServerError.t|`RateLimitErrorofRateLimitError.t|`ResourceNotFoundErrorofResourceNotFoundError.t|`UnauthorizedErrorofUnauthorizedError.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?userId=fun?networkId->fun?securityGroupIds->fun?firstName->fun?lastName->fun?middleName->fun?suspended->fun?modified->fun?status->fun?inviteCode->fun?inviteExpiration->fun?codeValidation->fun()->{userId;networkId;securityGroupIds;firstName;lastName;middleName;suspended;modified;status;inviteCode;inviteExpiration;codeValidation}leterror_of_jsonnamejson=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_jsonjson)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_jsonjson)|"InternalServerError"->`InternalServerError(InternalServerError.of_jsonjson)|"RateLimitError"->`RateLimitError(RateLimitError.of_jsonjson)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_jsonjson)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_xmlxml)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_xmlxml)|"InternalServerError"->`InternalServerError(InternalServerError.of_xmlxml)|"RateLimitError"->`RateLimitError(RateLimitError.of_xmlxml)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_xmlxml)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestErrore->`Assoc[("error",(`String"BadRequestError"));("details",(BadRequestError.to_jsone))]|`ForbiddenErrore->`Assoc[("error",(`String"ForbiddenError"));("details",(ForbiddenError.to_jsone))]|`InternalServerErrore->`Assoc[("error",(`String"InternalServerError"));("details",(InternalServerError.to_jsone))]|`RateLimitErrore->`Assoc[("error",(`String"RateLimitError"));("details",(RateLimitError.to_jsone))]|`ResourceNotFoundErrore->`Assoc[("error",(`String"ResourceNotFoundError"));("details",(ResourceNotFoundError.to_jsone))]|`UnauthorizedErrore->`Assoc[("error",(`String"UnauthorizedError"));("details",(UnauthorizedError.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("userId",(Option.mapx.userId~f:UserId.to_value));("networkId",(Option.mapx.networkId~f:NetworkId.to_value));("securityGroupIds",(Option.mapx.securityGroupIds~f:SecurityGroupIdList.to_value));("firstName",(Option.mapx.firstName~f:SensitiveString.to_value));("lastName",(Option.mapx.lastName~f:SensitiveString.to_value));("middleName",(Option.mapx.middleName~f:GenericString.to_value));("suspended",(Option.mapx.suspended~f:Boolean.to_value));("modified",(Option.mapx.modified~f:Integer.to_value));("status",(Option.mapx.status~f:Integer.to_value));("inviteCode",(Option.mapx.inviteCode~f:GenericString.to_value));("inviteExpiration",(Option.mapx.inviteExpiration~f:Integer.to_value));("codeValidation",(Option.mapx.codeValidation~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcodeValidation=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"codeValidation")inletinviteExpiration=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"inviteExpiration")inletinviteCode=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"inviteCode")inletstatus=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"status")inletmodified=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"modified")inletsuspended=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"suspended")inletmiddleName=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"middleName")inletlastName=(Option.map~f:SensitiveString.of_xml)(Xml.childxml_arg0"lastName")inletfirstName=(Option.map~f:SensitiveString.of_xml)(Xml.childxml_arg0"firstName")inletsecurityGroupIds=(Option.map~f:SecurityGroupIdList.of_xml)(Xml.childxml_arg0"securityGroupIds")inletnetworkId=(Option.map~f:NetworkId.of_xml)(Xml.childxml_arg0"networkId")inletuserId=(Option.map~f:UserId.of_xml)(Xml.childxml_arg0"userId")inmake?codeValidation?inviteExpiration?inviteCode?status?modified?suspended?middleName?lastName?firstName?securityGroupIds?networkId?userId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcodeValidation=field_mapjson__"codeValidation"Boolean.of_jsoninletinviteExpiration=field_mapjson__"inviteExpiration"Integer.of_jsoninletinviteCode=field_mapjson__"inviteCode"GenericString.of_jsoninletstatus=field_mapjson__"status"Integer.of_jsoninletmodified=field_mapjson__"modified"Integer.of_jsoninletsuspended=field_mapjson__"suspended"Boolean.of_jsoninletmiddleName=field_mapjson__"middleName"GenericString.of_jsoninletlastName=field_mapjson__"lastName"SensitiveString.of_jsoninletfirstName=field_mapjson__"firstName"SensitiveString.of_jsoninletsecurityGroupIds=field_mapjson__"securityGroupIds"SecurityGroupIdList.of_jsoninletnetworkId=field_mapjson__"networkId"NetworkId.of_jsoninletuserId=field_mapjson__"userId"UserId.of_jsoninmake?codeValidation?inviteExpiration?inviteCode?status?modified?suspended?middleName?lastName?firstName?securityGroupIds?networkId?userId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the properties of an existing user in a Wickr network. This operation allows you to modify the user's name, password, security group membership, and invite code settings. codeValidation, inviteCode, and inviteCodeTtl are restricted to networks under preview only."]moduleUpdateUserRequest=structtypenonrect={networkId:NetworkId.t[@ocaml.doc"The ID of the Wickr network containing the user to update."];userId:UserId.t[@ocaml.doc"The unique identifier of the user to update."];userDetails:UpdateUserDetails.toption[@ocaml.doc"An object containing the user details to be updated, such as name, password, security groups, and invite code settings."]}letcontext_="UpdateUserRequest"letmake?userDetails=fun~networkId->fun~userId->fun()->{userDetails;networkId;userId}letto_valuex=structure_to_value[("networkId",(Some(NetworkId.to_valuex.networkId)));("userId",(Some(UserId.to_valuex.userId)));("userDetails",(Option.mapx.userDetails~f:UpdateUserDetails.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letuserDetails=(Option.map~f:UpdateUserDetails.of_xml)(Xml.childxml_arg0"userDetails")inletuserId=UserId.of_xml(Xml.child_exn~context:context_xml_arg0"userId")inletnetworkId=NetworkId.of_xml(Xml.child_exn~context:context_xml_arg0"networkId")inmake?userDetails~userId~networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letuserDetails=field_mapjson__"userDetails"UpdateUserDetails.of_jsoninletuserId=field_map_exnjson__"userId"UserId.of_jsoninletnetworkId=field_map_exnjson__"networkId"NetworkId.of_jsoninmake?userDetails~userId~networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the properties of an existing user in a Wickr network. This operation allows you to modify the user's name, password, security group membership, and invite code settings. codeValidation, inviteCode, and inviteCodeTtl are restricted to networks under preview only."]moduleUpdateSecurityGroupResponse=structtypenonrect={securityGroup:SecurityGroup.toption[@ocaml.doc"The updated security group details, including the new settings."]}typenonrecerror=[`BadRequestErrorofBadRequestError.t|`ForbiddenErrorofForbiddenError.t|`InternalServerErrorofInternalServerError.t|`RateLimitErrorofRateLimitError.t|`ResourceNotFoundErrorofResourceNotFoundError.t|`UnauthorizedErrorofUnauthorizedError.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?securityGroup=fun()->{securityGroup}leterror_of_jsonnamejson=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_jsonjson)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_jsonjson)|"InternalServerError"->`InternalServerError(InternalServerError.of_jsonjson)|"RateLimitError"->`RateLimitError(RateLimitError.of_jsonjson)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_jsonjson)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_xmlxml)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_xmlxml)|"InternalServerError"->`InternalServerError(InternalServerError.of_xmlxml)|"RateLimitError"->`RateLimitError(RateLimitError.of_xmlxml)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_xmlxml)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestErrore->`Assoc[("error",(`String"BadRequestError"));("details",(BadRequestError.to_jsone))]|`ForbiddenErrore->`Assoc[("error",(`String"ForbiddenError"));("details",(ForbiddenError.to_jsone))]|`InternalServerErrore->`Assoc[("error",(`String"InternalServerError"));("details",(InternalServerError.to_jsone))]|`RateLimitErrore->`Assoc[("error",(`String"RateLimitError"));("details",(RateLimitError.to_jsone))]|`ResourceNotFoundErrore->`Assoc[("error",(`String"ResourceNotFoundError"));("details",(ResourceNotFoundError.to_jsone))]|`UnauthorizedErrore->`Assoc[("error",(`String"UnauthorizedError"));("details",(UnauthorizedError.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("securityGroup",(Option.mapx.securityGroup~f:SecurityGroup.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsecurityGroup=(Option.map~f:SecurityGroup.of_xml)(Xml.childxml_arg0"securityGroup")inmake?securityGroup()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsecurityGroup=field_mapjson__"securityGroup"SecurityGroup.of_jsoninmake?securityGroup()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the properties of an existing security group in a Wickr network, such as its name or settings."]moduleUpdateSecurityGroupRequest=structtypenonrect={networkId:NetworkId.t[@ocaml.doc"The ID of the Wickr network containing the security group to update."];groupId:GenericString.t[@ocaml.doc"The unique identifier of the security group to update."];name:GenericString.toption[@ocaml.doc"The new name for the security group."];securityGroupSettings:SecurityGroupSettings.toption[@ocaml.doc"The updated configuration settings for the security group. Federation mode - 0 (Local federation), 1 (Restricted federation), 2 (Global federation)"]}letcontext_="UpdateSecurityGroupRequest"letmake?name=fun?securityGroupSettings->fun~networkId->fun~groupId->fun()->{name;securityGroupSettings;networkId;groupId}letto_valuex=structure_to_value[("networkId",(Some(NetworkId.to_valuex.networkId)));("groupId",(Some(GenericString.to_valuex.groupId)));("name",(Option.mapx.name~f:GenericString.to_value));("securityGroupSettings",(Option.mapx.securityGroupSettings~f:SecurityGroupSettings.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsecurityGroupSettings=(Option.map~f:SecurityGroupSettings.of_xml)(Xml.childxml_arg0"securityGroupSettings")inletname=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"name")inletgroupId=GenericString.of_xml(Xml.child_exn~context:context_xml_arg0"groupId")inletnetworkId=NetworkId.of_xml(Xml.child_exn~context:context_xml_arg0"networkId")inmake?securityGroupSettings?name~groupId~networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsecurityGroupSettings=field_mapjson__"securityGroupSettings"SecurityGroupSettings.of_jsoninletname=field_mapjson__"name"GenericString.of_jsoninletgroupId=field_map_exnjson__"groupId"GenericString.of_jsoninletnetworkId=field_map_exnjson__"networkId"NetworkId.of_jsoninmake?securityGroupSettings?name~groupId~networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the properties of an existing security group in a Wickr network, such as its name or settings."]moduleUpdateNetworkSettingsResponse=structtypenonrect={settings:SettingsList.toption[@ocaml.doc"A list of the updated network settings, showing the new values for each modified setting."]}typenonrecerror=[`BadRequestErrorofBadRequestError.t|`ForbiddenErrorofForbiddenError.t|`InternalServerErrorofInternalServerError.t|`RateLimitErrorofRateLimitError.t|`ResourceNotFoundErrorofResourceNotFoundError.t|`UnauthorizedErrorofUnauthorizedError.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?settings=fun()->{settings}leterror_of_jsonnamejson=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_jsonjson)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_jsonjson)|"InternalServerError"->`InternalServerError(InternalServerError.of_jsonjson)|"RateLimitError"->`RateLimitError(RateLimitError.of_jsonjson)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_jsonjson)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_xmlxml)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_xmlxml)|"InternalServerError"->`InternalServerError(InternalServerError.of_xmlxml)|"RateLimitError"->`RateLimitError(RateLimitError.of_xmlxml)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_xmlxml)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestErrore->`Assoc[("error",(`String"BadRequestError"));("details",(BadRequestError.to_jsone))]|`ForbiddenErrore->`Assoc[("error",(`String"ForbiddenError"));("details",(ForbiddenError.to_jsone))]|`InternalServerErrore->`Assoc[("error",(`String"InternalServerError"));("details",(InternalServerError.to_jsone))]|`RateLimitErrore->`Assoc[("error",(`String"RateLimitError"));("details",(RateLimitError.to_jsone))]|`ResourceNotFoundErrore->`Assoc[("error",(`String"ResourceNotFoundError"));("details",(ResourceNotFoundError.to_jsone))]|`UnauthorizedErrore->`Assoc[("error",(`String"UnauthorizedError"));("details",(UnauthorizedError.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("settings",(Option.mapx.settings~f:SettingsList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsettings=(Option.map~f:SettingsList.of_xml)(Xml.childxml_arg0"settings")inmake?settings()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsettings=field_mapjson__"settings"SettingsList.of_jsoninmake?settings()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates network-level settings for a Wickr network. You can modify settings such as client metrics, data retention, and other network-wide options."]moduleUpdateNetworkSettingsRequest=structtypenonrect={networkId:NetworkId.t[@ocaml.doc"The ID of the Wickr network whose settings will be updated."];settings:NetworkSettings.t[@ocaml.doc"A map of setting names to their new values. Each setting should be provided with its appropriate type (boolean, string, number, etc.)."]}letcontext_="UpdateNetworkSettingsRequest"letmake~networkId=fun~settings->fun()->{networkId;settings}letto_valuex=structure_to_value[("networkId",(Some(NetworkId.to_valuex.networkId)));("settings",(Some(NetworkSettings.to_valuex.settings)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsettings=NetworkSettings.of_xml(Xml.child_exn~context:context_xml_arg0"settings")inletnetworkId=NetworkId.of_xml(Xml.child_exn~context:context_xml_arg0"networkId")inmake~settings~networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsettings=field_map_exnjson__"settings"NetworkSettings.of_jsoninletnetworkId=field_map_exnjson__"networkId"NetworkId.of_jsoninmake~settings~networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates network-level settings for a Wickr network. You can modify settings such as client metrics, data retention, and other network-wide options."]moduleUpdateNetworkResponse=structtypenonrect={message:GenericString.toption[@ocaml.doc"A message indicating that the network was updated successfully."]}typenonrecerror=[`BadRequestErrorofBadRequestError.t|`ForbiddenErrorofForbiddenError.t|`InternalServerErrorofInternalServerError.t|`RateLimitErrorofRateLimitError.t|`ResourceNotFoundErrorofResourceNotFoundError.t|`UnauthorizedErrorofUnauthorizedError.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?message=fun()->{message}leterror_of_jsonnamejson=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_jsonjson)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_jsonjson)|"InternalServerError"->`InternalServerError(InternalServerError.of_jsonjson)|"RateLimitError"->`RateLimitError(RateLimitError.of_jsonjson)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_jsonjson)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_xmlxml)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_xmlxml)|"InternalServerError"->`InternalServerError(InternalServerError.of_xmlxml)|"RateLimitError"->`RateLimitError(RateLimitError.of_xmlxml)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_xmlxml)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestErrore->`Assoc[("error",(`String"BadRequestError"));("details",(BadRequestError.to_jsone))]|`ForbiddenErrore->`Assoc[("error",(`String"ForbiddenError"));("details",(ForbiddenError.to_jsone))]|`InternalServerErrore->`Assoc[("error",(`String"InternalServerError"));("details",(InternalServerError.to_jsone))]|`RateLimitErrore->`Assoc[("error",(`String"RateLimitError"));("details",(RateLimitError.to_jsone))]|`ResourceNotFoundErrore->`Assoc[("error",(`String"ResourceNotFoundError"));("details",(ResourceNotFoundError.to_jsone))]|`UnauthorizedErrore->`Assoc[("error",(`String"UnauthorizedError"));("details",(UnauthorizedError.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("message",(Option.mapx.message~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"GenericString.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the properties of an existing Wickr network, such as its name or encryption key configuration."]moduleUpdateNetworkRequest=structtypenonrect={networkId:NetworkId.t[@ocaml.doc"The ID of the Wickr network to update."];networkName:GenericString.t[@ocaml.doc"The new name for the network. Must be between 1 and 20 characters."];clientToken:ClientToken.toption[@ocaml.doc"A unique identifier for this request to ensure idempotency."];encryptionKeyArn:GenericString.toption[@ocaml.doc"The ARN of the Amazon Web Services KMS customer managed key to use for encrypting sensitive data in the network."]}letcontext_="UpdateNetworkRequest"letmake?clientToken=fun?encryptionKeyArn->fun~networkId->fun~networkName->fun()->{clientToken;encryptionKeyArn;networkId;networkName}letto_valuex=structure_to_value[("networkId",(Some(NetworkId.to_valuex.networkId)));("networkName",(Some(GenericString.to_valuex.networkName)));("X-Client-Token",(Option.mapx.clientToken~f:ClientToken.to_value));("encryptionKeyArn",(Option.mapx.encryptionKeyArn~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letencryptionKeyArn=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"encryptionKeyArn")inletclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"X-Client-Token")inletnetworkName=GenericString.of_xml(Xml.child_exn~context:context_xml_arg0"networkName")inletnetworkId=NetworkId.of_xml(Xml.child_exn~context:context_xml_arg0"networkId")inmake?encryptionKeyArn?clientToken~networkName~networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letencryptionKeyArn=field_mapjson__"encryptionKeyArn"GenericString.of_jsoninletclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletnetworkName=field_map_exnjson__"networkName"GenericString.of_jsoninletnetworkId=field_map_exnjson__"networkId"NetworkId.of_jsoninmake?encryptionKeyArn?clientToken~networkName~networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the properties of an existing Wickr network, such as its name or encryption key configuration."]moduleUpdateGuestUserResponse=structtypenonrect={message:GenericString.toption[@ocaml.doc"A message indicating the result of the update operation."]}typenonrecerror=[`BadRequestErrorofBadRequestError.t|`ForbiddenErrorofForbiddenError.t|`InternalServerErrorofInternalServerError.t|`RateLimitErrorofRateLimitError.t|`ResourceNotFoundErrorofResourceNotFoundError.t|`UnauthorizedErrorofUnauthorizedError.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?message=fun()->{message}leterror_of_jsonnamejson=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_jsonjson)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_jsonjson)|"InternalServerError"->`InternalServerError(InternalServerError.of_jsonjson)|"RateLimitError"->`RateLimitError(RateLimitError.of_jsonjson)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_jsonjson)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_xmlxml)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_xmlxml)|"InternalServerError"->`InternalServerError(InternalServerError.of_xmlxml)|"RateLimitError"->`RateLimitError(RateLimitError.of_xmlxml)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_xmlxml)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestErrore->`Assoc[("error",(`String"BadRequestError"));("details",(BadRequestError.to_jsone))]|`ForbiddenErrore->`Assoc[("error",(`String"ForbiddenError"));("details",(ForbiddenError.to_jsone))]|`InternalServerErrore->`Assoc[("error",(`String"InternalServerError"));("details",(InternalServerError.to_jsone))]|`RateLimitErrore->`Assoc[("error",(`String"RateLimitError"));("details",(RateLimitError.to_jsone))]|`ResourceNotFoundErrore->`Assoc[("error",(`String"ResourceNotFoundError"));("details",(ResourceNotFoundError.to_jsone))]|`UnauthorizedErrore->`Assoc[("error",(`String"UnauthorizedError"));("details",(UnauthorizedError.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("message",(Option.mapx.message~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"GenericString.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the block status of a guest user in a Wickr network. This operation allows you to block or unblock a guest user from accessing the network."]moduleUpdateGuestUserRequest=structtypenonrect={networkId:NetworkId.t[@ocaml.doc"The ID of the Wickr network where the guest user's status will be updated."];usernameHash:GenericString.t[@ocaml.doc"The username hash (unique identifier) of the guest user to update."];block:Boolean.t[@ocaml.doc"Set to true to block the guest user or false to unblock them."]}letcontext_="UpdateGuestUserRequest"letmake~networkId=fun~usernameHash->fun~block->fun()->{networkId;usernameHash;block}letto_valuex=structure_to_value[("networkId",(Some(NetworkId.to_valuex.networkId)));("usernameHash",(Some(GenericString.to_valuex.usernameHash)));("block",(Some(Boolean.to_valuex.block)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letblock=Boolean.of_xml(Xml.child_exn~context:context_xml_arg0"block")inletusernameHash=GenericString.of_xml(Xml.child_exn~context:context_xml_arg0"usernameHash")inletnetworkId=NetworkId.of_xml(Xml.child_exn~context:context_xml_arg0"networkId")inmake~block~usernameHash~networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letblock=field_map_exnjson__"block"Boolean.of_jsoninletusernameHash=field_map_exnjson__"usernameHash"GenericString.of_jsoninletnetworkId=field_map_exnjson__"networkId"NetworkId.of_jsoninmake~block~usernameHash~networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the block status of a guest user in a Wickr network. This operation allows you to block or unblock a guest user from accessing the network."]moduleUpdateDataRetentionResponse=structtypenonrect={message:GenericString.toption[@ocaml.doc"A message indicating the result of the update operation."]}typenonrecerror=[`BadRequestErrorofBadRequestError.t|`ForbiddenErrorofForbiddenError.t|`InternalServerErrorofInternalServerError.t|`RateLimitErrorofRateLimitError.t|`ResourceNotFoundErrorofResourceNotFoundError.t|`UnauthorizedErrorofUnauthorizedError.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?message=fun()->{message}leterror_of_jsonnamejson=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_jsonjson)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_jsonjson)|"InternalServerError"->`InternalServerError(InternalServerError.of_jsonjson)|"RateLimitError"->`RateLimitError(RateLimitError.of_jsonjson)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_jsonjson)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_xmlxml)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_xmlxml)|"InternalServerError"->`InternalServerError(InternalServerError.of_xmlxml)|"RateLimitError"->`RateLimitError(RateLimitError.of_xmlxml)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_xmlxml)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestErrore->`Assoc[("error",(`String"BadRequestError"));("details",(BadRequestError.to_jsone))]|`ForbiddenErrore->`Assoc[("error",(`String"ForbiddenError"));("details",(ForbiddenError.to_jsone))]|`InternalServerErrore->`Assoc[("error",(`String"InternalServerError"));("details",(InternalServerError.to_jsone))]|`RateLimitErrore->`Assoc[("error",(`String"RateLimitError"));("details",(RateLimitError.to_jsone))]|`ResourceNotFoundErrore->`Assoc[("error",(`String"ResourceNotFoundError"));("details",(ResourceNotFoundError.to_jsone))]|`UnauthorizedErrore->`Assoc[("error",(`String"UnauthorizedError"));("details",(UnauthorizedError.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("message",(Option.mapx.message~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"GenericString.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the data retention bot settings, allowing you to enable or disable the data retention service, or acknowledge the public key message."]moduleUpdateDataRetentionRequest=structtypenonrect={networkId:NetworkId.t[@ocaml.doc"The ID of the Wickr network containing the data retention bot."];actionType:DataRetentionActionType.t[@ocaml.doc"The action to perform. Valid values are 'ENABLE' (to enable the data retention service), 'DISABLE' (to disable the service), or 'PUBKEY_MSG_ACK' (to acknowledge the public key message)."]}letcontext_="UpdateDataRetentionRequest"letmake~networkId=fun~actionType->fun()->{networkId;actionType}letto_valuex=structure_to_value[("networkId",(Some(NetworkId.to_valuex.networkId)));("actionType",(Some(DataRetentionActionType.to_valuex.actionType)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letactionType=DataRetentionActionType.of_xml(Xml.child_exn~context:context_xml_arg0"actionType")inletnetworkId=NetworkId.of_xml(Xml.child_exn~context:context_xml_arg0"networkId")inmake~actionType~networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letactionType=field_map_exnjson__"actionType"DataRetentionActionType.of_jsoninletnetworkId=field_map_exnjson__"networkId"NetworkId.of_jsoninmake~actionType~networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the data retention bot settings, allowing you to enable or disable the data retention service, or acknowledge the public key message."]moduleUpdateBotResponse=structtypenonrect={message:GenericString.toption[@ocaml.doc"A message indicating the result of the bot update operation."]}typenonrecerror=[`BadRequestErrorofBadRequestError.t|`ForbiddenErrorofForbiddenError.t|`InternalServerErrorofInternalServerError.t|`RateLimitErrorofRateLimitError.t|`ResourceNotFoundErrorofResourceNotFoundError.t|`UnauthorizedErrorofUnauthorizedError.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?message=fun()->{message}leterror_of_jsonnamejson=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_jsonjson)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_jsonjson)|"InternalServerError"->`InternalServerError(InternalServerError.of_jsonjson)|"RateLimitError"->`RateLimitError(RateLimitError.of_jsonjson)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_jsonjson)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_xmlxml)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_xmlxml)|"InternalServerError"->`InternalServerError(InternalServerError.of_xmlxml)|"RateLimitError"->`RateLimitError(RateLimitError.of_xmlxml)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_xmlxml)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestErrore->`Assoc[("error",(`String"BadRequestError"));("details",(BadRequestError.to_jsone))]|`ForbiddenErrore->`Assoc[("error",(`String"ForbiddenError"));("details",(ForbiddenError.to_jsone))]|`InternalServerErrore->`Assoc[("error",(`String"InternalServerError"));("details",(InternalServerError.to_jsone))]|`RateLimitErrore->`Assoc[("error",(`String"RateLimitError"));("details",(RateLimitError.to_jsone))]|`ResourceNotFoundErrore->`Assoc[("error",(`String"ResourceNotFoundError"));("details",(ResourceNotFoundError.to_jsone))]|`UnauthorizedErrore->`Assoc[("error",(`String"UnauthorizedError"));("details",(UnauthorizedError.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("message",(Option.mapx.message~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"GenericString.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the properties of an existing bot in a Wickr network. This operation allows you to modify the bot's display name, security group, password, or suspension status."]moduleUpdateBotRequest=structtypenonrect={networkId:NetworkId.t[@ocaml.doc"The ID of the Wickr network containing the bot to update."];botId:BotId.t[@ocaml.doc"The unique identifier of the bot to update."];displayName:GenericString.toption[@ocaml.doc"The new display name for the bot."];groupId:GenericString.toption[@ocaml.doc"The ID of the new security group to assign the bot to."];challenge:SensitiveString.toption[@ocaml.doc"The new password for the bot account."];suspend:Boolean.toption[@ocaml.doc"Set to true to suspend the bot or false to unsuspend it. Omit this field for standard updates that don't affect suspension status."]}letcontext_="UpdateBotRequest"letmake?displayName=fun?groupId->fun?challenge->fun?suspend->fun~networkId->fun~botId->fun()->{displayName;groupId;challenge;suspend;networkId;botId}letto_valuex=structure_to_value[("networkId",(Some(NetworkId.to_valuex.networkId)));("botId",(Some(BotId.to_valuex.botId)));("displayName",(Option.mapx.displayName~f:GenericString.to_value));("groupId",(Option.mapx.groupId~f:GenericString.to_value));("challenge",(Option.mapx.challenge~f:SensitiveString.to_value));("suspend",(Option.mapx.suspend~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsuspend=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"suspend")inletchallenge=(Option.map~f:SensitiveString.of_xml)(Xml.childxml_arg0"challenge")inletgroupId=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"groupId")inletdisplayName=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"displayName")inletbotId=BotId.of_xml(Xml.child_exn~context:context_xml_arg0"botId")inletnetworkId=NetworkId.of_xml(Xml.child_exn~context:context_xml_arg0"networkId")inmake?suspend?challenge?groupId?displayName~botId~networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsuspend=field_mapjson__"suspend"Boolean.of_jsoninletchallenge=field_mapjson__"challenge"SensitiveString.of_jsoninletgroupId=field_mapjson__"groupId"GenericString.of_jsoninletdisplayName=field_mapjson__"displayName"GenericString.of_jsoninletbotId=field_map_exnjson__"botId"BotId.of_jsoninletnetworkId=field_map_exnjson__"networkId"NetworkId.of_jsoninmake?suspend?challenge?groupId?displayName~botId~networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the properties of an existing bot in a Wickr network. This operation allows you to modify the bot's display name, security group, password, or suspension status."]moduleRegisterOpentdfConfigResponse=structtypenonrect={clientId:GenericString.toption[@ocaml.doc"The OIDC client ID used for authenticating with the OpenTDF provider."];domain:GenericString.toption[@ocaml.doc"The domain of the OpenTDF server."];clientSecret:SensitiveString.toption[@ocaml.doc"The OIDC client secret used for authenticating with the OpenTDF provider."];provider:GenericString.toption[@ocaml.doc"The provider of the OpenTDF platform."]}typenonrecerror=[`BadRequestErrorofBadRequestError.t|`ForbiddenErrorofForbiddenError.t|`InternalServerErrorofInternalServerError.t|`RateLimitErrorofRateLimitError.t|`ResourceNotFoundErrorofResourceNotFoundError.t|`UnauthorizedErrorofUnauthorizedError.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?clientId=fun?domain->fun?clientSecret->fun?provider->fun()->{clientId;domain;clientSecret;provider}leterror_of_jsonnamejson=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_jsonjson)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_jsonjson)|"InternalServerError"->`InternalServerError(InternalServerError.of_jsonjson)|"RateLimitError"->`RateLimitError(RateLimitError.of_jsonjson)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_jsonjson)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_xmlxml)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_xmlxml)|"InternalServerError"->`InternalServerError(InternalServerError.of_xmlxml)|"RateLimitError"->`RateLimitError(RateLimitError.of_xmlxml)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_xmlxml)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestErrore->`Assoc[("error",(`String"BadRequestError"));("details",(BadRequestError.to_jsone))]|`ForbiddenErrore->`Assoc[("error",(`String"ForbiddenError"));("details",(ForbiddenError.to_jsone))]|`InternalServerErrore->`Assoc[("error",(`String"InternalServerError"));("details",(InternalServerError.to_jsone))]|`RateLimitErrore->`Assoc[("error",(`String"RateLimitError"));("details",(RateLimitError.to_jsone))]|`ResourceNotFoundErrore->`Assoc[("error",(`String"ResourceNotFoundError"));("details",(ResourceNotFoundError.to_jsone))]|`UnauthorizedErrore->`Assoc[("error",(`String"UnauthorizedError"));("details",(UnauthorizedError.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("clientId",(Option.mapx.clientId~f:GenericString.to_value));("domain",(Option.mapx.domain~f:GenericString.to_value));("clientSecret",(Option.mapx.clientSecret~f:SensitiveString.to_value));("provider",(Option.mapx.provider~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letprovider=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"provider")inletclientSecret=(Option.map~f:SensitiveString.of_xml)(Xml.childxml_arg0"clientSecret")inletdomain=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"domain")inletclientId=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"clientId")inmake?provider?clientSecret?domain?clientId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letprovider=field_mapjson__"provider"GenericString.of_jsoninletclientSecret=field_mapjson__"clientSecret"SensitiveString.of_jsoninletdomain=field_mapjson__"domain"GenericString.of_jsoninletclientId=field_mapjson__"clientId"GenericString.of_jsoninmake?provider?clientSecret?domain?clientId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Registers and saves OpenTDF configuration for a Wickr network, enabling attribute-based access control for Wickr through an OpenTDF provider."]moduleRegisterOpentdfConfigRequest=structtypenonrect={networkId:NetworkId.t[@ocaml.doc"The ID of the Wickr network for which OpenTDF integration will be configured."];clientId:GenericString.t[@ocaml.doc"The OIDC client ID used for authenticating with the OpenTDF provider."];clientSecret:SensitiveString.t[@ocaml.doc"The OIDC client secret used for authenticating with the OpenTDF provider"];domain:GenericString.t[@ocaml.doc"The domain of the OpenTDF server."];provider:GenericString.t[@ocaml.doc"The provider of the OpenTDF platform. Currently only Virtru is supported as the OpenTDF provider."];dryRun:Boolean.toption[@ocaml.doc"Perform dry-run test connection of OpenTDF configuration (optional)."]}letcontext_="RegisterOpentdfConfigRequest"letmake?dryRun=fun~networkId->fun~clientId->fun~clientSecret->fun~domain->fun~provider->fun()->{dryRun;networkId;clientId;clientSecret;domain;provider}letto_valuex=structure_to_value[("networkId",(Some(NetworkId.to_valuex.networkId)));("clientId",(Some(GenericString.to_valuex.clientId)));("clientSecret",(Some(SensitiveString.to_valuex.clientSecret)));("domain",(Some(GenericString.to_valuex.domain)));("provider",(Some(GenericString.to_valuex.provider)));("dryRun",(Option.mapx.dryRun~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdryRun=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"dryRun")inletprovider=GenericString.of_xml(Xml.child_exn~context:context_xml_arg0"provider")inletdomain=GenericString.of_xml(Xml.child_exn~context:context_xml_arg0"domain")inletclientSecret=SensitiveString.of_xml(Xml.child_exn~context:context_xml_arg0"clientSecret")inletclientId=GenericString.of_xml(Xml.child_exn~context:context_xml_arg0"clientId")inletnetworkId=NetworkId.of_xml(Xml.child_exn~context:context_xml_arg0"networkId")inmake?dryRun~provider~domain~clientSecret~clientId~networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdryRun=field_mapjson__"dryRun"Boolean.of_jsoninletprovider=field_map_exnjson__"provider"GenericString.of_jsoninletdomain=field_map_exnjson__"domain"GenericString.of_jsoninletclientSecret=field_map_exnjson__"clientSecret"SensitiveString.of_jsoninletclientId=field_map_exnjson__"clientId"GenericString.of_jsoninletnetworkId=field_map_exnjson__"networkId"NetworkId.of_jsoninmake?dryRun~provider~domain~clientSecret~clientId~networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Registers and saves OpenTDF configuration for a Wickr network, enabling attribute-based access control for Wickr through an OpenTDF provider."]moduleRegisterOidcConfigTestResponse=structtypenonrect={tokenEndpoint:GenericString.toption[@ocaml.doc"The token endpoint URL discovered from the OIDC provider."];userinfoEndpoint:GenericString.toption[@ocaml.doc"The user info endpoint URL discovered from the OIDC provider."];responseTypesSupported:StringList.toption[@ocaml.doc"The OAuth response types supported by the OIDC provider."];scopesSupported:StringList.toption[@ocaml.doc"The OAuth scopes supported by the OIDC provider."];issuer:GenericString.toption[@ocaml.doc"The issuer URL confirmed by the OIDC provider."];authorizationEndpoint:GenericString.toption[@ocaml.doc"The authorization endpoint URL discovered from the OIDC provider."];endSessionEndpoint:GenericString.toption[@ocaml.doc"The end session endpoint URL for logging out users from the OIDC provider."];logoutEndpoint:GenericString.toption[@ocaml.doc"The logout endpoint URL for terminating user sessions."];grantTypesSupported:StringList.toption[@ocaml.doc"The OAuth grant types supported by the OIDC provider."];revocationEndpoint:GenericString.toption[@ocaml.doc"The token revocation endpoint URL for invalidating tokens."];tokenEndpointAuthMethodsSupported:StringList.toption[@ocaml.doc"The authentication methods supported by the token endpoint."];microsoftMultiRefreshToken:Boolean.toption[@ocaml.doc"Indicates whether the provider supports Microsoft multi-refresh tokens."]}typenonrecerror=[`BadRequestErrorofBadRequestError.t|`ForbiddenErrorofForbiddenError.t|`InternalServerErrorofInternalServerError.t|`RateLimitErrorofRateLimitError.t|`ResourceNotFoundErrorofResourceNotFoundError.t|`UnauthorizedErrorofUnauthorizedError.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?tokenEndpoint=fun?userinfoEndpoint->fun?responseTypesSupported->fun?scopesSupported->fun?issuer->fun?authorizationEndpoint->fun?endSessionEndpoint->fun?logoutEndpoint->fun?grantTypesSupported->fun?revocationEndpoint->fun?tokenEndpointAuthMethodsSupported->fun?microsoftMultiRefreshToken->fun()->{tokenEndpoint;userinfoEndpoint;responseTypesSupported;scopesSupported;issuer;authorizationEndpoint;endSessionEndpoint;logoutEndpoint;grantTypesSupported;revocationEndpoint;tokenEndpointAuthMethodsSupported;microsoftMultiRefreshToken}leterror_of_jsonnamejson=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_jsonjson)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_jsonjson)|"InternalServerError"->`InternalServerError(InternalServerError.of_jsonjson)|"RateLimitError"->`RateLimitError(RateLimitError.of_jsonjson)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_jsonjson)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_xmlxml)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_xmlxml)|"InternalServerError"->`InternalServerError(InternalServerError.of_xmlxml)|"RateLimitError"->`RateLimitError(RateLimitError.of_xmlxml)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_xmlxml)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestErrore->`Assoc[("error",(`String"BadRequestError"));("details",(BadRequestError.to_jsone))]|`ForbiddenErrore->`Assoc[("error",(`String"ForbiddenError"));("details",(ForbiddenError.to_jsone))]|`InternalServerErrore->`Assoc[("error",(`String"InternalServerError"));("details",(InternalServerError.to_jsone))]|`RateLimitErrore->`Assoc[("error",(`String"RateLimitError"));("details",(RateLimitError.to_jsone))]|`ResourceNotFoundErrore->`Assoc[("error",(`String"ResourceNotFoundError"));("details",(ResourceNotFoundError.to_jsone))]|`UnauthorizedErrore->`Assoc[("error",(`String"UnauthorizedError"));("details",(UnauthorizedError.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("tokenEndpoint",(Option.mapx.tokenEndpoint~f:GenericString.to_value));("userinfoEndpoint",(Option.mapx.userinfoEndpoint~f:GenericString.to_value));("responseTypesSupported",(Option.mapx.responseTypesSupported~f:StringList.to_value));("scopesSupported",(Option.mapx.scopesSupported~f:StringList.to_value));("issuer",(Option.mapx.issuer~f:GenericString.to_value));("authorizationEndpoint",(Option.mapx.authorizationEndpoint~f:GenericString.to_value));("endSessionEndpoint",(Option.mapx.endSessionEndpoint~f:GenericString.to_value));("logoutEndpoint",(Option.mapx.logoutEndpoint~f:GenericString.to_value));("grantTypesSupported",(Option.mapx.grantTypesSupported~f:StringList.to_value));("revocationEndpoint",(Option.mapx.revocationEndpoint~f:GenericString.to_value));("tokenEndpointAuthMethodsSupported",(Option.mapx.tokenEndpointAuthMethodsSupported~f:StringList.to_value));("microsoftMultiRefreshToken",(Option.mapx.microsoftMultiRefreshToken~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmicrosoftMultiRefreshToken=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"microsoftMultiRefreshToken")inlettokenEndpointAuthMethodsSupported=(Option.map~f:StringList.of_xml)(Xml.childxml_arg0"tokenEndpointAuthMethodsSupported")inletrevocationEndpoint=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"revocationEndpoint")inletgrantTypesSupported=(Option.map~f:StringList.of_xml)(Xml.childxml_arg0"grantTypesSupported")inletlogoutEndpoint=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"logoutEndpoint")inletendSessionEndpoint=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"endSessionEndpoint")inletauthorizationEndpoint=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"authorizationEndpoint")inletissuer=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"issuer")inletscopesSupported=(Option.map~f:StringList.of_xml)(Xml.childxml_arg0"scopesSupported")inletresponseTypesSupported=(Option.map~f:StringList.of_xml)(Xml.childxml_arg0"responseTypesSupported")inletuserinfoEndpoint=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"userinfoEndpoint")inlettokenEndpoint=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"tokenEndpoint")inmake?microsoftMultiRefreshToken?tokenEndpointAuthMethodsSupported?revocationEndpoint?grantTypesSupported?logoutEndpoint?endSessionEndpoint?authorizationEndpoint?issuer?scopesSupported?responseTypesSupported?userinfoEndpoint?tokenEndpoint()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmicrosoftMultiRefreshToken=field_mapjson__"microsoftMultiRefreshToken"Boolean.of_jsoninlettokenEndpointAuthMethodsSupported=field_mapjson__"tokenEndpointAuthMethodsSupported"StringList.of_jsoninletrevocationEndpoint=field_mapjson__"revocationEndpoint"GenericString.of_jsoninletgrantTypesSupported=field_mapjson__"grantTypesSupported"StringList.of_jsoninletlogoutEndpoint=field_mapjson__"logoutEndpoint"GenericString.of_jsoninletendSessionEndpoint=field_mapjson__"endSessionEndpoint"GenericString.of_jsoninletauthorizationEndpoint=field_mapjson__"authorizationEndpoint"GenericString.of_jsoninletissuer=field_mapjson__"issuer"GenericString.of_jsoninletscopesSupported=field_mapjson__"scopesSupported"StringList.of_jsoninletresponseTypesSupported=field_mapjson__"responseTypesSupported"StringList.of_jsoninletuserinfoEndpoint=field_mapjson__"userinfoEndpoint"GenericString.of_jsoninlettokenEndpoint=field_mapjson__"tokenEndpoint"GenericString.of_jsoninmake?microsoftMultiRefreshToken?tokenEndpointAuthMethodsSupported?revocationEndpoint?grantTypesSupported?logoutEndpoint?endSessionEndpoint?authorizationEndpoint?issuer?scopesSupported?responseTypesSupported?userinfoEndpoint?tokenEndpoint()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Tests an OpenID Connect (OIDC) configuration for a Wickr network by validating the connection to the identity provider and retrieving its supported capabilities."]moduleRegisterOidcConfigTestRequest=structtypenonrect={networkId:NetworkId.t[@ocaml.doc"The ID of the Wickr network for which the OIDC configuration will be tested."];extraAuthParams:GenericString.toption[@ocaml.doc"Additional authentication parameters to include in the test (optional)."];issuer:GenericString.t[@ocaml.doc"The issuer URL of the OIDC provider to test."];scopes:GenericString.t[@ocaml.doc"The OAuth scopes to test with the OIDC provider."];certificate:GenericString.toption[@ocaml.doc"The CA certificate for secure communication with the OIDC provider (optional)."]}letcontext_="RegisterOidcConfigTestRequest"letmake?extraAuthParams=fun?certificate->fun~networkId->fun~issuer->fun~scopes->fun()->{extraAuthParams;certificate;networkId;issuer;scopes}letto_valuex=structure_to_value[("networkId",(Some(NetworkId.to_valuex.networkId)));("extraAuthParams",(Option.mapx.extraAuthParams~f:GenericString.to_value));("issuer",(Some(GenericString.to_valuex.issuer)));("scopes",(Some(GenericString.to_valuex.scopes)));("certificate",(Option.mapx.certificate~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcertificate=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"certificate")inletscopes=GenericString.of_xml(Xml.child_exn~context:context_xml_arg0"scopes")inletissuer=GenericString.of_xml(Xml.child_exn~context:context_xml_arg0"issuer")inletextraAuthParams=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"extraAuthParams")inletnetworkId=NetworkId.of_xml(Xml.child_exn~context:context_xml_arg0"networkId")inmake?certificate~scopes~issuer?extraAuthParams~networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcertificate=field_mapjson__"certificate"GenericString.of_jsoninletscopes=field_map_exnjson__"scopes"GenericString.of_jsoninletissuer=field_map_exnjson__"issuer"GenericString.of_jsoninletextraAuthParams=field_mapjson__"extraAuthParams"GenericString.of_jsoninletnetworkId=field_map_exnjson__"networkId"NetworkId.of_jsoninmake?certificate~scopes~issuer?extraAuthParams~networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Tests an OpenID Connect (OIDC) configuration for a Wickr network by validating the connection to the identity provider and retrieving its supported capabilities."]moduleRegisterOidcConfigResponse=structtypenonrect={applicationName:GenericString.toption[@ocaml.doc"The name of the registered OIDC application."];clientId:GenericString.toption[@ocaml.doc"The OAuth client ID assigned to the application."];companyId:GenericString.toption[@ocaml.doc"Custom identifier your end users will use to sign in with SSO."];scopes:GenericString.toption[@ocaml.doc"The OAuth scopes configured for the application."];issuer:GenericString.toption[@ocaml.doc"The issuer URL of the OIDC provider."];clientSecret:SensitiveString.toption[@ocaml.doc"The OAuth client secret for the application."];secret:SensitiveString.toption[@ocaml.doc"The client secret for authenticating with the OIDC provider."];redirectUrl:GenericString.toption[@ocaml.doc"The redirect URL configured for the OAuth flow."];userId:GenericString.toption[@ocaml.doc"The claim field being used as the user identifier."];customUsername:GenericString.toption[@ocaml.doc"The custom field mapping used for extracting the username."];caCertificate:GenericString.toption[@ocaml.doc"The CA certificate used for secure communication with the OIDC provider."];applicationId:RegisterOidcConfigResponseApplicationIdInteger.toption[@ocaml.doc"The unique identifier for the registered OIDC application."];ssoTokenBufferMinutes:Integer.toption[@ocaml.doc"The buffer time in minutes before the SSO token expires."];extraAuthParams:GenericString.toption[@ocaml.doc"The additional authentication parameters configured for the OIDC flow."]}typenonrecerror=[`BadRequestErrorofBadRequestError.t|`ForbiddenErrorofForbiddenError.t|`InternalServerErrorofInternalServerError.t|`RateLimitErrorofRateLimitError.t|`ResourceNotFoundErrorofResourceNotFoundError.t|`UnauthorizedErrorofUnauthorizedError.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?applicationName=fun?clientId->fun?companyId->fun?scopes->fun?issuer->fun?clientSecret->fun?secret->fun?redirectUrl->fun?userId->fun?customUsername->fun?caCertificate->fun?applicationId->fun?ssoTokenBufferMinutes->fun?extraAuthParams->fun()->{applicationName;clientId;companyId;scopes;issuer;clientSecret;secret;redirectUrl;userId;customUsername;caCertificate;applicationId;ssoTokenBufferMinutes;extraAuthParams}leterror_of_jsonnamejson=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_jsonjson)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_jsonjson)|"InternalServerError"->`InternalServerError(InternalServerError.of_jsonjson)|"RateLimitError"->`RateLimitError(RateLimitError.of_jsonjson)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_jsonjson)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_xmlxml)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_xmlxml)|"InternalServerError"->`InternalServerError(InternalServerError.of_xmlxml)|"RateLimitError"->`RateLimitError(RateLimitError.of_xmlxml)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_xmlxml)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestErrore->`Assoc[("error",(`String"BadRequestError"));("details",(BadRequestError.to_jsone))]|`ForbiddenErrore->`Assoc[("error",(`String"ForbiddenError"));("details",(ForbiddenError.to_jsone))]|`InternalServerErrore->`Assoc[("error",(`String"InternalServerError"));("details",(InternalServerError.to_jsone))]|`RateLimitErrore->`Assoc[("error",(`String"RateLimitError"));("details",(RateLimitError.to_jsone))]|`ResourceNotFoundErrore->`Assoc[("error",(`String"ResourceNotFoundError"));("details",(ResourceNotFoundError.to_jsone))]|`UnauthorizedErrore->`Assoc[("error",(`String"UnauthorizedError"));("details",(UnauthorizedError.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("applicationName",(Option.mapx.applicationName~f:GenericString.to_value));("clientId",(Option.mapx.clientId~f:GenericString.to_value));("companyId",(Option.mapx.companyId~f:GenericString.to_value));("scopes",(Option.mapx.scopes~f:GenericString.to_value));("issuer",(Option.mapx.issuer~f:GenericString.to_value));("clientSecret",(Option.mapx.clientSecret~f:SensitiveString.to_value));("secret",(Option.mapx.secret~f:SensitiveString.to_value));("redirectUrl",(Option.mapx.redirectUrl~f:GenericString.to_value));("userId",(Option.mapx.userId~f:GenericString.to_value));("customUsername",(Option.mapx.customUsername~f:GenericString.to_value));("caCertificate",(Option.mapx.caCertificate~f:GenericString.to_value));("applicationId",(Option.mapx.applicationId~f:RegisterOidcConfigResponseApplicationIdInteger.to_value));("ssoTokenBufferMinutes",(Option.mapx.ssoTokenBufferMinutes~f:Integer.to_value));("extraAuthParams",(Option.mapx.extraAuthParams~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letextraAuthParams=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"extraAuthParams")inletssoTokenBufferMinutes=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"ssoTokenBufferMinutes")inletapplicationId=(Option.map~f:RegisterOidcConfigResponseApplicationIdInteger.of_xml)(Xml.childxml_arg0"applicationId")inletcaCertificate=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"caCertificate")inletcustomUsername=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"customUsername")inletuserId=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"userId")inletredirectUrl=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"redirectUrl")inletsecret=(Option.map~f:SensitiveString.of_xml)(Xml.childxml_arg0"secret")inletclientSecret=(Option.map~f:SensitiveString.of_xml)(Xml.childxml_arg0"clientSecret")inletissuer=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"issuer")inletscopes=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"scopes")inletcompanyId=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"companyId")inletclientId=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"clientId")inletapplicationName=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"applicationName")inmake?extraAuthParams?ssoTokenBufferMinutes?applicationId?caCertificate?customUsername?userId?redirectUrl?secret?clientSecret?issuer?scopes?companyId?clientId?applicationName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letextraAuthParams=field_mapjson__"extraAuthParams"GenericString.of_jsoninletssoTokenBufferMinutes=field_mapjson__"ssoTokenBufferMinutes"Integer.of_jsoninletapplicationId=field_mapjson__"applicationId"RegisterOidcConfigResponseApplicationIdInteger.of_jsoninletcaCertificate=field_mapjson__"caCertificate"GenericString.of_jsoninletcustomUsername=field_mapjson__"customUsername"GenericString.of_jsoninletuserId=field_mapjson__"userId"GenericString.of_jsoninletredirectUrl=field_mapjson__"redirectUrl"GenericString.of_jsoninletsecret=field_mapjson__"secret"SensitiveString.of_jsoninletclientSecret=field_mapjson__"clientSecret"SensitiveString.of_jsoninletissuer=field_mapjson__"issuer"GenericString.of_jsoninletscopes=field_mapjson__"scopes"GenericString.of_jsoninletcompanyId=field_mapjson__"companyId"GenericString.of_jsoninletclientId=field_mapjson__"clientId"GenericString.of_jsoninletapplicationName=field_mapjson__"applicationName"GenericString.of_jsoninmake?extraAuthParams?ssoTokenBufferMinutes?applicationId?caCertificate?customUsername?userId?redirectUrl?secret?clientSecret?issuer?scopes?companyId?clientId?applicationName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Registers and saves an OpenID Connect (OIDC) configuration for a Wickr network, enabling Single Sign-On (SSO) authentication through an identity provider."]moduleRegisterOidcConfigRequest=structtypenonrect={networkId:NetworkId.t[@ocaml.doc"The ID of the Wickr network for which OIDC will be configured."];companyId:GenericString.t[@ocaml.doc"Custom identifier your end users will use to sign in with SSO."];customUsername:GenericString.toption[@ocaml.doc"A custom field mapping to extract the username from the OIDC token (optional). The customUsername is only required if you use something other than email as the username field."];extraAuthParams:GenericString.toption[@ocaml.doc"Additional authentication parameters to include in the OIDC flow (optional)."];issuer:GenericString.t[@ocaml.doc"The issuer URL of the OIDC provider (e.g., 'https://login.example.com')."];scopes:GenericString.t[@ocaml.doc"The OAuth scopes to request from the OIDC provider (e.g., 'openid profile email')."];secret:SensitiveString.toption[@ocaml.doc"The client secret for authenticating with the OIDC provider (optional)."];ssoTokenBufferMinutes:Integer.toption[@ocaml.doc"The buffer time in minutes before the SSO token expires to refresh it (optional)."];userId:GenericString.toption[@ocaml.doc"Unique identifier provided by your identity provider to authenticate the access request. Also referred to as clientID."]}letcontext_="RegisterOidcConfigRequest"letmake?customUsername=fun?extraAuthParams->fun?secret->fun?ssoTokenBufferMinutes->fun?userId->fun~networkId->fun~companyId->fun~issuer->fun~scopes->fun()->{customUsername;extraAuthParams;secret;ssoTokenBufferMinutes;userId;networkId;companyId;issuer;scopes}letto_valuex=structure_to_value[("networkId",(Some(NetworkId.to_valuex.networkId)));("companyId",(Some(GenericString.to_valuex.companyId)));("customUsername",(Option.mapx.customUsername~f:GenericString.to_value));("extraAuthParams",(Option.mapx.extraAuthParams~f:GenericString.to_value));("issuer",(Some(GenericString.to_valuex.issuer)));("scopes",(Some(GenericString.to_valuex.scopes)));("secret",(Option.mapx.secret~f:SensitiveString.to_value));("ssoTokenBufferMinutes",(Option.mapx.ssoTokenBufferMinutes~f:Integer.to_value));("userId",(Option.mapx.userId~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letuserId=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"userId")inletssoTokenBufferMinutes=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"ssoTokenBufferMinutes")inletsecret=(Option.map~f:SensitiveString.of_xml)(Xml.childxml_arg0"secret")inletscopes=GenericString.of_xml(Xml.child_exn~context:context_xml_arg0"scopes")inletissuer=GenericString.of_xml(Xml.child_exn~context:context_xml_arg0"issuer")inletextraAuthParams=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"extraAuthParams")inletcustomUsername=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"customUsername")inletcompanyId=GenericString.of_xml(Xml.child_exn~context:context_xml_arg0"companyId")inletnetworkId=NetworkId.of_xml(Xml.child_exn~context:context_xml_arg0"networkId")inmake?userId?ssoTokenBufferMinutes?secret~scopes~issuer?extraAuthParams?customUsername~companyId~networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letuserId=field_mapjson__"userId"GenericString.of_jsoninletssoTokenBufferMinutes=field_mapjson__"ssoTokenBufferMinutes"Integer.of_jsoninletsecret=field_mapjson__"secret"SensitiveString.of_jsoninletscopes=field_map_exnjson__"scopes"GenericString.of_jsoninletissuer=field_map_exnjson__"issuer"GenericString.of_jsoninletextraAuthParams=field_mapjson__"extraAuthParams"GenericString.of_jsoninletcustomUsername=field_mapjson__"customUsername"GenericString.of_jsoninletcompanyId=field_map_exnjson__"companyId"GenericString.of_jsoninletnetworkId=field_map_exnjson__"networkId"NetworkId.of_jsoninmake?userId?ssoTokenBufferMinutes?secret~scopes~issuer?extraAuthParams?customUsername~companyId~networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Registers and saves an OpenID Connect (OIDC) configuration for a Wickr network, enabling Single Sign-On (SSO) authentication through an identity provider."]moduleListUsersResponse=structtypenonrect={nextToken:GenericString.toption[@ocaml.doc"The token to use for retrieving the next page of results. If this is not present, there are no more results."];users:Users.toption[@ocaml.doc"A list of user objects matching the specified filters and within the current page."]}typenonrecerror=[`BadRequestErrorofBadRequestError.t|`ForbiddenErrorofForbiddenError.t|`InternalServerErrorofInternalServerError.t|`RateLimitErrorofRateLimitError.t|`ResourceNotFoundErrorofResourceNotFoundError.t|`UnauthorizedErrorofUnauthorizedError.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?nextToken=fun?users->fun()->{nextToken;users}leterror_of_jsonnamejson=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_jsonjson)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_jsonjson)|"InternalServerError"->`InternalServerError(InternalServerError.of_jsonjson)|"RateLimitError"->`RateLimitError(RateLimitError.of_jsonjson)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_jsonjson)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_xmlxml)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_xmlxml)|"InternalServerError"->`InternalServerError(InternalServerError.of_xmlxml)|"RateLimitError"->`RateLimitError(RateLimitError.of_xmlxml)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_xmlxml)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestErrore->`Assoc[("error",(`String"BadRequestError"));("details",(BadRequestError.to_jsone))]|`ForbiddenErrore->`Assoc[("error",(`String"ForbiddenError"));("details",(ForbiddenError.to_jsone))]|`InternalServerErrore->`Assoc[("error",(`String"InternalServerError"));("details",(InternalServerError.to_jsone))]|`RateLimitErrore->`Assoc[("error",(`String"RateLimitError"));("details",(RateLimitError.to_jsone))]|`ResourceNotFoundErrore->`Assoc[("error",(`String"ResourceNotFoundError"));("details",(ResourceNotFoundError.to_jsone))]|`UnauthorizedErrore->`Assoc[("error",(`String"UnauthorizedError"));("details",(UnauthorizedError.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("nextToken",(Option.mapx.nextToken~f:GenericString.to_value));("users",(Option.mapx.users~f:Users.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letusers=(Option.map~f:Users.of_xml)(Xml.childxml_arg0"users")inletnextToken=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"nextToken")inmake?users?nextToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letusers=field_mapjson__"users"Users.of_jsoninletnextToken=field_mapjson__"nextToken"GenericString.of_jsoninmake?users?nextToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves a paginated list of users in a specified Wickr network. You can filter and sort the results based on various criteria such as name, status, or security group membership."]moduleListUsersRequest=structtypenonrect={networkId:NetworkId.t[@ocaml.doc"The ID of the Wickr network from which to list users."];nextToken:GenericString.toption[@ocaml.doc"The token for retrieving the next page of results. This is returned from a previous request when there are more results available."];maxResults:Integer.toption[@ocaml.doc"The maximum number of users to return in a single page. Valid range is 1-100. Default is 10."];sortFields:GenericString.toption[@ocaml.doc"The fields to sort users by. Multiple fields can be specified by separating them with '+'. Accepted values include 'username', 'firstName', 'lastName', 'status', and 'groupId'."];sortDirection:SortDirection.toption[@ocaml.doc"The direction to sort results. Valid values are 'ASC' (ascending) or 'DESC' (descending). Default is 'DESC'."];firstName:SensitiveString.toption[@ocaml.doc"Filter results to only include users with first names matching this value."];lastName:SensitiveString.toption[@ocaml.doc"Filter results to only include users with last names matching this value."];username:GenericString.toption[@ocaml.doc"Filter results to only include users with usernames matching this value."];status:UserStatus.toption[@ocaml.doc"Filter results to only include users with this status (1 for pending, 2 for active)."];groupId:GenericString.toption[@ocaml.doc"Filter results to only include users belonging to this security group."]}letcontext_="ListUsersRequest"letmake?nextToken=fun?maxResults->fun?sortFields->fun?sortDirection->fun?firstName->fun?lastName->fun?username->fun?status->fun?groupId->fun~networkId->fun()->{nextToken;maxResults;sortFields;sortDirection;firstName;lastName;username;status;groupId;networkId}letto_valuex=structure_to_value[("networkId",(Some(NetworkId.to_valuex.networkId)));("nextToken",(Option.mapx.nextToken~f:GenericString.to_value));("maxResults",(Option.mapx.maxResults~f:Integer.to_value));("sortFields",(Option.mapx.sortFields~f:GenericString.to_value));("sortDirection",(Option.mapx.sortDirection~f:SortDirection.to_value));("firstName",(Option.mapx.firstName~f:SensitiveString.to_value));("lastName",(Option.mapx.lastName~f:SensitiveString.to_value));("username",(Option.mapx.username~f:GenericString.to_value));("status",(Option.mapx.status~f:UserStatus.to_value));("groupId",(Option.mapx.groupId~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letgroupId=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"groupId")inletstatus=(Option.map~f:UserStatus.of_xml)(Xml.childxml_arg0"status")inletusername=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"username")inletlastName=(Option.map~f:SensitiveString.of_xml)(Xml.childxml_arg0"lastName")inletfirstName=(Option.map~f:SensitiveString.of_xml)(Xml.childxml_arg0"firstName")inletsortDirection=(Option.map~f:SortDirection.of_xml)(Xml.childxml_arg0"sortDirection")inletsortFields=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"sortFields")inletmaxResults=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"nextToken")inletnetworkId=NetworkId.of_xml(Xml.child_exn~context:context_xml_arg0"networkId")inmake?groupId?status?username?lastName?firstName?sortDirection?sortFields?maxResults?nextToken~networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letgroupId=field_mapjson__"groupId"GenericString.of_jsoninletstatus=field_mapjson__"status"UserStatus.of_jsoninletusername=field_mapjson__"username"GenericString.of_jsoninletlastName=field_mapjson__"lastName"SensitiveString.of_jsoninletfirstName=field_mapjson__"firstName"SensitiveString.of_jsoninletsortDirection=field_mapjson__"sortDirection"SortDirection.of_jsoninletsortFields=field_mapjson__"sortFields"GenericString.of_jsoninletmaxResults=field_mapjson__"maxResults"Integer.of_jsoninletnextToken=field_mapjson__"nextToken"GenericString.of_jsoninletnetworkId=field_map_exnjson__"networkId"NetworkId.of_jsoninmake?groupId?status?username?lastName?firstName?sortDirection?sortFields?maxResults?nextToken~networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves a paginated list of users in a specified Wickr network. You can filter and sort the results based on various criteria such as name, status, or security group membership."]moduleListSecurityGroupsResponse=structtypenonrect={securityGroups:SecurityGroupList.toption[@ocaml.doc"A list of security group objects in the current page."];nextToken:GenericString.toption[@ocaml.doc"The token to use for retrieving the next page of results. If this is not present, there are no more results."]}typenonrecerror=[`BadRequestErrorofBadRequestError.t|`ForbiddenErrorofForbiddenError.t|`InternalServerErrorofInternalServerError.t|`RateLimitErrorofRateLimitError.t|`ResourceNotFoundErrorofResourceNotFoundError.t|`UnauthorizedErrorofUnauthorizedError.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?securityGroups=fun?nextToken->fun()->{securityGroups;nextToken}leterror_of_jsonnamejson=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_jsonjson)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_jsonjson)|"InternalServerError"->`InternalServerError(InternalServerError.of_jsonjson)|"RateLimitError"->`RateLimitError(RateLimitError.of_jsonjson)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_jsonjson)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_xmlxml)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_xmlxml)|"InternalServerError"->`InternalServerError(InternalServerError.of_xmlxml)|"RateLimitError"->`RateLimitError(RateLimitError.of_xmlxml)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_xmlxml)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestErrore->`Assoc[("error",(`String"BadRequestError"));("details",(BadRequestError.to_jsone))]|`ForbiddenErrore->`Assoc[("error",(`String"ForbiddenError"));("details",(ForbiddenError.to_jsone))]|`InternalServerErrore->`Assoc[("error",(`String"InternalServerError"));("details",(InternalServerError.to_jsone))]|`RateLimitErrore->`Assoc[("error",(`String"RateLimitError"));("details",(RateLimitError.to_jsone))]|`ResourceNotFoundErrore->`Assoc[("error",(`String"ResourceNotFoundError"));("details",(ResourceNotFoundError.to_jsone))]|`UnauthorizedErrore->`Assoc[("error",(`String"UnauthorizedError"));("details",(UnauthorizedError.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("securityGroups",(Option.mapx.securityGroups~f:SecurityGroupList.to_value));("nextToken",(Option.mapx.nextToken~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"nextToken")inletsecurityGroups=(Option.map~f:SecurityGroupList.of_xml)(Xml.childxml_arg0"securityGroups")inmake?nextToken?securityGroups()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"GenericString.of_jsoninletsecurityGroups=field_mapjson__"securityGroups"SecurityGroupList.of_jsoninmake?nextToken?securityGroups()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves a paginated list of security groups in a specified Wickr network. You can sort the results by various criteria."]moduleListSecurityGroupsRequest=structtypenonrect={networkId:NetworkId.t[@ocaml.doc"The ID of the Wickr network from which to list security groups."];nextToken:GenericString.toption[@ocaml.doc"The token for retrieving the next page of results. This is returned from a previous request when there are more results available."];maxResults:Integer.toption[@ocaml.doc"The maximum number of security groups to return in a single page. Valid range is 1-100. Default is 10."];sortFields:GenericString.toption[@ocaml.doc"The field to sort security groups by. Accepted values include 'id' and 'name'."];sortDirection:SortDirection.toption[@ocaml.doc"The direction to sort results. Valid values are 'ASC' (ascending) or 'DESC' (descending). Default is 'DESC'."]}letcontext_="ListSecurityGroupsRequest"letmake?nextToken=fun?maxResults->fun?sortFields->fun?sortDirection->fun~networkId->fun()->{nextToken;maxResults;sortFields;sortDirection;networkId}letto_valuex=structure_to_value[("networkId",(Some(NetworkId.to_valuex.networkId)));("nextToken",(Option.mapx.nextToken~f:GenericString.to_value));("maxResults",(Option.mapx.maxResults~f:Integer.to_value));("sortFields",(Option.mapx.sortFields~f:GenericString.to_value));("sortDirection",(Option.mapx.sortDirection~f:SortDirection.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsortDirection=(Option.map~f:SortDirection.of_xml)(Xml.childxml_arg0"sortDirection")inletsortFields=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"sortFields")inletmaxResults=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"nextToken")inletnetworkId=NetworkId.of_xml(Xml.child_exn~context:context_xml_arg0"networkId")inmake?sortDirection?sortFields?maxResults?nextToken~networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsortDirection=field_mapjson__"sortDirection"SortDirection.of_jsoninletsortFields=field_mapjson__"sortFields"GenericString.of_jsoninletmaxResults=field_mapjson__"maxResults"Integer.of_jsoninletnextToken=field_mapjson__"nextToken"GenericString.of_jsoninletnetworkId=field_map_exnjson__"networkId"NetworkId.of_jsoninmake?sortDirection?sortFields?maxResults?nextToken~networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves a paginated list of security groups in a specified Wickr network. You can sort the results by various criteria."]moduleListSecurityGroupUsersResponse=structtypenonrect={users:Users.toption[@ocaml.doc"A list of user objects belonging to the security group within the current page."];nextToken:GenericString.toption[@ocaml.doc"The token to use for retrieving the next page of results. If this is not present, there are no more results."]}typenonrecerror=[`BadRequestErrorofBadRequestError.t|`ForbiddenErrorofForbiddenError.t|`InternalServerErrorofInternalServerError.t|`RateLimitErrorofRateLimitError.t|`ResourceNotFoundErrorofResourceNotFoundError.t|`UnauthorizedErrorofUnauthorizedError.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?users=fun?nextToken->fun()->{users;nextToken}leterror_of_jsonnamejson=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_jsonjson)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_jsonjson)|"InternalServerError"->`InternalServerError(InternalServerError.of_jsonjson)|"RateLimitError"->`RateLimitError(RateLimitError.of_jsonjson)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_jsonjson)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_xmlxml)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_xmlxml)|"InternalServerError"->`InternalServerError(InternalServerError.of_xmlxml)|"RateLimitError"->`RateLimitError(RateLimitError.of_xmlxml)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_xmlxml)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestErrore->`Assoc[("error",(`String"BadRequestError"));("details",(BadRequestError.to_jsone))]|`ForbiddenErrore->`Assoc[("error",(`String"ForbiddenError"));("details",(ForbiddenError.to_jsone))]|`InternalServerErrore->`Assoc[("error",(`String"InternalServerError"));("details",(InternalServerError.to_jsone))]|`RateLimitErrore->`Assoc[("error",(`String"RateLimitError"));("details",(RateLimitError.to_jsone))]|`ResourceNotFoundErrore->`Assoc[("error",(`String"ResourceNotFoundError"));("details",(ResourceNotFoundError.to_jsone))]|`UnauthorizedErrore->`Assoc[("error",(`String"UnauthorizedError"));("details",(UnauthorizedError.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("users",(Option.mapx.users~f:Users.to_value));("nextToken",(Option.mapx.nextToken~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"nextToken")inletusers=(Option.map~f:Users.of_xml)(Xml.childxml_arg0"users")inmake?nextToken?users()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"GenericString.of_jsoninletusers=field_mapjson__"users"Users.of_jsoninmake?nextToken?users()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves a paginated list of users who belong to a specific security group in a Wickr network."]moduleListSecurityGroupUsersRequest=structtypenonrect={networkId:NetworkId.t[@ocaml.doc"The ID of the Wickr network containing the security group."];groupId:GenericString.t[@ocaml.doc"The unique identifier of the security group whose users will be listed."];nextToken:GenericString.toption[@ocaml.doc"The token for retrieving the next page of results. This is returned from a previous request when there are more results available."];maxResults:Integer.toption[@ocaml.doc"The maximum number of users to return in a single page. Valid range is 1-100. Default is 10."];sortFields:GenericString.toption[@ocaml.doc"The field to sort users by. Multiple fields can be specified by separating them with '+'. Accepted values include 'username', 'firstName', and 'lastName'."];sortDirection:SortDirection.toption[@ocaml.doc"The direction to sort results. Valid values are 'ASC' (ascending) or 'DESC' (descending). Default is 'DESC'."]}letcontext_="ListSecurityGroupUsersRequest"letmake?nextToken=fun?maxResults->fun?sortFields->fun?sortDirection->fun~networkId->fun~groupId->fun()->{nextToken;maxResults;sortFields;sortDirection;networkId;groupId}letto_valuex=structure_to_value[("networkId",(Some(NetworkId.to_valuex.networkId)));("groupId",(Some(GenericString.to_valuex.groupId)));("nextToken",(Option.mapx.nextToken~f:GenericString.to_value));("maxResults",(Option.mapx.maxResults~f:Integer.to_value));("sortFields",(Option.mapx.sortFields~f:GenericString.to_value));("sortDirection",(Option.mapx.sortDirection~f:SortDirection.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsortDirection=(Option.map~f:SortDirection.of_xml)(Xml.childxml_arg0"sortDirection")inletsortFields=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"sortFields")inletmaxResults=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"nextToken")inletgroupId=GenericString.of_xml(Xml.child_exn~context:context_xml_arg0"groupId")inletnetworkId=NetworkId.of_xml(Xml.child_exn~context:context_xml_arg0"networkId")inmake?sortDirection?sortFields?maxResults?nextToken~groupId~networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsortDirection=field_mapjson__"sortDirection"SortDirection.of_jsoninletsortFields=field_mapjson__"sortFields"GenericString.of_jsoninletmaxResults=field_mapjson__"maxResults"Integer.of_jsoninletnextToken=field_mapjson__"nextToken"GenericString.of_jsoninletgroupId=field_map_exnjson__"groupId"GenericString.of_jsoninletnetworkId=field_map_exnjson__"networkId"NetworkId.of_jsoninmake?sortDirection?sortFields?maxResults?nextToken~groupId~networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves a paginated list of users who belong to a specific security group in a Wickr network."]moduleListNetworksResponse=structtypenonrect={networks:NetworkList.toption[@ocaml.doc"A list of network objects for the Amazon Web Services account."];nextToken:GenericString.toption[@ocaml.doc"The token to use for retrieving the next page of results. If this is not present, there are no more results."]}typenonrecerror=[`BadRequestErrorofBadRequestError.t|`ForbiddenErrorofForbiddenError.t|`InternalServerErrorofInternalServerError.t|`RateLimitErrorofRateLimitError.t|`UnauthorizedErrorofUnauthorizedError.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?networks=fun?nextToken->fun()->{networks;nextToken}leterror_of_jsonnamejson=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_jsonjson)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_jsonjson)|"InternalServerError"->`InternalServerError(InternalServerError.of_jsonjson)|"RateLimitError"->`RateLimitError(RateLimitError.of_jsonjson)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_xmlxml)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_xmlxml)|"InternalServerError"->`InternalServerError(InternalServerError.of_xmlxml)|"RateLimitError"->`RateLimitError(RateLimitError.of_xmlxml)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestErrore->`Assoc[("error",(`String"BadRequestError"));("details",(BadRequestError.to_jsone))]|`ForbiddenErrore->`Assoc[("error",(`String"ForbiddenError"));("details",(ForbiddenError.to_jsone))]|`InternalServerErrore->`Assoc[("error",(`String"InternalServerError"));("details",(InternalServerError.to_jsone))]|`RateLimitErrore->`Assoc[("error",(`String"RateLimitError"));("details",(RateLimitError.to_jsone))]|`UnauthorizedErrore->`Assoc[("error",(`String"UnauthorizedError"));("details",(UnauthorizedError.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("networks",(Option.mapx.networks~f:NetworkList.to_value));("nextToken",(Option.mapx.nextToken~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"nextToken")inletnetworks=(Option.map~f:NetworkList.of_xml)(Xml.childxml_arg0"networks")inmake?nextToken?networks()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"GenericString.of_jsoninletnetworks=field_mapjson__"networks"NetworkList.of_jsoninmake?nextToken?networks()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves a paginated list of all Wickr networks associated with your Amazon Web Services account. You can sort the results by network ID or name."]moduleListNetworksRequest=structtypenonrect={maxResults:Integer.toption[@ocaml.doc"The maximum number of networks to return in a single page. Valid range is 1-100. Default is 10."];sortFields:GenericString.toption[@ocaml.doc"The field to sort networks by. Accepted values are 'networkId' and 'networkName'. Default is 'networkId'."];sortDirection:SortDirection.toption[@ocaml.doc"The direction to sort results. Valid values are 'ASC' (ascending) or 'DESC' (descending). Default is 'DESC'."];nextToken:GenericString.toption[@ocaml.doc"The token for retrieving the next page of results. This is returned from a previous request when there are more results available."]}letmake?maxResults=fun?sortFields->fun?sortDirection->fun?nextToken->fun()->{maxResults;sortFields;sortDirection;nextToken}letto_valuex=structure_to_value[("maxResults",(Option.mapx.maxResults~f:Integer.to_value));("sortFields",(Option.mapx.sortFields~f:GenericString.to_value));("sortDirection",(Option.mapx.sortDirection~f:SortDirection.to_value));("nextToken",(Option.mapx.nextToken~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"nextToken")inletsortDirection=(Option.map~f:SortDirection.of_xml)(Xml.childxml_arg0"sortDirection")inletsortFields=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"sortFields")inletmaxResults=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"maxResults")inmake?nextToken?sortDirection?sortFields?maxResults()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"GenericString.of_jsoninletsortDirection=field_mapjson__"sortDirection"SortDirection.of_jsoninletsortFields=field_mapjson__"sortFields"GenericString.of_jsoninletmaxResults=field_mapjson__"maxResults"Integer.of_jsoninmake?nextToken?sortDirection?sortFields?maxResults()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves a paginated list of all Wickr networks associated with your Amazon Web Services account. You can sort the results by network ID or name."]moduleListGuestUsersResponse=structtypenonrect={nextToken:GenericString.toption[@ocaml.doc"The token to use for retrieving the next page of results. If this is not present, there are no more results."];guestlist:GuestUserList.toption[@ocaml.doc"A list of guest user objects within the current page."]}typenonrecerror=[`BadRequestErrorofBadRequestError.t|`ForbiddenErrorofForbiddenError.t|`InternalServerErrorofInternalServerError.t|`RateLimitErrorofRateLimitError.t|`ResourceNotFoundErrorofResourceNotFoundError.t|`UnauthorizedErrorofUnauthorizedError.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?nextToken=fun?guestlist->fun()->{nextToken;guestlist}leterror_of_jsonnamejson=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_jsonjson)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_jsonjson)|"InternalServerError"->`InternalServerError(InternalServerError.of_jsonjson)|"RateLimitError"->`RateLimitError(RateLimitError.of_jsonjson)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_jsonjson)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_xmlxml)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_xmlxml)|"InternalServerError"->`InternalServerError(InternalServerError.of_xmlxml)|"RateLimitError"->`RateLimitError(RateLimitError.of_xmlxml)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_xmlxml)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestErrore->`Assoc[("error",(`String"BadRequestError"));("details",(BadRequestError.to_jsone))]|`ForbiddenErrore->`Assoc[("error",(`String"ForbiddenError"));("details",(ForbiddenError.to_jsone))]|`InternalServerErrore->`Assoc[("error",(`String"InternalServerError"));("details",(InternalServerError.to_jsone))]|`RateLimitErrore->`Assoc[("error",(`String"RateLimitError"));("details",(RateLimitError.to_jsone))]|`ResourceNotFoundErrore->`Assoc[("error",(`String"ResourceNotFoundError"));("details",(ResourceNotFoundError.to_jsone))]|`UnauthorizedErrore->`Assoc[("error",(`String"UnauthorizedError"));("details",(UnauthorizedError.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("nextToken",(Option.mapx.nextToken~f:GenericString.to_value));("guestlist",(Option.mapx.guestlist~f:GuestUserList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letguestlist=(Option.map~f:GuestUserList.of_xml)(Xml.childxml_arg0"guestlist")inletnextToken=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"nextToken")inmake?guestlist?nextToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letguestlist=field_mapjson__"guestlist"GuestUserList.of_jsoninletnextToken=field_mapjson__"nextToken"GenericString.of_jsoninmake?guestlist?nextToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves a paginated list of guest users who have communicated with your Wickr network. Guest users are external users from federated networks who can communicate with network members."]moduleListGuestUsersRequest=structtypenonrect={networkId:NetworkId.t[@ocaml.doc"The ID of the Wickr network from which to list guest users."];maxResults:Integer.toption[@ocaml.doc"The maximum number of guest users to return in a single page. Valid range is 1-100. Default is 10."];sortDirection:SortDirection.toption[@ocaml.doc"The direction to sort results. Valid values are 'ASC' (ascending) or 'DESC' (descending). Default is 'DESC'."];sortFields:GenericString.toption[@ocaml.doc"The field to sort guest users by. Accepted values include 'username' and 'billingPeriod'."];username:GenericString.toption[@ocaml.doc"Filter results to only include guest users with usernames matching this value."];billingPeriod:GenericString.toption[@ocaml.doc"Filter results to only include guest users from this billing period (e.g., '2024-01')."];nextToken:GenericString.toption[@ocaml.doc"The token for retrieving the next page of results. This is returned from a previous request when there are more results available."]}letcontext_="ListGuestUsersRequest"letmake?maxResults=fun?sortDirection->fun?sortFields->fun?username->fun?billingPeriod->fun?nextToken->fun~networkId->fun()->{maxResults;sortDirection;sortFields;username;billingPeriod;nextToken;networkId}letto_valuex=structure_to_value[("networkId",(Some(NetworkId.to_valuex.networkId)));("maxResults",(Option.mapx.maxResults~f:Integer.to_value));("sortDirection",(Option.mapx.sortDirection~f:SortDirection.to_value));("sortFields",(Option.mapx.sortFields~f:GenericString.to_value));("username",(Option.mapx.username~f:GenericString.to_value));("billingPeriod",(Option.mapx.billingPeriod~f:GenericString.to_value));("nextToken",(Option.mapx.nextToken~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"nextToken")inletbillingPeriod=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"billingPeriod")inletusername=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"username")inletsortFields=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"sortFields")inletsortDirection=(Option.map~f:SortDirection.of_xml)(Xml.childxml_arg0"sortDirection")inletmaxResults=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"maxResults")inletnetworkId=NetworkId.of_xml(Xml.child_exn~context:context_xml_arg0"networkId")inmake?nextToken?billingPeriod?username?sortFields?sortDirection?maxResults~networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"GenericString.of_jsoninletbillingPeriod=field_mapjson__"billingPeriod"GenericString.of_jsoninletusername=field_mapjson__"username"GenericString.of_jsoninletsortFields=field_mapjson__"sortFields"GenericString.of_jsoninletsortDirection=field_mapjson__"sortDirection"SortDirection.of_jsoninletmaxResults=field_mapjson__"maxResults"Integer.of_jsoninletnetworkId=field_map_exnjson__"networkId"NetworkId.of_jsoninmake?nextToken?billingPeriod?username?sortFields?sortDirection?maxResults~networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves a paginated list of guest users who have communicated with your Wickr network. Guest users are external users from federated networks who can communicate with network members."]moduleListDevicesForUserResponse=structtypenonrect={nextToken:GenericString.toption[@ocaml.doc"The token to use for retrieving the next page of results. If this is not present, there are no more results."];devices:Devices.toption[@ocaml.doc"A list of device objects associated with the user within the current page."]}typenonrecerror=[`BadRequestErrorofBadRequestError.t|`ForbiddenErrorofForbiddenError.t|`InternalServerErrorofInternalServerError.t|`RateLimitErrorofRateLimitError.t|`ResourceNotFoundErrorofResourceNotFoundError.t|`UnauthorizedErrorofUnauthorizedError.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?nextToken=fun?devices->fun()->{nextToken;devices}leterror_of_jsonnamejson=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_jsonjson)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_jsonjson)|"InternalServerError"->`InternalServerError(InternalServerError.of_jsonjson)|"RateLimitError"->`RateLimitError(RateLimitError.of_jsonjson)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_jsonjson)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_xmlxml)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_xmlxml)|"InternalServerError"->`InternalServerError(InternalServerError.of_xmlxml)|"RateLimitError"->`RateLimitError(RateLimitError.of_xmlxml)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_xmlxml)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestErrore->`Assoc[("error",(`String"BadRequestError"));("details",(BadRequestError.to_jsone))]|`ForbiddenErrore->`Assoc[("error",(`String"ForbiddenError"));("details",(ForbiddenError.to_jsone))]|`InternalServerErrore->`Assoc[("error",(`String"InternalServerError"));("details",(InternalServerError.to_jsone))]|`RateLimitErrore->`Assoc[("error",(`String"RateLimitError"));("details",(RateLimitError.to_jsone))]|`ResourceNotFoundErrore->`Assoc[("error",(`String"ResourceNotFoundError"));("details",(ResourceNotFoundError.to_jsone))]|`UnauthorizedErrore->`Assoc[("error",(`String"UnauthorizedError"));("details",(UnauthorizedError.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("nextToken",(Option.mapx.nextToken~f:GenericString.to_value));("devices",(Option.mapx.devices~f:Devices.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdevices=(Option.map~f:Devices.of_xml)(Xml.childxml_arg0"devices")inletnextToken=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"nextToken")inmake?devices?nextToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdevices=field_mapjson__"devices"Devices.of_jsoninletnextToken=field_mapjson__"nextToken"GenericString.of_jsoninmake?devices?nextToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves a paginated list of devices associated with a specific user in a Wickr network. This operation returns information about all devices where the user has logged into Wickr."]moduleListDevicesForUserRequest=structtypenonrect={networkId:NetworkId.t[@ocaml.doc"The ID of the Wickr network containing the user."];userId:UserId.t[@ocaml.doc"The unique identifier of the user whose devices will be listed."];nextToken:GenericString.toption[@ocaml.doc"The token for retrieving the next page of results. This is returned from a previous request when there are more results available."];maxResults:Integer.toption[@ocaml.doc"The maximum number of devices to return in a single page. Valid range is 1-100. Default is 10."];sortFields:GenericString.toption[@ocaml.doc"The fields to sort devices by. Multiple fields can be specified by separating them with '+'. Accepted values include 'lastlogin', 'type', 'suspend', and 'created'."];sortDirection:SortDirection.toption[@ocaml.doc"The direction to sort results. Valid values are 'ASC' (ascending) or 'DESC' (descending). Default is 'DESC'."]}letcontext_="ListDevicesForUserRequest"letmake?nextToken=fun?maxResults->fun?sortFields->fun?sortDirection->fun~networkId->fun~userId->fun()->{nextToken;maxResults;sortFields;sortDirection;networkId;userId}letto_valuex=structure_to_value[("networkId",(Some(NetworkId.to_valuex.networkId)));("userId",(Some(UserId.to_valuex.userId)));("nextToken",(Option.mapx.nextToken~f:GenericString.to_value));("maxResults",(Option.mapx.maxResults~f:Integer.to_value));("sortFields",(Option.mapx.sortFields~f:GenericString.to_value));("sortDirection",(Option.mapx.sortDirection~f:SortDirection.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsortDirection=(Option.map~f:SortDirection.of_xml)(Xml.childxml_arg0"sortDirection")inletsortFields=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"sortFields")inletmaxResults=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"nextToken")inletuserId=UserId.of_xml(Xml.child_exn~context:context_xml_arg0"userId")inletnetworkId=NetworkId.of_xml(Xml.child_exn~context:context_xml_arg0"networkId")inmake?sortDirection?sortFields?maxResults?nextToken~userId~networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsortDirection=field_mapjson__"sortDirection"SortDirection.of_jsoninletsortFields=field_mapjson__"sortFields"GenericString.of_jsoninletmaxResults=field_mapjson__"maxResults"Integer.of_jsoninletnextToken=field_mapjson__"nextToken"GenericString.of_jsoninletuserId=field_map_exnjson__"userId"UserId.of_jsoninletnetworkId=field_map_exnjson__"networkId"NetworkId.of_jsoninmake?sortDirection?sortFields?maxResults?nextToken~userId~networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves a paginated list of devices associated with a specific user in a Wickr network. This operation returns information about all devices where the user has logged into Wickr."]moduleListBotsResponse=structtypenonrect={bots:Bots.toption[@ocaml.doc"A list of bot objects matching the specified filters and within the current page."];nextToken:GenericString.toption[@ocaml.doc"The token to use for retrieving the next page of results. If this is not present, there are no more results."]}typenonrecerror=[`BadRequestErrorofBadRequestError.t|`ForbiddenErrorofForbiddenError.t|`InternalServerErrorofInternalServerError.t|`RateLimitErrorofRateLimitError.t|`ResourceNotFoundErrorofResourceNotFoundError.t|`UnauthorizedErrorofUnauthorizedError.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?bots=fun?nextToken->fun()->{bots;nextToken}leterror_of_jsonnamejson=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_jsonjson)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_jsonjson)|"InternalServerError"->`InternalServerError(InternalServerError.of_jsonjson)|"RateLimitError"->`RateLimitError(RateLimitError.of_jsonjson)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_jsonjson)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_xmlxml)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_xmlxml)|"InternalServerError"->`InternalServerError(InternalServerError.of_xmlxml)|"RateLimitError"->`RateLimitError(RateLimitError.of_xmlxml)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_xmlxml)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestErrore->`Assoc[("error",(`String"BadRequestError"));("details",(BadRequestError.to_jsone))]|`ForbiddenErrore->`Assoc[("error",(`String"ForbiddenError"));("details",(ForbiddenError.to_jsone))]|`InternalServerErrore->`Assoc[("error",(`String"InternalServerError"));("details",(InternalServerError.to_jsone))]|`RateLimitErrore->`Assoc[("error",(`String"RateLimitError"));("details",(RateLimitError.to_jsone))]|`ResourceNotFoundErrore->`Assoc[("error",(`String"ResourceNotFoundError"));("details",(ResourceNotFoundError.to_jsone))]|`UnauthorizedErrore->`Assoc[("error",(`String"UnauthorizedError"));("details",(UnauthorizedError.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("bots",(Option.mapx.bots~f:Bots.to_value));("nextToken",(Option.mapx.nextToken~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"nextToken")inletbots=(Option.map~f:Bots.of_xml)(Xml.childxml_arg0"bots")inmake?nextToken?bots()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"GenericString.of_jsoninletbots=field_mapjson__"bots"Bots.of_jsoninmake?nextToken?bots()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves a paginated list of bots in a specified Wickr network. You can filter and sort the results based on various criteria."]moduleListBotsRequest=structtypenonrect={networkId:NetworkId.t[@ocaml.doc"The ID of the Wickr network from which to list bots."];nextToken:GenericString.toption[@ocaml.doc"The token for retrieving the next page of results. This is returned from a previous request when there are more results available."];maxResults:Integer.toption[@ocaml.doc"The maximum number of bots to return in a single page. Valid range is 1-100. Default is 10."];sortFields:GenericString.toption[@ocaml.doc"The fields to sort bots by. Multiple fields can be specified by separating them with '+'. Accepted values include 'username', 'firstName', 'displayName', 'status', and 'groupId'."];sortDirection:SortDirection.toption[@ocaml.doc"The direction to sort results. Valid values are 'ASC' (ascending) or 'DESC' (descending). Default is 'DESC'."];displayName:GenericString.toption[@ocaml.doc"Filter results to only include bots with display names matching this value."];username:GenericString.toption[@ocaml.doc"Filter results to only include bots with usernames matching this value."];status:BotStatus.toption[@ocaml.doc"Filter results to only include bots with this status (1 for pending, 2 for active)."];groupId:GenericString.toption[@ocaml.doc"Filter results to only include bots belonging to this security group."]}letcontext_="ListBotsRequest"letmake?nextToken=fun?maxResults->fun?sortFields->fun?sortDirection->fun?displayName->fun?username->fun?status->fun?groupId->fun~networkId->fun()->{nextToken;maxResults;sortFields;sortDirection;displayName;username;status;groupId;networkId}letto_valuex=structure_to_value[("networkId",(Some(NetworkId.to_valuex.networkId)));("nextToken",(Option.mapx.nextToken~f:GenericString.to_value));("maxResults",(Option.mapx.maxResults~f:Integer.to_value));("sortFields",(Option.mapx.sortFields~f:GenericString.to_value));("sortDirection",(Option.mapx.sortDirection~f:SortDirection.to_value));("displayName",(Option.mapx.displayName~f:GenericString.to_value));("username",(Option.mapx.username~f:GenericString.to_value));("status",(Option.mapx.status~f:BotStatus.to_value));("groupId",(Option.mapx.groupId~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letgroupId=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"groupId")inletstatus=(Option.map~f:BotStatus.of_xml)(Xml.childxml_arg0"status")inletusername=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"username")inletdisplayName=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"displayName")inletsortDirection=(Option.map~f:SortDirection.of_xml)(Xml.childxml_arg0"sortDirection")inletsortFields=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"sortFields")inletmaxResults=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"nextToken")inletnetworkId=NetworkId.of_xml(Xml.child_exn~context:context_xml_arg0"networkId")inmake?groupId?status?username?displayName?sortDirection?sortFields?maxResults?nextToken~networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letgroupId=field_mapjson__"groupId"GenericString.of_jsoninletstatus=field_mapjson__"status"BotStatus.of_jsoninletusername=field_mapjson__"username"GenericString.of_jsoninletdisplayName=field_mapjson__"displayName"GenericString.of_jsoninletsortDirection=field_mapjson__"sortDirection"SortDirection.of_jsoninletsortFields=field_mapjson__"sortFields"GenericString.of_jsoninletmaxResults=field_mapjson__"maxResults"Integer.of_jsoninletnextToken=field_mapjson__"nextToken"GenericString.of_jsoninletnetworkId=field_map_exnjson__"networkId"NetworkId.of_jsoninmake?groupId?status?username?displayName?sortDirection?sortFields?maxResults?nextToken~networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves a paginated list of bots in a specified Wickr network. You can filter and sort the results based on various criteria."]moduleListBlockedGuestUsersResponse=structtypenonrect={nextToken:GenericString.toption[@ocaml.doc"The token to use for retrieving the next page of results. If this is not present, there are no more results."];blocklist:BlockedGuestUserList.toption[@ocaml.doc"A list of blocked guest user objects within the current page."]}typenonrecerror=[`BadRequestErrorofBadRequestError.t|`ForbiddenErrorofForbiddenError.t|`InternalServerErrorofInternalServerError.t|`RateLimitErrorofRateLimitError.t|`ResourceNotFoundErrorofResourceNotFoundError.t|`UnauthorizedErrorofUnauthorizedError.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?nextToken=fun?blocklist->fun()->{nextToken;blocklist}leterror_of_jsonnamejson=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_jsonjson)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_jsonjson)|"InternalServerError"->`InternalServerError(InternalServerError.of_jsonjson)|"RateLimitError"->`RateLimitError(RateLimitError.of_jsonjson)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_jsonjson)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_xmlxml)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_xmlxml)|"InternalServerError"->`InternalServerError(InternalServerError.of_xmlxml)|"RateLimitError"->`RateLimitError(RateLimitError.of_xmlxml)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_xmlxml)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestErrore->`Assoc[("error",(`String"BadRequestError"));("details",(BadRequestError.to_jsone))]|`ForbiddenErrore->`Assoc[("error",(`String"ForbiddenError"));("details",(ForbiddenError.to_jsone))]|`InternalServerErrore->`Assoc[("error",(`String"InternalServerError"));("details",(InternalServerError.to_jsone))]|`RateLimitErrore->`Assoc[("error",(`String"RateLimitError"));("details",(RateLimitError.to_jsone))]|`ResourceNotFoundErrore->`Assoc[("error",(`String"ResourceNotFoundError"));("details",(ResourceNotFoundError.to_jsone))]|`UnauthorizedErrore->`Assoc[("error",(`String"UnauthorizedError"));("details",(UnauthorizedError.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("nextToken",(Option.mapx.nextToken~f:GenericString.to_value));("blocklist",(Option.mapx.blocklist~f:BlockedGuestUserList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letblocklist=(Option.map~f:BlockedGuestUserList.of_xml)(Xml.childxml_arg0"blocklist")inletnextToken=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"nextToken")inmake?blocklist?nextToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letblocklist=field_mapjson__"blocklist"BlockedGuestUserList.of_jsoninletnextToken=field_mapjson__"nextToken"GenericString.of_jsoninmake?blocklist?nextToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves a paginated list of guest users who have been blocked from a Wickr network. You can filter and sort the results."]moduleListBlockedGuestUsersRequest=structtypenonrect={networkId:NetworkId.t[@ocaml.doc"The ID of the Wickr network from which to list blocked guest users."];maxResults:Integer.toption[@ocaml.doc"The maximum number of blocked guest users to return in a single page. Valid range is 1-100. Default is 10."];sortDirection:SortDirection.toption[@ocaml.doc"The direction to sort results. Valid values are 'ASC' (ascending) or 'DESC' (descending). Default is 'DESC'."];sortFields:GenericString.toption[@ocaml.doc"The field to sort blocked guest users by. Accepted values include 'username', 'admin', and 'modified'."];username:GenericString.toption[@ocaml.doc"Filter results to only include blocked guest users with usernames matching this value."];admin:GenericString.toption[@ocaml.doc"Filter results to only include blocked guest users that were blocked by this administrator."];nextToken:GenericString.toption[@ocaml.doc"The token for retrieving the next page of results. This is returned from a previous request when there are more results available."]}letcontext_="ListBlockedGuestUsersRequest"letmake?maxResults=fun?sortDirection->fun?sortFields->fun?username->fun?admin->fun?nextToken->fun~networkId->fun()->{maxResults;sortDirection;sortFields;username;admin;nextToken;networkId}letto_valuex=structure_to_value[("networkId",(Some(NetworkId.to_valuex.networkId)));("maxResults",(Option.mapx.maxResults~f:Integer.to_value));("sortDirection",(Option.mapx.sortDirection~f:SortDirection.to_value));("sortFields",(Option.mapx.sortFields~f:GenericString.to_value));("username",(Option.mapx.username~f:GenericString.to_value));("admin",(Option.mapx.admin~f:GenericString.to_value));("nextToken",(Option.mapx.nextToken~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"nextToken")inletadmin=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"admin")inletusername=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"username")inletsortFields=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"sortFields")inletsortDirection=(Option.map~f:SortDirection.of_xml)(Xml.childxml_arg0"sortDirection")inletmaxResults=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"maxResults")inletnetworkId=NetworkId.of_xml(Xml.child_exn~context:context_xml_arg0"networkId")inmake?nextToken?admin?username?sortFields?sortDirection?maxResults~networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"GenericString.of_jsoninletadmin=field_mapjson__"admin"GenericString.of_jsoninletusername=field_mapjson__"username"GenericString.of_jsoninletsortFields=field_mapjson__"sortFields"GenericString.of_jsoninletsortDirection=field_mapjson__"sortDirection"SortDirection.of_jsoninletmaxResults=field_mapjson__"maxResults"Integer.of_jsoninletnetworkId=field_map_exnjson__"networkId"NetworkId.of_jsoninmake?nextToken?admin?username?sortFields?sortDirection?maxResults~networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves a paginated list of guest users who have been blocked from a Wickr network. You can filter and sort the results."]moduleGetUsersCountResponse=structtypenonrect={pending:Integer.toption[@ocaml.doc"The number of users with pending status (invited but not yet accepted)."];active:Integer.toption[@ocaml.doc"The number of users with active status in the network."];rejected:Integer.toption[@ocaml.doc"The number of users who have rejected network invitations."];remaining:Integer.toption[@ocaml.doc"The number of additional users that can be added to the network while maintaining premium free trial eligibility."];total:Integer.toption[@ocaml.doc"The total number of users in the network (active and pending combined)."]}typenonrecerror=[`BadRequestErrorofBadRequestError.t|`ForbiddenErrorofForbiddenError.t|`InternalServerErrorofInternalServerError.t|`RateLimitErrorofRateLimitError.t|`ResourceNotFoundErrorofResourceNotFoundError.t|`UnauthorizedErrorofUnauthorizedError.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?pending=fun?active->fun?rejected->fun?remaining->fun?total->fun()->{pending;active;rejected;remaining;total}leterror_of_jsonnamejson=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_jsonjson)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_jsonjson)|"InternalServerError"->`InternalServerError(InternalServerError.of_jsonjson)|"RateLimitError"->`RateLimitError(RateLimitError.of_jsonjson)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_jsonjson)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_xmlxml)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_xmlxml)|"InternalServerError"->`InternalServerError(InternalServerError.of_xmlxml)|"RateLimitError"->`RateLimitError(RateLimitError.of_xmlxml)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_xmlxml)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestErrore->`Assoc[("error",(`String"BadRequestError"));("details",(BadRequestError.to_jsone))]|`ForbiddenErrore->`Assoc[("error",(`String"ForbiddenError"));("details",(ForbiddenError.to_jsone))]|`InternalServerErrore->`Assoc[("error",(`String"InternalServerError"));("details",(InternalServerError.to_jsone))]|`RateLimitErrore->`Assoc[("error",(`String"RateLimitError"));("details",(RateLimitError.to_jsone))]|`ResourceNotFoundErrore->`Assoc[("error",(`String"ResourceNotFoundError"));("details",(ResourceNotFoundError.to_jsone))]|`UnauthorizedErrore->`Assoc[("error",(`String"UnauthorizedError"));("details",(UnauthorizedError.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("pending",(Option.mapx.pending~f:Integer.to_value));("active",(Option.mapx.active~f:Integer.to_value));("rejected",(Option.mapx.rejected~f:Integer.to_value));("remaining",(Option.mapx.remaining~f:Integer.to_value));("total",(Option.mapx.total~f:Integer.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettotal=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"total")inletremaining=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"remaining")inletrejected=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"rejected")inletactive=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"active")inletpending=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"pending")inmake?total?remaining?rejected?active?pending()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettotal=field_mapjson__"total"Integer.of_jsoninletremaining=field_mapjson__"remaining"Integer.of_jsoninletrejected=field_mapjson__"rejected"Integer.of_jsoninletactive=field_mapjson__"active"Integer.of_jsoninletpending=field_mapjson__"pending"Integer.of_jsoninmake?total?remaining?rejected?active?pending()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the count of users in a Wickr network, categorized by their status (pending, active, rejected) and showing how many users can still be added."]moduleGetUsersCountRequest=structtypenonrect={networkId:NetworkId.t[@ocaml.doc"The ID of the Wickr network for which to retrieve user counts."]}letcontext_="GetUsersCountRequest"letmake~networkId=fun()->{networkId}letto_valuex=structure_to_value[("networkId",(Some(NetworkId.to_valuex.networkId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnetworkId=NetworkId.of_xml(Xml.child_exn~context:context_xml_arg0"networkId")inmake~networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnetworkId=field_map_exnjson__"networkId"NetworkId.of_jsoninmake~networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the count of users in a Wickr network, categorized by their status (pending, active, rejected) and showing how many users can still be added."]moduleGetUserResponse=structtypenonrect={userId:UserId.toption[@ocaml.doc"The unique identifier of the user."];firstName:SensitiveString.toption[@ocaml.doc"The first name of the user."];lastName:SensitiveString.toption[@ocaml.doc"The last name of the user."];username:GenericString.toption[@ocaml.doc"The email address or username of the user."];isAdmin:Boolean.toption[@ocaml.doc"Indicates whether the user has administrator privileges in the network."];suspended:Boolean.toption[@ocaml.doc"Indicates whether the user is currently suspended."];status:Integer.toption[@ocaml.doc"The current status of the user (1 for pending, 2 for active)."];lastActivity:Integer.toption[@ocaml.doc"The timestamp of the user's last activity in the network, specified in epoch seconds."];lastLogin:Integer.toption[@ocaml.doc"The timestamp of the user's last login to the network, specified in epoch seconds."];securityGroupIds:SecurityGroupIdList.toption[@ocaml.doc"A list of security group IDs to which the user belongs."]}typenonrecerror=[`BadRequestErrorofBadRequestError.t|`ForbiddenErrorofForbiddenError.t|`InternalServerErrorofInternalServerError.t|`RateLimitErrorofRateLimitError.t|`ResourceNotFoundErrorofResourceNotFoundError.t|`UnauthorizedErrorofUnauthorizedError.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?userId=fun?firstName->fun?lastName->fun?username->fun?isAdmin->fun?suspended->fun?status->fun?lastActivity->fun?lastLogin->fun?securityGroupIds->fun()->{userId;firstName;lastName;username;isAdmin;suspended;status;lastActivity;lastLogin;securityGroupIds}leterror_of_jsonnamejson=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_jsonjson)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_jsonjson)|"InternalServerError"->`InternalServerError(InternalServerError.of_jsonjson)|"RateLimitError"->`RateLimitError(RateLimitError.of_jsonjson)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_jsonjson)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_xmlxml)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_xmlxml)|"InternalServerError"->`InternalServerError(InternalServerError.of_xmlxml)|"RateLimitError"->`RateLimitError(RateLimitError.of_xmlxml)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_xmlxml)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestErrore->`Assoc[("error",(`String"BadRequestError"));("details",(BadRequestError.to_jsone))]|`ForbiddenErrore->`Assoc[("error",(`String"ForbiddenError"));("details",(ForbiddenError.to_jsone))]|`InternalServerErrore->`Assoc[("error",(`String"InternalServerError"));("details",(InternalServerError.to_jsone))]|`RateLimitErrore->`Assoc[("error",(`String"RateLimitError"));("details",(RateLimitError.to_jsone))]|`ResourceNotFoundErrore->`Assoc[("error",(`String"ResourceNotFoundError"));("details",(ResourceNotFoundError.to_jsone))]|`UnauthorizedErrore->`Assoc[("error",(`String"UnauthorizedError"));("details",(UnauthorizedError.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("userId",(Option.mapx.userId~f:UserId.to_value));("firstName",(Option.mapx.firstName~f:SensitiveString.to_value));("lastName",(Option.mapx.lastName~f:SensitiveString.to_value));("username",(Option.mapx.username~f:GenericString.to_value));("isAdmin",(Option.mapx.isAdmin~f:Boolean.to_value));("suspended",(Option.mapx.suspended~f:Boolean.to_value));("status",(Option.mapx.status~f:Integer.to_value));("lastActivity",(Option.mapx.lastActivity~f:Integer.to_value));("lastLogin",(Option.mapx.lastLogin~f:Integer.to_value));("securityGroupIds",(Option.mapx.securityGroupIds~f:SecurityGroupIdList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsecurityGroupIds=(Option.map~f:SecurityGroupIdList.of_xml)(Xml.childxml_arg0"securityGroupIds")inletlastLogin=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"lastLogin")inletlastActivity=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"lastActivity")inletstatus=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"status")inletsuspended=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"suspended")inletisAdmin=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"isAdmin")inletusername=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"username")inletlastName=(Option.map~f:SensitiveString.of_xml)(Xml.childxml_arg0"lastName")inletfirstName=(Option.map~f:SensitiveString.of_xml)(Xml.childxml_arg0"firstName")inletuserId=(Option.map~f:UserId.of_xml)(Xml.childxml_arg0"userId")inmake?securityGroupIds?lastLogin?lastActivity?status?suspended?isAdmin?username?lastName?firstName?userId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsecurityGroupIds=field_mapjson__"securityGroupIds"SecurityGroupIdList.of_jsoninletlastLogin=field_mapjson__"lastLogin"Integer.of_jsoninletlastActivity=field_mapjson__"lastActivity"Integer.of_jsoninletstatus=field_mapjson__"status"Integer.of_jsoninletsuspended=field_mapjson__"suspended"Boolean.of_jsoninletisAdmin=field_mapjson__"isAdmin"Boolean.of_jsoninletusername=field_mapjson__"username"GenericString.of_jsoninletlastName=field_mapjson__"lastName"SensitiveString.of_jsoninletfirstName=field_mapjson__"firstName"SensitiveString.of_jsoninletuserId=field_mapjson__"userId"UserId.of_jsoninmake?securityGroupIds?lastLogin?lastActivity?status?suspended?isAdmin?username?lastName?firstName?userId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves detailed information about a specific user in a Wickr network, including their profile, status, and activity history."]moduleGetUserRequest=structtypenonrect={networkId:NetworkId.t[@ocaml.doc"The ID of the Wickr network containing the user."];userId:UserId.t[@ocaml.doc"The unique identifier of the user to retrieve."];startTime:SyntheticTimestamp_epoch_seconds.toption[@ocaml.doc"The start time for filtering the user's last activity. Only activity after this timestamp will be considered. Time is specified in epoch seconds."];endTime:SyntheticTimestamp_epoch_seconds.toption[@ocaml.doc"The end time for filtering the user's last activity. Only activity before this timestamp will be considered. Time is specified in epoch seconds."]}letcontext_="GetUserRequest"letmake?startTime=fun?endTime->fun~networkId->fun~userId->fun()->{startTime;endTime;networkId;userId}letto_valuex=structure_to_value[("networkId",(Some(NetworkId.to_valuex.networkId)));("userId",(Some(UserId.to_valuex.userId)));("startTime",(Option.mapx.startTime~f:SyntheticTimestamp_epoch_seconds.to_value));("endTime",(Option.mapx.endTime~f:SyntheticTimestamp_epoch_seconds.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letendTime=(Option.map~f:SyntheticTimestamp_epoch_seconds.of_xml)(Xml.childxml_arg0"endTime")inletstartTime=(Option.map~f:SyntheticTimestamp_epoch_seconds.of_xml)(Xml.childxml_arg0"startTime")inletuserId=UserId.of_xml(Xml.child_exn~context:context_xml_arg0"userId")inletnetworkId=NetworkId.of_xml(Xml.child_exn~context:context_xml_arg0"networkId")inmake?endTime?startTime~userId~networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letendTime=field_mapjson__"endTime"SyntheticTimestamp_epoch_seconds.of_jsoninletstartTime=field_mapjson__"startTime"SyntheticTimestamp_epoch_seconds.of_jsoninletuserId=field_map_exnjson__"userId"UserId.of_jsoninletnetworkId=field_map_exnjson__"networkId"NetworkId.of_jsoninmake?endTime?startTime~userId~networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves detailed information about a specific user in a Wickr network, including their profile, status, and activity history."]moduleGetSecurityGroupResponse=structtypenonrect={securityGroup:SecurityGroup.toption[@ocaml.doc"The detailed information about the security group, including all its settings and member counts."]}typenonrecerror=[`BadRequestErrorofBadRequestError.t|`ForbiddenErrorofForbiddenError.t|`InternalServerErrorofInternalServerError.t|`RateLimitErrorofRateLimitError.t|`ResourceNotFoundErrorofResourceNotFoundError.t|`UnauthorizedErrorofUnauthorizedError.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?securityGroup=fun()->{securityGroup}leterror_of_jsonnamejson=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_jsonjson)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_jsonjson)|"InternalServerError"->`InternalServerError(InternalServerError.of_jsonjson)|"RateLimitError"->`RateLimitError(RateLimitError.of_jsonjson)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_jsonjson)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_xmlxml)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_xmlxml)|"InternalServerError"->`InternalServerError(InternalServerError.of_xmlxml)|"RateLimitError"->`RateLimitError(RateLimitError.of_xmlxml)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_xmlxml)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestErrore->`Assoc[("error",(`String"BadRequestError"));("details",(BadRequestError.to_jsone))]|`ForbiddenErrore->`Assoc[("error",(`String"ForbiddenError"));("details",(ForbiddenError.to_jsone))]|`InternalServerErrore->`Assoc[("error",(`String"InternalServerError"));("details",(InternalServerError.to_jsone))]|`RateLimitErrore->`Assoc[("error",(`String"RateLimitError"));("details",(RateLimitError.to_jsone))]|`ResourceNotFoundErrore->`Assoc[("error",(`String"ResourceNotFoundError"));("details",(ResourceNotFoundError.to_jsone))]|`UnauthorizedErrore->`Assoc[("error",(`String"UnauthorizedError"));("details",(UnauthorizedError.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("securityGroup",(Option.mapx.securityGroup~f:SecurityGroup.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsecurityGroup=(Option.map~f:SecurityGroup.of_xml)(Xml.childxml_arg0"securityGroup")inmake?securityGroup()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsecurityGroup=field_mapjson__"securityGroup"SecurityGroup.of_jsoninmake?securityGroup()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves detailed information about a specific security group in a Wickr network, including its settings, member counts, and configuration."]moduleGetSecurityGroupRequest=structtypenonrect={networkId:NetworkId.t[@ocaml.doc"The ID of the Wickr network containing the security group."];groupId:GenericString.t[@ocaml.doc"The unique identifier of the security group to retrieve."]}letcontext_="GetSecurityGroupRequest"letmake~networkId=fun~groupId->fun()->{networkId;groupId}letto_valuex=structure_to_value[("networkId",(Some(NetworkId.to_valuex.networkId)));("groupId",(Some(GenericString.to_valuex.groupId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letgroupId=GenericString.of_xml(Xml.child_exn~context:context_xml_arg0"groupId")inletnetworkId=NetworkId.of_xml(Xml.child_exn~context:context_xml_arg0"networkId")inmake~groupId~networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letgroupId=field_map_exnjson__"groupId"GenericString.of_jsoninletnetworkId=field_map_exnjson__"networkId"NetworkId.of_jsoninmake~groupId~networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves detailed information about a specific security group in a Wickr network, including its settings, member counts, and configuration."]moduleGetOpentdfConfigResponse=structtypenonrect={clientId:GenericString.toption[@ocaml.doc"The OIDC client ID used for authenticating with the OpenTDF provider."];domain:GenericString.toption[@ocaml.doc"The domain of the OpenTDF server."];clientSecret:SensitiveString.toption[@ocaml.doc"The OIDC client secret used for authenticating with the OpenTDF provider."];provider:GenericString.toption[@ocaml.doc"The provider of the OpenTDF platform."]}typenonrecerror=[`BadRequestErrorofBadRequestError.t|`ForbiddenErrorofForbiddenError.t|`InternalServerErrorofInternalServerError.t|`RateLimitErrorofRateLimitError.t|`ResourceNotFoundErrorofResourceNotFoundError.t|`UnauthorizedErrorofUnauthorizedError.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?clientId=fun?domain->fun?clientSecret->fun?provider->fun()->{clientId;domain;clientSecret;provider}leterror_of_jsonnamejson=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_jsonjson)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_jsonjson)|"InternalServerError"->`InternalServerError(InternalServerError.of_jsonjson)|"RateLimitError"->`RateLimitError(RateLimitError.of_jsonjson)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_jsonjson)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_xmlxml)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_xmlxml)|"InternalServerError"->`InternalServerError(InternalServerError.of_xmlxml)|"RateLimitError"->`RateLimitError(RateLimitError.of_xmlxml)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_xmlxml)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestErrore->`Assoc[("error",(`String"BadRequestError"));("details",(BadRequestError.to_jsone))]|`ForbiddenErrore->`Assoc[("error",(`String"ForbiddenError"));("details",(ForbiddenError.to_jsone))]|`InternalServerErrore->`Assoc[("error",(`String"InternalServerError"));("details",(InternalServerError.to_jsone))]|`RateLimitErrore->`Assoc[("error",(`String"RateLimitError"));("details",(RateLimitError.to_jsone))]|`ResourceNotFoundErrore->`Assoc[("error",(`String"ResourceNotFoundError"));("details",(ResourceNotFoundError.to_jsone))]|`UnauthorizedErrore->`Assoc[("error",(`String"UnauthorizedError"));("details",(UnauthorizedError.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("clientId",(Option.mapx.clientId~f:GenericString.to_value));("domain",(Option.mapx.domain~f:GenericString.to_value));("clientSecret",(Option.mapx.clientSecret~f:SensitiveString.to_value));("provider",(Option.mapx.provider~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letprovider=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"provider")inletclientSecret=(Option.map~f:SensitiveString.of_xml)(Xml.childxml_arg0"clientSecret")inletdomain=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"domain")inletclientId=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"clientId")inmake?provider?clientSecret?domain?clientId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letprovider=field_mapjson__"provider"GenericString.of_jsoninletclientSecret=field_mapjson__"clientSecret"SensitiveString.of_jsoninletdomain=field_mapjson__"domain"GenericString.of_jsoninletclientId=field_mapjson__"clientId"GenericString.of_jsoninmake?provider?clientSecret?domain?clientId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the OpenTDF integration configuration for a Wickr network."]moduleGetOpentdfConfigRequest=structtypenonrect={networkId:NetworkId.t[@ocaml.doc"The ID of the Wickr network for which OpenTDF integration will be retrieved."]}letcontext_="GetOpentdfConfigRequest"letmake~networkId=fun()->{networkId}letto_valuex=structure_to_value[("networkId",(Some(NetworkId.to_valuex.networkId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnetworkId=NetworkId.of_xml(Xml.child_exn~context:context_xml_arg0"networkId")inmake~networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnetworkId=field_map_exnjson__"networkId"NetworkId.of_jsoninmake~networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the OpenTDF integration configuration for a Wickr network."]moduleGetOidcInfoResponse=structtypenonrect={openidConnectInfo:OidcConfigInfo.toption[@ocaml.doc"The OpenID Connect configuration information for the network, including issuer, client ID, scopes, and other SSO settings."];tokenInfo:OidcTokenInfo.toption[@ocaml.doc"OAuth token information including access token, refresh token, and expiration details (only present if token parameters were provided in the request)."]}typenonrecerror=[`BadRequestErrorofBadRequestError.t|`ForbiddenErrorofForbiddenError.t|`InternalServerErrorofInternalServerError.t|`RateLimitErrorofRateLimitError.t|`ResourceNotFoundErrorofResourceNotFoundError.t|`UnauthorizedErrorofUnauthorizedError.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?openidConnectInfo=fun?tokenInfo->fun()->{openidConnectInfo;tokenInfo}leterror_of_jsonnamejson=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_jsonjson)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_jsonjson)|"InternalServerError"->`InternalServerError(InternalServerError.of_jsonjson)|"RateLimitError"->`RateLimitError(RateLimitError.of_jsonjson)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_jsonjson)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_xmlxml)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_xmlxml)|"InternalServerError"->`InternalServerError(InternalServerError.of_xmlxml)|"RateLimitError"->`RateLimitError(RateLimitError.of_xmlxml)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_xmlxml)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestErrore->`Assoc[("error",(`String"BadRequestError"));("details",(BadRequestError.to_jsone))]|`ForbiddenErrore->`Assoc[("error",(`String"ForbiddenError"));("details",(ForbiddenError.to_jsone))]|`InternalServerErrore->`Assoc[("error",(`String"InternalServerError"));("details",(InternalServerError.to_jsone))]|`RateLimitErrore->`Assoc[("error",(`String"RateLimitError"));("details",(RateLimitError.to_jsone))]|`ResourceNotFoundErrore->`Assoc[("error",(`String"ResourceNotFoundError"));("details",(ResourceNotFoundError.to_jsone))]|`UnauthorizedErrore->`Assoc[("error",(`String"UnauthorizedError"));("details",(UnauthorizedError.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("openidConnectInfo",(Option.mapx.openidConnectInfo~f:OidcConfigInfo.to_value));("tokenInfo",(Option.mapx.tokenInfo~f:OidcTokenInfo.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettokenInfo=(Option.map~f:OidcTokenInfo.of_xml)(Xml.childxml_arg0"tokenInfo")inletopenidConnectInfo=(Option.map~f:OidcConfigInfo.of_xml)(Xml.childxml_arg0"openidConnectInfo")inmake?tokenInfo?openidConnectInfo()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettokenInfo=field_mapjson__"tokenInfo"OidcTokenInfo.of_jsoninletopenidConnectInfo=field_mapjson__"openidConnectInfo"OidcConfigInfo.of_jsoninmake?tokenInfo?openidConnectInfo()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the OpenID Connect (OIDC) configuration for a Wickr network, including SSO settings and optional token information if access token parameters are provided."]moduleGetOidcInfoRequest=structtypenonrect={networkId:NetworkId.t[@ocaml.doc"The ID of the Wickr network whose OIDC configuration will be retrieved."];clientId:GenericString.toption[@ocaml.doc"The OAuth client ID for retrieving access tokens (optional)."];code:GenericString.toption[@ocaml.doc"The authorization code for retrieving access tokens (optional)."];grantType:GenericString.toption[@ocaml.doc"The OAuth grant type for retrieving access tokens (optional)."];redirectUri:GenericString.toption[@ocaml.doc"The redirect URI for the OAuth flow (optional)."];url:GenericString.toption[@ocaml.doc"The URL for the OIDC provider (optional)."];clientSecret:SensitiveString.toption[@ocaml.doc"The OAuth client secret for retrieving access tokens (optional)."];codeVerifier:GenericString.toption[@ocaml.doc"The PKCE code verifier for enhanced security in the OAuth flow (optional)."];certificate:GenericString.toption[@ocaml.doc"The CA certificate for secure communication with the OIDC provider (optional)."]}letcontext_="GetOidcInfoRequest"letmake?clientId=fun?code->fun?grantType->fun?redirectUri->fun?url->fun?clientSecret->fun?codeVerifier->fun?certificate->fun~networkId->fun()->{clientId;code;grantType;redirectUri;url;clientSecret;codeVerifier;certificate;networkId}letto_valuex=structure_to_value[("networkId",(Some(NetworkId.to_valuex.networkId)));("clientId",(Option.mapx.clientId~f:GenericString.to_value));("code",(Option.mapx.code~f:GenericString.to_value));("grantType",(Option.mapx.grantType~f:GenericString.to_value));("redirectUri",(Option.mapx.redirectUri~f:GenericString.to_value));("url",(Option.mapx.url~f:GenericString.to_value));("clientSecret",(Option.mapx.clientSecret~f:SensitiveString.to_value));("codeVerifier",(Option.mapx.codeVerifier~f:GenericString.to_value));("certificate",(Option.mapx.certificate~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcertificate=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"certificate")inletcodeVerifier=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"codeVerifier")inletclientSecret=(Option.map~f:SensitiveString.of_xml)(Xml.childxml_arg0"clientSecret")inleturl=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"url")inletredirectUri=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"redirectUri")inletgrantType=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"grantType")inletcode=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"code")inletclientId=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"clientId")inletnetworkId=NetworkId.of_xml(Xml.child_exn~context:context_xml_arg0"networkId")inmake?certificate?codeVerifier?clientSecret?url?redirectUri?grantType?code?clientId~networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcertificate=field_mapjson__"certificate"GenericString.of_jsoninletcodeVerifier=field_mapjson__"codeVerifier"GenericString.of_jsoninletclientSecret=field_mapjson__"clientSecret"SensitiveString.of_jsoninleturl=field_mapjson__"url"GenericString.of_jsoninletredirectUri=field_mapjson__"redirectUri"GenericString.of_jsoninletgrantType=field_mapjson__"grantType"GenericString.of_jsoninletcode=field_mapjson__"code"GenericString.of_jsoninletclientId=field_mapjson__"clientId"GenericString.of_jsoninletnetworkId=field_map_exnjson__"networkId"NetworkId.of_jsoninmake?certificate?codeVerifier?clientSecret?url?redirectUri?grantType?code?clientId~networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the OpenID Connect (OIDC) configuration for a Wickr network, including SSO settings and optional token information if access token parameters are provided."]moduleGetNetworkSettingsResponse=structtypenonrect={settings:SettingsList.toption[@ocaml.doc"A list of network settings, where each setting includes a name, value, and type."]}typenonrecerror=[`BadRequestErrorofBadRequestError.t|`ForbiddenErrorofForbiddenError.t|`InternalServerErrorofInternalServerError.t|`RateLimitErrorofRateLimitError.t|`ResourceNotFoundErrorofResourceNotFoundError.t|`UnauthorizedErrorofUnauthorizedError.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?settings=fun()->{settings}leterror_of_jsonnamejson=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_jsonjson)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_jsonjson)|"InternalServerError"->`InternalServerError(InternalServerError.of_jsonjson)|"RateLimitError"->`RateLimitError(RateLimitError.of_jsonjson)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_jsonjson)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_xmlxml)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_xmlxml)|"InternalServerError"->`InternalServerError(InternalServerError.of_xmlxml)|"RateLimitError"->`RateLimitError(RateLimitError.of_xmlxml)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_xmlxml)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestErrore->`Assoc[("error",(`String"BadRequestError"));("details",(BadRequestError.to_jsone))]|`ForbiddenErrore->`Assoc[("error",(`String"ForbiddenError"));("details",(ForbiddenError.to_jsone))]|`InternalServerErrore->`Assoc[("error",(`String"InternalServerError"));("details",(InternalServerError.to_jsone))]|`RateLimitErrore->`Assoc[("error",(`String"RateLimitError"));("details",(RateLimitError.to_jsone))]|`ResourceNotFoundErrore->`Assoc[("error",(`String"ResourceNotFoundError"));("details",(ResourceNotFoundError.to_jsone))]|`UnauthorizedErrore->`Assoc[("error",(`String"UnauthorizedError"));("details",(UnauthorizedError.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("settings",(Option.mapx.settings~f:SettingsList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsettings=(Option.map~f:SettingsList.of_xml)(Xml.childxml_arg0"settings")inmake?settings()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsettings=field_mapjson__"settings"SettingsList.of_jsoninmake?settings()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves all network-level settings for a Wickr network, including client metrics, data retention, and other configuration options."]moduleGetNetworkSettingsRequest=structtypenonrect={networkId:NetworkId.t[@ocaml.doc"The ID of the Wickr network whose settings will be retrieved."]}letcontext_="GetNetworkSettingsRequest"letmake~networkId=fun()->{networkId}letto_valuex=structure_to_value[("networkId",(Some(NetworkId.to_valuex.networkId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnetworkId=NetworkId.of_xml(Xml.child_exn~context:context_xml_arg0"networkId")inmake~networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnetworkId=field_map_exnjson__"networkId"NetworkId.of_jsoninmake~networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves all network-level settings for a Wickr network, including client metrics, data retention, and other configuration options."]moduleGetNetworkResponse=structtypenonrect={networkId:NetworkId.toption[@ocaml.doc"The unique identifier of the network."];networkName:GenericString.toption[@ocaml.doc"The name of the network."];accessLevel:AccessLevel.toption[@ocaml.doc"The access level of the network (STANDARD or PREMIUM), which determines available features and capabilities."];awsAccountId:GenericString.toption[@ocaml.doc"The Amazon Web Services account ID that owns the network."];networkArn:GenericString.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the network."];standing:Integer.toption[@ocaml.doc"The current standing or status of the network."];freeTrialExpiration:GenericString.toption[@ocaml.doc"The expiration date and time for the network's free trial period, if applicable."];migrationState:Integer.toption[@ocaml.doc"The SSO redirect URI migration state, managed by the SSO redirect migration wizard. Values: 0 (not started), 1 (in progress), or 2 (completed)."];encryptionKeyArn:GenericString.toption[@ocaml.doc"The ARN of the Amazon Web Services KMS customer managed key used for encrypting sensitive data in the network."]}typenonrecerror=[`BadRequestErrorofBadRequestError.t|`ForbiddenErrorofForbiddenError.t|`InternalServerErrorofInternalServerError.t|`RateLimitErrorofRateLimitError.t|`ResourceNotFoundErrorofResourceNotFoundError.t|`UnauthorizedErrorofUnauthorizedError.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?networkId=fun?networkName->fun?accessLevel->fun?awsAccountId->fun?networkArn->fun?standing->fun?freeTrialExpiration->fun?migrationState->fun?encryptionKeyArn->fun()->{networkId;networkName;accessLevel;awsAccountId;networkArn;standing;freeTrialExpiration;migrationState;encryptionKeyArn}leterror_of_jsonnamejson=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_jsonjson)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_jsonjson)|"InternalServerError"->`InternalServerError(InternalServerError.of_jsonjson)|"RateLimitError"->`RateLimitError(RateLimitError.of_jsonjson)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_jsonjson)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_xmlxml)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_xmlxml)|"InternalServerError"->`InternalServerError(InternalServerError.of_xmlxml)|"RateLimitError"->`RateLimitError(RateLimitError.of_xmlxml)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_xmlxml)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestErrore->`Assoc[("error",(`String"BadRequestError"));("details",(BadRequestError.to_jsone))]|`ForbiddenErrore->`Assoc[("error",(`String"ForbiddenError"));("details",(ForbiddenError.to_jsone))]|`InternalServerErrore->`Assoc[("error",(`String"InternalServerError"));("details",(InternalServerError.to_jsone))]|`RateLimitErrore->`Assoc[("error",(`String"RateLimitError"));("details",(RateLimitError.to_jsone))]|`ResourceNotFoundErrore->`Assoc[("error",(`String"ResourceNotFoundError"));("details",(ResourceNotFoundError.to_jsone))]|`UnauthorizedErrore->`Assoc[("error",(`String"UnauthorizedError"));("details",(UnauthorizedError.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("networkId",(Option.mapx.networkId~f:NetworkId.to_value));("networkName",(Option.mapx.networkName~f:GenericString.to_value));("accessLevel",(Option.mapx.accessLevel~f:AccessLevel.to_value));("awsAccountId",(Option.mapx.awsAccountId~f:GenericString.to_value));("networkArn",(Option.mapx.networkArn~f:GenericString.to_value));("standing",(Option.mapx.standing~f:Integer.to_value));("freeTrialExpiration",(Option.mapx.freeTrialExpiration~f:GenericString.to_value));("migrationState",(Option.mapx.migrationState~f:Integer.to_value));("encryptionKeyArn",(Option.mapx.encryptionKeyArn~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letencryptionKeyArn=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"encryptionKeyArn")inletmigrationState=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"migrationState")inletfreeTrialExpiration=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"freeTrialExpiration")inletstanding=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"standing")inletnetworkArn=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"networkArn")inletawsAccountId=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"awsAccountId")inletaccessLevel=(Option.map~f:AccessLevel.of_xml)(Xml.childxml_arg0"accessLevel")inletnetworkName=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"networkName")inletnetworkId=(Option.map~f:NetworkId.of_xml)(Xml.childxml_arg0"networkId")inmake?encryptionKeyArn?migrationState?freeTrialExpiration?standing?networkArn?awsAccountId?accessLevel?networkName?networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letencryptionKeyArn=field_mapjson__"encryptionKeyArn"GenericString.of_jsoninletmigrationState=field_mapjson__"migrationState"Integer.of_jsoninletfreeTrialExpiration=field_mapjson__"freeTrialExpiration"GenericString.of_jsoninletstanding=field_mapjson__"standing"Integer.of_jsoninletnetworkArn=field_mapjson__"networkArn"GenericString.of_jsoninletawsAccountId=field_mapjson__"awsAccountId"GenericString.of_jsoninletaccessLevel=field_mapjson__"accessLevel"AccessLevel.of_jsoninletnetworkName=field_mapjson__"networkName"GenericString.of_jsoninletnetworkId=field_mapjson__"networkId"NetworkId.of_jsoninmake?encryptionKeyArn?migrationState?freeTrialExpiration?standing?networkArn?awsAccountId?accessLevel?networkName?networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves detailed information about a specific Wickr network, including its configuration, access level, and status."]moduleGetNetworkRequest=structtypenonrect={networkId:NetworkId.t[@ocaml.doc"The ID of the Wickr network to retrieve."]}letcontext_="GetNetworkRequest"letmake~networkId=fun()->{networkId}letto_valuex=structure_to_value[("networkId",(Some(NetworkId.to_valuex.networkId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnetworkId=NetworkId.of_xml(Xml.child_exn~context:context_xml_arg0"networkId")inmake~networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnetworkId=field_map_exnjson__"networkId"NetworkId.of_jsoninmake~networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves detailed information about a specific Wickr network, including its configuration, access level, and status."]moduleGetGuestUserHistoryCountResponse=structtypenonrect={history:GuestUserHistoryCountList.toption[@ocaml.doc"A list of historical guest user counts, organized by month and billing period."]}typenonrecerror=[`BadRequestErrorofBadRequestError.t|`ForbiddenErrorofForbiddenError.t|`InternalServerErrorofInternalServerError.t|`RateLimitErrorofRateLimitError.t|`ResourceNotFoundErrorofResourceNotFoundError.t|`UnauthorizedErrorofUnauthorizedError.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?history=fun()->{history}leterror_of_jsonnamejson=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_jsonjson)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_jsonjson)|"InternalServerError"->`InternalServerError(InternalServerError.of_jsonjson)|"RateLimitError"->`RateLimitError(RateLimitError.of_jsonjson)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_jsonjson)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_xmlxml)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_xmlxml)|"InternalServerError"->`InternalServerError(InternalServerError.of_xmlxml)|"RateLimitError"->`RateLimitError(RateLimitError.of_xmlxml)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_xmlxml)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestErrore->`Assoc[("error",(`String"BadRequestError"));("details",(BadRequestError.to_jsone))]|`ForbiddenErrore->`Assoc[("error",(`String"ForbiddenError"));("details",(ForbiddenError.to_jsone))]|`InternalServerErrore->`Assoc[("error",(`String"InternalServerError"));("details",(InternalServerError.to_jsone))]|`RateLimitErrore->`Assoc[("error",(`String"RateLimitError"));("details",(RateLimitError.to_jsone))]|`ResourceNotFoundErrore->`Assoc[("error",(`String"ResourceNotFoundError"));("details",(ResourceNotFoundError.to_jsone))]|`UnauthorizedErrore->`Assoc[("error",(`String"UnauthorizedError"));("details",(UnauthorizedError.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("history",(Option.mapx.history~f:GuestUserHistoryCountList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lethistory=(Option.map~f:GuestUserHistoryCountList.of_xml)(Xml.childxml_arg0"history")inmake?history()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lethistory=field_mapjson__"history"GuestUserHistoryCountList.of_jsoninmake?history()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves historical guest user count data for a Wickr network, showing the number of guest users per billing period over the past 90 days."]moduleGetGuestUserHistoryCountRequest=structtypenonrect={networkId:NetworkId.t[@ocaml.doc"The ID of the Wickr network for which to retrieve guest user history."]}letcontext_="GetGuestUserHistoryCountRequest"letmake~networkId=fun()->{networkId}letto_valuex=structure_to_value[("networkId",(Some(NetworkId.to_valuex.networkId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnetworkId=NetworkId.of_xml(Xml.child_exn~context:context_xml_arg0"networkId")inmake~networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnetworkId=field_map_exnjson__"networkId"NetworkId.of_jsoninmake~networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves historical guest user count data for a Wickr network, showing the number of guest users per billing period over the past 90 days."]moduleGetDataRetentionBotResponse=structtypenonrect={botName:GenericString.toption[@ocaml.doc"The name of the data retention bot."];botExists:Boolean.toption[@ocaml.doc"Indicates whether a data retention bot exists in the network."];isBotActive:Boolean.toption[@ocaml.doc"Indicates whether the data retention bot is active and operational."];isDataRetentionBotRegistered:Boolean.toption[@ocaml.doc"Indicates whether the data retention bot has been registered with the network."];isDataRetentionServiceEnabled:Boolean.toption[@ocaml.doc"Indicates whether the data retention service is enabled for the network."];isPubkeyMsgAcked:Boolean.toption[@ocaml.doc"Indicates whether the public key message has been acknowledged by the bot."]}typenonrecerror=[`BadRequestErrorofBadRequestError.t|`ForbiddenErrorofForbiddenError.t|`InternalServerErrorofInternalServerError.t|`RateLimitErrorofRateLimitError.t|`ResourceNotFoundErrorofResourceNotFoundError.t|`UnauthorizedErrorofUnauthorizedError.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?botName=fun?botExists->fun?isBotActive->fun?isDataRetentionBotRegistered->fun?isDataRetentionServiceEnabled->fun?isPubkeyMsgAcked->fun()->{botName;botExists;isBotActive;isDataRetentionBotRegistered;isDataRetentionServiceEnabled;isPubkeyMsgAcked}leterror_of_jsonnamejson=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_jsonjson)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_jsonjson)|"InternalServerError"->`InternalServerError(InternalServerError.of_jsonjson)|"RateLimitError"->`RateLimitError(RateLimitError.of_jsonjson)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_jsonjson)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_xmlxml)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_xmlxml)|"InternalServerError"->`InternalServerError(InternalServerError.of_xmlxml)|"RateLimitError"->`RateLimitError(RateLimitError.of_xmlxml)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_xmlxml)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestErrore->`Assoc[("error",(`String"BadRequestError"));("details",(BadRequestError.to_jsone))]|`ForbiddenErrore->`Assoc[("error",(`String"ForbiddenError"));("details",(ForbiddenError.to_jsone))]|`InternalServerErrore->`Assoc[("error",(`String"InternalServerError"));("details",(InternalServerError.to_jsone))]|`RateLimitErrore->`Assoc[("error",(`String"RateLimitError"));("details",(RateLimitError.to_jsone))]|`ResourceNotFoundErrore->`Assoc[("error",(`String"ResourceNotFoundError"));("details",(ResourceNotFoundError.to_jsone))]|`UnauthorizedErrore->`Assoc[("error",(`String"UnauthorizedError"));("details",(UnauthorizedError.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("botName",(Option.mapx.botName~f:GenericString.to_value));("botExists",(Option.mapx.botExists~f:Boolean.to_value));("isBotActive",(Option.mapx.isBotActive~f:Boolean.to_value));("isDataRetentionBotRegistered",(Option.mapx.isDataRetentionBotRegistered~f:Boolean.to_value));("isDataRetentionServiceEnabled",(Option.mapx.isDataRetentionServiceEnabled~f:Boolean.to_value));("isPubkeyMsgAcked",(Option.mapx.isPubkeyMsgAcked~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letisPubkeyMsgAcked=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"isPubkeyMsgAcked")inletisDataRetentionServiceEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"isDataRetentionServiceEnabled")inletisDataRetentionBotRegistered=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"isDataRetentionBotRegistered")inletisBotActive=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"isBotActive")inletbotExists=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"botExists")inletbotName=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"botName")inmake?isPubkeyMsgAcked?isDataRetentionServiceEnabled?isDataRetentionBotRegistered?isBotActive?botExists?botName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letisPubkeyMsgAcked=field_mapjson__"isPubkeyMsgAcked"Boolean.of_jsoninletisDataRetentionServiceEnabled=field_mapjson__"isDataRetentionServiceEnabled"Boolean.of_jsoninletisDataRetentionBotRegistered=field_mapjson__"isDataRetentionBotRegistered"Boolean.of_jsoninletisBotActive=field_mapjson__"isBotActive"Boolean.of_jsoninletbotExists=field_mapjson__"botExists"Boolean.of_jsoninletbotName=field_mapjson__"botName"GenericString.of_jsoninmake?isPubkeyMsgAcked?isDataRetentionServiceEnabled?isDataRetentionBotRegistered?isBotActive?botExists?botName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves information about the data retention bot in a Wickr network, including its status and whether the data retention service is enabled."]moduleGetDataRetentionBotRequest=structtypenonrect={networkId:NetworkId.t[@ocaml.doc"The ID of the Wickr network containing the data retention bot."]}letcontext_="GetDataRetentionBotRequest"letmake~networkId=fun()->{networkId}letto_valuex=structure_to_value[("networkId",(Some(NetworkId.to_valuex.networkId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnetworkId=NetworkId.of_xml(Xml.child_exn~context:context_xml_arg0"networkId")inmake~networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnetworkId=field_map_exnjson__"networkId"NetworkId.of_jsoninmake~networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves information about the data retention bot in a Wickr network, including its status and whether the data retention service is enabled."]moduleGetBotsCountResponse=structtypenonrect={pending:Integer.toption[@ocaml.doc"The number of bots with pending status (invited but not yet activated)."];active:Integer.toption[@ocaml.doc"The number of bots with active status."];total:Integer.toption[@ocaml.doc"The total number of bots in the network (active and pending)."]}typenonrecerror=[`BadRequestErrorofBadRequestError.t|`ForbiddenErrorofForbiddenError.t|`InternalServerErrorofInternalServerError.t|`RateLimitErrorofRateLimitError.t|`ResourceNotFoundErrorofResourceNotFoundError.t|`UnauthorizedErrorofUnauthorizedError.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?pending=fun?active->fun?total->fun()->{pending;active;total}leterror_of_jsonnamejson=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_jsonjson)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_jsonjson)|"InternalServerError"->`InternalServerError(InternalServerError.of_jsonjson)|"RateLimitError"->`RateLimitError(RateLimitError.of_jsonjson)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_jsonjson)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_xmlxml)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_xmlxml)|"InternalServerError"->`InternalServerError(InternalServerError.of_xmlxml)|"RateLimitError"->`RateLimitError(RateLimitError.of_xmlxml)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_xmlxml)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestErrore->`Assoc[("error",(`String"BadRequestError"));("details",(BadRequestError.to_jsone))]|`ForbiddenErrore->`Assoc[("error",(`String"ForbiddenError"));("details",(ForbiddenError.to_jsone))]|`InternalServerErrore->`Assoc[("error",(`String"InternalServerError"));("details",(InternalServerError.to_jsone))]|`RateLimitErrore->`Assoc[("error",(`String"RateLimitError"));("details",(RateLimitError.to_jsone))]|`ResourceNotFoundErrore->`Assoc[("error",(`String"ResourceNotFoundError"));("details",(ResourceNotFoundError.to_jsone))]|`UnauthorizedErrore->`Assoc[("error",(`String"UnauthorizedError"));("details",(UnauthorizedError.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("pending",(Option.mapx.pending~f:Integer.to_value));("active",(Option.mapx.active~f:Integer.to_value));("total",(Option.mapx.total~f:Integer.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettotal=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"total")inletactive=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"active")inletpending=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"pending")inmake?total?active?pending()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettotal=field_mapjson__"total"Integer.of_jsoninletactive=field_mapjson__"active"Integer.of_jsoninletpending=field_mapjson__"pending"Integer.of_jsoninmake?total?active?pending()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the count of bots in a Wickr network, categorized by their status (pending, active, and total)."]moduleGetBotsCountRequest=structtypenonrect={networkId:NetworkId.t[@ocaml.doc"The ID of the Wickr network for which to retrieve bot counts."]}letcontext_="GetBotsCountRequest"letmake~networkId=fun()->{networkId}letto_valuex=structure_to_value[("networkId",(Some(NetworkId.to_valuex.networkId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnetworkId=NetworkId.of_xml(Xml.child_exn~context:context_xml_arg0"networkId")inmake~networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnetworkId=field_map_exnjson__"networkId"NetworkId.of_jsoninmake~networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the count of bots in a Wickr network, categorized by their status (pending, active, and total)."]moduleGetBotResponse=structtypenonrect={botId:GenericString.toption[@ocaml.doc"The unique identifier of the bot."];displayName:GenericString.toption[@ocaml.doc"The display name of the bot that is visible to users."];username:GenericString.toption[@ocaml.doc"The username of the bot."];uname:GenericString.toption[@ocaml.doc"The unique username hash identifier for the bot."];pubkey:GenericString.toption[@ocaml.doc"The public key of the bot used for encryption."];status:BotStatus.toption[@ocaml.doc"The current status of the bot (1 for pending, 2 for active)."];groupId:GenericString.toption[@ocaml.doc"The ID of the security group to which the bot belongs."];hasChallenge:Boolean.toption[@ocaml.doc"Indicates whether the bot has a password set."];suspended:Boolean.toption[@ocaml.doc"Indicates whether the bot is currently suspended."];lastLogin:GenericString.toption[@ocaml.doc"The timestamp of the bot's last login."]}typenonrecerror=[`BadRequestErrorofBadRequestError.t|`ForbiddenErrorofForbiddenError.t|`InternalServerErrorofInternalServerError.t|`RateLimitErrorofRateLimitError.t|`ResourceNotFoundErrorofResourceNotFoundError.t|`UnauthorizedErrorofUnauthorizedError.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?botId=fun?displayName->fun?username->fun?uname->fun?pubkey->fun?status->fun?groupId->fun?hasChallenge->fun?suspended->fun?lastLogin->fun()->{botId;displayName;username;uname;pubkey;status;groupId;hasChallenge;suspended;lastLogin}leterror_of_jsonnamejson=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_jsonjson)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_jsonjson)|"InternalServerError"->`InternalServerError(InternalServerError.of_jsonjson)|"RateLimitError"->`RateLimitError(RateLimitError.of_jsonjson)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_jsonjson)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_xmlxml)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_xmlxml)|"InternalServerError"->`InternalServerError(InternalServerError.of_xmlxml)|"RateLimitError"->`RateLimitError(RateLimitError.of_xmlxml)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_xmlxml)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestErrore->`Assoc[("error",(`String"BadRequestError"));("details",(BadRequestError.to_jsone))]|`ForbiddenErrore->`Assoc[("error",(`String"ForbiddenError"));("details",(ForbiddenError.to_jsone))]|`InternalServerErrore->`Assoc[("error",(`String"InternalServerError"));("details",(InternalServerError.to_jsone))]|`RateLimitErrore->`Assoc[("error",(`String"RateLimitError"));("details",(RateLimitError.to_jsone))]|`ResourceNotFoundErrore->`Assoc[("error",(`String"ResourceNotFoundError"));("details",(ResourceNotFoundError.to_jsone))]|`UnauthorizedErrore->`Assoc[("error",(`String"UnauthorizedError"));("details",(UnauthorizedError.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("botId",(Option.mapx.botId~f:GenericString.to_value));("displayName",(Option.mapx.displayName~f:GenericString.to_value));("username",(Option.mapx.username~f:GenericString.to_value));("uname",(Option.mapx.uname~f:GenericString.to_value));("pubkey",(Option.mapx.pubkey~f:GenericString.to_value));("status",(Option.mapx.status~f:BotStatus.to_value));("groupId",(Option.mapx.groupId~f:GenericString.to_value));("hasChallenge",(Option.mapx.hasChallenge~f:Boolean.to_value));("suspended",(Option.mapx.suspended~f:Boolean.to_value));("lastLogin",(Option.mapx.lastLogin~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastLogin=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"lastLogin")inletsuspended=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"suspended")inlethasChallenge=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"hasChallenge")inletgroupId=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"groupId")inletstatus=(Option.map~f:BotStatus.of_xml)(Xml.childxml_arg0"status")inletpubkey=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"pubkey")inletuname=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"uname")inletusername=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"username")inletdisplayName=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"displayName")inletbotId=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"botId")inmake?lastLogin?suspended?hasChallenge?groupId?status?pubkey?uname?username?displayName?botId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastLogin=field_mapjson__"lastLogin"GenericString.of_jsoninletsuspended=field_mapjson__"suspended"Boolean.of_jsoninlethasChallenge=field_mapjson__"hasChallenge"Boolean.of_jsoninletgroupId=field_mapjson__"groupId"GenericString.of_jsoninletstatus=field_mapjson__"status"BotStatus.of_jsoninletpubkey=field_mapjson__"pubkey"GenericString.of_jsoninletuname=field_mapjson__"uname"GenericString.of_jsoninletusername=field_mapjson__"username"GenericString.of_jsoninletdisplayName=field_mapjson__"displayName"GenericString.of_jsoninletbotId=field_mapjson__"botId"GenericString.of_jsoninmake?lastLogin?suspended?hasChallenge?groupId?status?pubkey?uname?username?displayName?botId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves detailed information about a specific bot in a Wickr network, including its status, group membership, and authentication details."]moduleGetBotRequest=structtypenonrect={networkId:NetworkId.t[@ocaml.doc"The ID of the Wickr network containing the bot."];botId:BotId.t[@ocaml.doc"The unique identifier of the bot to retrieve."]}letcontext_="GetBotRequest"letmake~networkId=fun~botId->fun()->{networkId;botId}letto_valuex=structure_to_value[("networkId",(Some(NetworkId.to_valuex.networkId)));("botId",(Some(BotId.to_valuex.botId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letbotId=BotId.of_xml(Xml.child_exn~context:context_xml_arg0"botId")inletnetworkId=NetworkId.of_xml(Xml.child_exn~context:context_xml_arg0"networkId")inmake~botId~networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letbotId=field_map_exnjson__"botId"BotId.of_jsoninletnetworkId=field_map_exnjson__"networkId"NetworkId.of_jsoninmake~botId~networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves detailed information about a specific bot in a Wickr network, including its status, group membership, and authentication details."]moduleDeleteSecurityGroupResponse=structtypenonrect={message:GenericString.toption[@ocaml.doc"A message indicating the result of the security group deletion operation."];networkId:NetworkId.toption[@ocaml.doc"The ID of the network from which the security group was deleted."];groupId:GenericString.toption[@ocaml.doc"The ID of the security group that was deleted."]}typenonrecerror=[`BadRequestErrorofBadRequestError.t|`ForbiddenErrorofForbiddenError.t|`InternalServerErrorofInternalServerError.t|`RateLimitErrorofRateLimitError.t|`ResourceNotFoundErrorofResourceNotFoundError.t|`UnauthorizedErrorofUnauthorizedError.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?message=fun?networkId->fun?groupId->fun()->{message;networkId;groupId}leterror_of_jsonnamejson=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_jsonjson)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_jsonjson)|"InternalServerError"->`InternalServerError(InternalServerError.of_jsonjson)|"RateLimitError"->`RateLimitError(RateLimitError.of_jsonjson)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_jsonjson)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_xmlxml)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_xmlxml)|"InternalServerError"->`InternalServerError(InternalServerError.of_xmlxml)|"RateLimitError"->`RateLimitError(RateLimitError.of_xmlxml)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_xmlxml)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestErrore->`Assoc[("error",(`String"BadRequestError"));("details",(BadRequestError.to_jsone))]|`ForbiddenErrore->`Assoc[("error",(`String"ForbiddenError"));("details",(ForbiddenError.to_jsone))]|`InternalServerErrore->`Assoc[("error",(`String"InternalServerError"));("details",(InternalServerError.to_jsone))]|`RateLimitErrore->`Assoc[("error",(`String"RateLimitError"));("details",(RateLimitError.to_jsone))]|`ResourceNotFoundErrore->`Assoc[("error",(`String"ResourceNotFoundError"));("details",(ResourceNotFoundError.to_jsone))]|`UnauthorizedErrore->`Assoc[("error",(`String"UnauthorizedError"));("details",(UnauthorizedError.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("message",(Option.mapx.message~f:GenericString.to_value));("networkId",(Option.mapx.networkId~f:NetworkId.to_value));("groupId",(Option.mapx.groupId~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letgroupId=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"groupId")inletnetworkId=(Option.map~f:NetworkId.of_xml)(Xml.childxml_arg0"networkId")inletmessage=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"message")inmake?groupId?networkId?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letgroupId=field_mapjson__"groupId"GenericString.of_jsoninletnetworkId=field_mapjson__"networkId"NetworkId.of_jsoninletmessage=field_mapjson__"message"GenericString.of_jsoninmake?groupId?networkId?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a security group from a Wickr network. This operation cannot be performed on the default security group."]moduleDeleteSecurityGroupRequest=structtypenonrect={networkId:NetworkId.t[@ocaml.doc"The ID of the Wickr network from which the security group will be deleted."];groupId:GenericString.t[@ocaml.doc"The unique identifier of the security group to delete."]}letcontext_="DeleteSecurityGroupRequest"letmake~networkId=fun~groupId->fun()->{networkId;groupId}letto_valuex=structure_to_value[("networkId",(Some(NetworkId.to_valuex.networkId)));("groupId",(Some(GenericString.to_valuex.groupId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letgroupId=GenericString.of_xml(Xml.child_exn~context:context_xml_arg0"groupId")inletnetworkId=NetworkId.of_xml(Xml.child_exn~context:context_xml_arg0"networkId")inmake~groupId~networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letgroupId=field_map_exnjson__"groupId"GenericString.of_jsoninletnetworkId=field_map_exnjson__"networkId"NetworkId.of_jsoninmake~groupId~networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a security group from a Wickr network. This operation cannot be performed on the default security group."]moduleDeleteNetworkResponse=structtypenonrect={message:GenericString.toption[@ocaml.doc"A message indicating that the network deletion has been initiated successfully."]}typenonrecerror=[`BadRequestErrorofBadRequestError.t|`ForbiddenErrorofForbiddenError.t|`InternalServerErrorofInternalServerError.t|`RateLimitErrorofRateLimitError.t|`ResourceNotFoundErrorofResourceNotFoundError.t|`UnauthorizedErrorofUnauthorizedError.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?message=fun()->{message}leterror_of_jsonnamejson=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_jsonjson)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_jsonjson)|"InternalServerError"->`InternalServerError(InternalServerError.of_jsonjson)|"RateLimitError"->`RateLimitError(RateLimitError.of_jsonjson)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_jsonjson)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_xmlxml)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_xmlxml)|"InternalServerError"->`InternalServerError(InternalServerError.of_xmlxml)|"RateLimitError"->`RateLimitError(RateLimitError.of_xmlxml)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_xmlxml)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestErrore->`Assoc[("error",(`String"BadRequestError"));("details",(BadRequestError.to_jsone))]|`ForbiddenErrore->`Assoc[("error",(`String"ForbiddenError"));("details",(ForbiddenError.to_jsone))]|`InternalServerErrore->`Assoc[("error",(`String"InternalServerError"));("details",(InternalServerError.to_jsone))]|`RateLimitErrore->`Assoc[("error",(`String"RateLimitError"));("details",(RateLimitError.to_jsone))]|`ResourceNotFoundErrore->`Assoc[("error",(`String"ResourceNotFoundError"));("details",(ResourceNotFoundError.to_jsone))]|`UnauthorizedErrore->`Assoc[("error",(`String"UnauthorizedError"));("details",(UnauthorizedError.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("message",(Option.mapx.message~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"GenericString.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a Wickr network and all its associated resources, including users, bots, security groups, and settings. This operation is permanent and cannot be undone."]moduleDeleteNetworkRequest=structtypenonrect={networkId:NetworkId.t[@ocaml.doc"The ID of the Wickr network to delete."];clientToken:ClientToken.toption[@ocaml.doc"A unique identifier for this request to ensure idempotency. If you retry a request with the same client token, the service will return the same response without attempting to delete the network again."]}letcontext_="DeleteNetworkRequest"letmake?clientToken=fun~networkId->fun()->{clientToken;networkId}letto_valuex=structure_to_value[("networkId",(Some(NetworkId.to_valuex.networkId)));("X-Client-Token",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"X-Client-Token")inletnetworkId=NetworkId.of_xml(Xml.child_exn~context:context_xml_arg0"networkId")inmake?clientToken~networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletnetworkId=field_map_exnjson__"networkId"NetworkId.of_jsoninmake?clientToken~networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a Wickr network and all its associated resources, including users, bots, security groups, and settings. This operation is permanent and cannot be undone."]moduleDeleteDataRetentionBotResponse=structtypenonrect={message:GenericString.toption[@ocaml.doc"A message indicating that the data retention bot and all associated data were successfully deleted."]}typenonrecerror=[`BadRequestErrorofBadRequestError.t|`ForbiddenErrorofForbiddenError.t|`InternalServerErrorofInternalServerError.t|`RateLimitErrorofRateLimitError.t|`ResourceNotFoundErrorofResourceNotFoundError.t|`UnauthorizedErrorofUnauthorizedError.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?message=fun()->{message}leterror_of_jsonnamejson=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_jsonjson)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_jsonjson)|"InternalServerError"->`InternalServerError(InternalServerError.of_jsonjson)|"RateLimitError"->`RateLimitError(RateLimitError.of_jsonjson)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_jsonjson)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_xmlxml)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_xmlxml)|"InternalServerError"->`InternalServerError(InternalServerError.of_xmlxml)|"RateLimitError"->`RateLimitError(RateLimitError.of_xmlxml)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_xmlxml)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestErrore->`Assoc[("error",(`String"BadRequestError"));("details",(BadRequestError.to_jsone))]|`ForbiddenErrore->`Assoc[("error",(`String"ForbiddenError"));("details",(ForbiddenError.to_jsone))]|`InternalServerErrore->`Assoc[("error",(`String"InternalServerError"));("details",(InternalServerError.to_jsone))]|`RateLimitErrore->`Assoc[("error",(`String"RateLimitError"));("details",(RateLimitError.to_jsone))]|`ResourceNotFoundErrore->`Assoc[("error",(`String"ResourceNotFoundError"));("details",(ResourceNotFoundError.to_jsone))]|`UnauthorizedErrore->`Assoc[("error",(`String"UnauthorizedError"));("details",(UnauthorizedError.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("message",(Option.mapx.message~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"GenericString.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the data retention bot from a Wickr network. This operation permanently removes the bot and all its associated data from the database."]moduleDeleteDataRetentionBotRequest=structtypenonrect={networkId:NetworkId.t[@ocaml.doc"The ID of the Wickr network from which the data retention bot will be deleted."]}letcontext_="DeleteDataRetentionBotRequest"letmake~networkId=fun()->{networkId}letto_valuex=structure_to_value[("networkId",(Some(NetworkId.to_valuex.networkId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnetworkId=NetworkId.of_xml(Xml.child_exn~context:context_xml_arg0"networkId")inmake~networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnetworkId=field_map_exnjson__"networkId"NetworkId.of_jsoninmake~networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the data retention bot from a Wickr network. This operation permanently removes the bot and all its associated data from the database."]moduleDeleteBotResponse=structtypenonrect={message:GenericString.toption[@ocaml.doc"A message indicating the result of the bot deletion operation."]}typenonrecerror=[`BadRequestErrorofBadRequestError.t|`ForbiddenErrorofForbiddenError.t|`InternalServerErrorofInternalServerError.t|`RateLimitErrorofRateLimitError.t|`ResourceNotFoundErrorofResourceNotFoundError.t|`UnauthorizedErrorofUnauthorizedError.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?message=fun()->{message}leterror_of_jsonnamejson=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_jsonjson)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_jsonjson)|"InternalServerError"->`InternalServerError(InternalServerError.of_jsonjson)|"RateLimitError"->`RateLimitError(RateLimitError.of_jsonjson)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_jsonjson)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_xmlxml)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_xmlxml)|"InternalServerError"->`InternalServerError(InternalServerError.of_xmlxml)|"RateLimitError"->`RateLimitError(RateLimitError.of_xmlxml)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_xmlxml)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestErrore->`Assoc[("error",(`String"BadRequestError"));("details",(BadRequestError.to_jsone))]|`ForbiddenErrore->`Assoc[("error",(`String"ForbiddenError"));("details",(ForbiddenError.to_jsone))]|`InternalServerErrore->`Assoc[("error",(`String"InternalServerError"));("details",(InternalServerError.to_jsone))]|`RateLimitErrore->`Assoc[("error",(`String"RateLimitError"));("details",(RateLimitError.to_jsone))]|`ResourceNotFoundErrore->`Assoc[("error",(`String"ResourceNotFoundError"));("details",(ResourceNotFoundError.to_jsone))]|`UnauthorizedErrore->`Assoc[("error",(`String"UnauthorizedError"));("details",(UnauthorizedError.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("message",(Option.mapx.message~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"GenericString.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a bot from a specified Wickr network. This operation permanently removes the bot account and its associated data from the network."]moduleDeleteBotRequest=structtypenonrect={networkId:NetworkId.t[@ocaml.doc"The ID of the Wickr network from which the bot will be deleted."];botId:BotId.t[@ocaml.doc"The unique identifier of the bot to be deleted."]}letcontext_="DeleteBotRequest"letmake~networkId=fun~botId->fun()->{networkId;botId}letto_valuex=structure_to_value[("networkId",(Some(NetworkId.to_valuex.networkId)));("botId",(Some(BotId.to_valuex.botId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letbotId=BotId.of_xml(Xml.child_exn~context:context_xml_arg0"botId")inletnetworkId=NetworkId.of_xml(Xml.child_exn~context:context_xml_arg0"networkId")inmake~botId~networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letbotId=field_map_exnjson__"botId"BotId.of_jsoninletnetworkId=field_map_exnjson__"networkId"NetworkId.of_jsoninmake~botId~networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a bot from a specified Wickr network. This operation permanently removes the bot account and its associated data from the network."]moduleCreateSecurityGroupResponse=structtypenonrect={securityGroup:SecurityGroup.toption[@ocaml.doc"The details of the newly created security group, including its ID, name, and settings."]}typenonrecerror=[`BadRequestErrorofBadRequestError.t|`ForbiddenErrorofForbiddenError.t|`InternalServerErrorofInternalServerError.t|`RateLimitErrorofRateLimitError.t|`ResourceNotFoundErrorofResourceNotFoundError.t|`UnauthorizedErrorofUnauthorizedError.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?securityGroup=fun()->{securityGroup}leterror_of_jsonnamejson=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_jsonjson)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_jsonjson)|"InternalServerError"->`InternalServerError(InternalServerError.of_jsonjson)|"RateLimitError"->`RateLimitError(RateLimitError.of_jsonjson)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_jsonjson)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_xmlxml)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_xmlxml)|"InternalServerError"->`InternalServerError(InternalServerError.of_xmlxml)|"RateLimitError"->`RateLimitError(RateLimitError.of_xmlxml)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_xmlxml)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestErrore->`Assoc[("error",(`String"BadRequestError"));("details",(BadRequestError.to_jsone))]|`ForbiddenErrore->`Assoc[("error",(`String"ForbiddenError"));("details",(ForbiddenError.to_jsone))]|`InternalServerErrore->`Assoc[("error",(`String"InternalServerError"));("details",(InternalServerError.to_jsone))]|`RateLimitErrore->`Assoc[("error",(`String"RateLimitError"));("details",(RateLimitError.to_jsone))]|`ResourceNotFoundErrore->`Assoc[("error",(`String"ResourceNotFoundError"));("details",(ResourceNotFoundError.to_jsone))]|`UnauthorizedErrore->`Assoc[("error",(`String"UnauthorizedError"));("details",(UnauthorizedError.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("securityGroup",(Option.mapx.securityGroup~f:SecurityGroup.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsecurityGroup=(Option.map~f:SecurityGroup.of_xml)(Xml.childxml_arg0"securityGroup")inmake?securityGroup()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsecurityGroup=field_mapjson__"securityGroup"SecurityGroup.of_jsoninmake?securityGroup()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new security group in a Wickr network. Security groups allow you to organize users and control their permissions, features, and security settings."]moduleCreateSecurityGroupRequest=structtypenonrect={networkId:NetworkId.t[@ocaml.doc"The ID of the Wickr network where the security group will be created."];name:GenericString.t[@ocaml.doc"The name for the new security group."];securityGroupSettings:SecurityGroupSettingsRequest.t[@ocaml.doc"The configuration settings for the security group, including permissions, federation settings, and feature controls."];clientToken:ClientToken.toption[@ocaml.doc"A unique identifier for this request to ensure idempotency."]}letcontext_="CreateSecurityGroupRequest"letmake?clientToken=fun~networkId->fun~name->fun~securityGroupSettings->fun()->{clientToken;networkId;name;securityGroupSettings}letto_valuex=structure_to_value[("networkId",(Some(NetworkId.to_valuex.networkId)));("name",(Some(GenericString.to_valuex.name)));("securityGroupSettings",(Some(SecurityGroupSettingsRequest.to_valuex.securityGroupSettings)));("X-Client-Token",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"X-Client-Token")inletsecurityGroupSettings=SecurityGroupSettingsRequest.of_xml(Xml.child_exn~context:context_xml_arg0"securityGroupSettings")inletname=GenericString.of_xml(Xml.child_exn~context:context_xml_arg0"name")inletnetworkId=NetworkId.of_xml(Xml.child_exn~context:context_xml_arg0"networkId")inmake?clientToken~securityGroupSettings~name~networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletsecurityGroupSettings=field_map_exnjson__"securityGroupSettings"SecurityGroupSettingsRequest.of_jsoninletname=field_map_exnjson__"name"GenericString.of_jsoninletnetworkId=field_map_exnjson__"networkId"NetworkId.of_jsoninmake?clientToken~securityGroupSettings~name~networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new security group in a Wickr network. Security groups allow you to organize users and control their permissions, features, and security settings."]moduleCreateNetworkResponse=structtypenonrect={networkId:NetworkId.toption[@ocaml.doc"The unique identifier assigned to the newly created network."];networkName:GenericString.toption[@ocaml.doc"The name of the newly created network."];encryptionKeyArn:GenericString.toption[@ocaml.doc"The ARN of the KMS key being used to encrypt sensitive data in the network."]}typenonrecerror=[`BadRequestErrorofBadRequestError.t|`ForbiddenErrorofForbiddenError.t|`InternalServerErrorofInternalServerError.t|`RateLimitErrorofRateLimitError.t|`ResourceNotFoundErrorofResourceNotFoundError.t|`UnauthorizedErrorofUnauthorizedError.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?networkId=fun?networkName->fun?encryptionKeyArn->fun()->{networkId;networkName;encryptionKeyArn}leterror_of_jsonnamejson=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_jsonjson)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_jsonjson)|"InternalServerError"->`InternalServerError(InternalServerError.of_jsonjson)|"RateLimitError"->`RateLimitError(RateLimitError.of_jsonjson)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_jsonjson)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_xmlxml)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_xmlxml)|"InternalServerError"->`InternalServerError(InternalServerError.of_xmlxml)|"RateLimitError"->`RateLimitError(RateLimitError.of_xmlxml)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_xmlxml)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestErrore->`Assoc[("error",(`String"BadRequestError"));("details",(BadRequestError.to_jsone))]|`ForbiddenErrore->`Assoc[("error",(`String"ForbiddenError"));("details",(ForbiddenError.to_jsone))]|`InternalServerErrore->`Assoc[("error",(`String"InternalServerError"));("details",(InternalServerError.to_jsone))]|`RateLimitErrore->`Assoc[("error",(`String"RateLimitError"));("details",(RateLimitError.to_jsone))]|`ResourceNotFoundErrore->`Assoc[("error",(`String"ResourceNotFoundError"));("details",(ResourceNotFoundError.to_jsone))]|`UnauthorizedErrore->`Assoc[("error",(`String"UnauthorizedError"));("details",(UnauthorizedError.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("networkId",(Option.mapx.networkId~f:NetworkId.to_value));("networkName",(Option.mapx.networkName~f:GenericString.to_value));("encryptionKeyArn",(Option.mapx.encryptionKeyArn~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letencryptionKeyArn=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"encryptionKeyArn")inletnetworkName=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"networkName")inletnetworkId=(Option.map~f:NetworkId.of_xml)(Xml.childxml_arg0"networkId")inmake?encryptionKeyArn?networkName?networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letencryptionKeyArn=field_mapjson__"encryptionKeyArn"GenericString.of_jsoninletnetworkName=field_mapjson__"networkName"GenericString.of_jsoninletnetworkId=field_mapjson__"networkId"NetworkId.of_jsoninmake?encryptionKeyArn?networkName?networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new Wickr network with specified access level and configuration. This operation provisions a new communication network for your organization."]moduleCreateNetworkRequest=structtypenonrect={networkName:GenericString.t[@ocaml.doc"The name for the new network. Must be between 1 and 20 characters."];accessLevel:AccessLevel.t[@ocaml.doc"The access level for the network. Valid values are STANDARD or PREMIUM, which determine the features and capabilities available to network members."];enablePremiumFreeTrial:Boolean.toption[@ocaml.doc"Specifies whether to enable a premium free trial for the network. It is optional and has a default value as false. When set to true, the network starts with premium features for a limited trial period."];encryptionKeyArn:GenericString.toption[@ocaml.doc"The ARN of the Amazon Web Services KMS customer managed key to use for encrypting sensitive data in the network."]}letcontext_="CreateNetworkRequest"letmake?enablePremiumFreeTrial=fun?encryptionKeyArn->fun~networkName->fun~accessLevel->fun()->{enablePremiumFreeTrial;encryptionKeyArn;networkName;accessLevel}letto_valuex=structure_to_value[("networkName",(Some(GenericString.to_valuex.networkName)));("accessLevel",(Some(AccessLevel.to_valuex.accessLevel)));("enablePremiumFreeTrial",(Option.mapx.enablePremiumFreeTrial~f:Boolean.to_value));("encryptionKeyArn",(Option.mapx.encryptionKeyArn~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letencryptionKeyArn=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"encryptionKeyArn")inletenablePremiumFreeTrial=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"enablePremiumFreeTrial")inletaccessLevel=AccessLevel.of_xml(Xml.child_exn~context:context_xml_arg0"accessLevel")inletnetworkName=GenericString.of_xml(Xml.child_exn~context:context_xml_arg0"networkName")inmake?encryptionKeyArn?enablePremiumFreeTrial~accessLevel~networkName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letencryptionKeyArn=field_mapjson__"encryptionKeyArn"GenericString.of_jsoninletenablePremiumFreeTrial=field_mapjson__"enablePremiumFreeTrial"Boolean.of_jsoninletaccessLevel=field_map_exnjson__"accessLevel"AccessLevel.of_jsoninletnetworkName=field_map_exnjson__"networkName"GenericString.of_jsoninmake?encryptionKeyArn?enablePremiumFreeTrial~accessLevel~networkName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new Wickr network with specified access level and configuration. This operation provisions a new communication network for your organization."]moduleCreateDataRetentionBotResponse=structtypenonrect={message:GenericString.toption[@ocaml.doc"A message indicating that the data retention bot was successfully provisioned."]}typenonrecerror=[`BadRequestErrorofBadRequestError.t|`ForbiddenErrorofForbiddenError.t|`InternalServerErrorofInternalServerError.t|`RateLimitErrorofRateLimitError.t|`ResourceNotFoundErrorofResourceNotFoundError.t|`UnauthorizedErrorofUnauthorizedError.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?message=fun()->{message}leterror_of_jsonnamejson=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_jsonjson)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_jsonjson)|"InternalServerError"->`InternalServerError(InternalServerError.of_jsonjson)|"RateLimitError"->`RateLimitError(RateLimitError.of_jsonjson)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_jsonjson)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_xmlxml)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_xmlxml)|"InternalServerError"->`InternalServerError(InternalServerError.of_xmlxml)|"RateLimitError"->`RateLimitError(RateLimitError.of_xmlxml)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_xmlxml)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestErrore->`Assoc[("error",(`String"BadRequestError"));("details",(BadRequestError.to_jsone))]|`ForbiddenErrore->`Assoc[("error",(`String"ForbiddenError"));("details",(ForbiddenError.to_jsone))]|`InternalServerErrore->`Assoc[("error",(`String"InternalServerError"));("details",(InternalServerError.to_jsone))]|`RateLimitErrore->`Assoc[("error",(`String"RateLimitError"));("details",(RateLimitError.to_jsone))]|`ResourceNotFoundErrore->`Assoc[("error",(`String"ResourceNotFoundError"));("details",(ResourceNotFoundError.to_jsone))]|`UnauthorizedErrore->`Assoc[("error",(`String"UnauthorizedError"));("details",(UnauthorizedError.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("message",(Option.mapx.message~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"GenericString.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a data retention bot in a Wickr network. Data retention bots are specialized bots that handle message archiving and compliance by capturing and storing messages for regulatory or organizational requirements."]moduleCreateDataRetentionBotRequest=structtypenonrect={networkId:NetworkId.t[@ocaml.doc"The ID of the Wickr network where the data retention bot will be created."]}letcontext_="CreateDataRetentionBotRequest"letmake~networkId=fun()->{networkId}letto_valuex=structure_to_value[("networkId",(Some(NetworkId.to_valuex.networkId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnetworkId=NetworkId.of_xml(Xml.child_exn~context:context_xml_arg0"networkId")inmake~networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnetworkId=field_map_exnjson__"networkId"NetworkId.of_jsoninmake~networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a data retention bot in a Wickr network. Data retention bots are specialized bots that handle message archiving and compliance by capturing and storing messages for regulatory or organizational requirements."]moduleCreateDataRetentionBotChallengeResponse=structtypenonrect={challenge:SensitiveString.toption[@ocaml.doc"The newly generated challenge password for the data retention bot."]}typenonrecerror=[`BadRequestErrorofBadRequestError.t|`ForbiddenErrorofForbiddenError.t|`InternalServerErrorofInternalServerError.t|`RateLimitErrorofRateLimitError.t|`ResourceNotFoundErrorofResourceNotFoundError.t|`UnauthorizedErrorofUnauthorizedError.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?challenge=fun()->{challenge}leterror_of_jsonnamejson=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_jsonjson)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_jsonjson)|"InternalServerError"->`InternalServerError(InternalServerError.of_jsonjson)|"RateLimitError"->`RateLimitError(RateLimitError.of_jsonjson)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_jsonjson)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_xmlxml)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_xmlxml)|"InternalServerError"->`InternalServerError(InternalServerError.of_xmlxml)|"RateLimitError"->`RateLimitError(RateLimitError.of_xmlxml)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_xmlxml)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestErrore->`Assoc[("error",(`String"BadRequestError"));("details",(BadRequestError.to_jsone))]|`ForbiddenErrore->`Assoc[("error",(`String"ForbiddenError"));("details",(ForbiddenError.to_jsone))]|`InternalServerErrore->`Assoc[("error",(`String"InternalServerError"));("details",(InternalServerError.to_jsone))]|`RateLimitErrore->`Assoc[("error",(`String"RateLimitError"));("details",(RateLimitError.to_jsone))]|`ResourceNotFoundErrore->`Assoc[("error",(`String"ResourceNotFoundError"));("details",(ResourceNotFoundError.to_jsone))]|`UnauthorizedErrore->`Assoc[("error",(`String"UnauthorizedError"));("details",(UnauthorizedError.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("challenge",(Option.mapx.challenge~f:SensitiveString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letchallenge=(Option.map~f:SensitiveString.of_xml)(Xml.childxml_arg0"challenge")inmake?challenge()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letchallenge=field_mapjson__"challenge"SensitiveString.of_jsoninmake?challenge()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new challenge password for the data retention bot. This password is used for authentication when the bot connects to the network."]moduleCreateDataRetentionBotChallengeRequest=structtypenonrect={networkId:NetworkId.t[@ocaml.doc"The ID of the Wickr network containing the data retention bot."]}letcontext_="CreateDataRetentionBotChallengeRequest"letmake~networkId=fun()->{networkId}letto_valuex=structure_to_value[("networkId",(Some(NetworkId.to_valuex.networkId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnetworkId=NetworkId.of_xml(Xml.child_exn~context:context_xml_arg0"networkId")inmake~networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnetworkId=field_map_exnjson__"networkId"NetworkId.of_jsoninmake~networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new challenge password for the data retention bot. This password is used for authentication when the bot connects to the network."]moduleCreateBotResponse=structtypenonrect={message:GenericString.toption[@ocaml.doc"A message indicating the result of the bot creation operation."];botId:BotId.toption[@ocaml.doc"The unique identifier assigned to the newly created bot."];networkId:NetworkId.toption[@ocaml.doc"The ID of the network where the bot was created."];username:GenericString.toption[@ocaml.doc"The username of the newly created bot."];displayName:GenericString.toption[@ocaml.doc"The display name of the newly created bot."];groupId:GenericString.toption[@ocaml.doc"The ID of the security group to which the bot was assigned."]}typenonrecerror=[`BadRequestErrorofBadRequestError.t|`ForbiddenErrorofForbiddenError.t|`InternalServerErrorofInternalServerError.t|`RateLimitErrorofRateLimitError.t|`ResourceNotFoundErrorofResourceNotFoundError.t|`UnauthorizedErrorofUnauthorizedError.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?message=fun?botId->fun?networkId->fun?username->fun?displayName->fun?groupId->fun()->{message;botId;networkId;username;displayName;groupId}leterror_of_jsonnamejson=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_jsonjson)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_jsonjson)|"InternalServerError"->`InternalServerError(InternalServerError.of_jsonjson)|"RateLimitError"->`RateLimitError(RateLimitError.of_jsonjson)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_jsonjson)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_xmlxml)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_xmlxml)|"InternalServerError"->`InternalServerError(InternalServerError.of_xmlxml)|"RateLimitError"->`RateLimitError(RateLimitError.of_xmlxml)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_xmlxml)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestErrore->`Assoc[("error",(`String"BadRequestError"));("details",(BadRequestError.to_jsone))]|`ForbiddenErrore->`Assoc[("error",(`String"ForbiddenError"));("details",(ForbiddenError.to_jsone))]|`InternalServerErrore->`Assoc[("error",(`String"InternalServerError"));("details",(InternalServerError.to_jsone))]|`RateLimitErrore->`Assoc[("error",(`String"RateLimitError"));("details",(RateLimitError.to_jsone))]|`ResourceNotFoundErrore->`Assoc[("error",(`String"ResourceNotFoundError"));("details",(ResourceNotFoundError.to_jsone))]|`UnauthorizedErrore->`Assoc[("error",(`String"UnauthorizedError"));("details",(UnauthorizedError.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("message",(Option.mapx.message~f:GenericString.to_value));("botId",(Option.mapx.botId~f:BotId.to_value));("networkId",(Option.mapx.networkId~f:NetworkId.to_value));("username",(Option.mapx.username~f:GenericString.to_value));("displayName",(Option.mapx.displayName~f:GenericString.to_value));("groupId",(Option.mapx.groupId~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letgroupId=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"groupId")inletdisplayName=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"displayName")inletusername=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"username")inletnetworkId=(Option.map~f:NetworkId.of_xml)(Xml.childxml_arg0"networkId")inletbotId=(Option.map~f:BotId.of_xml)(Xml.childxml_arg0"botId")inletmessage=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"message")inmake?groupId?displayName?username?networkId?botId?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letgroupId=field_mapjson__"groupId"GenericString.of_jsoninletdisplayName=field_mapjson__"displayName"GenericString.of_jsoninletusername=field_mapjson__"username"GenericString.of_jsoninletnetworkId=field_mapjson__"networkId"NetworkId.of_jsoninletbotId=field_mapjson__"botId"BotId.of_jsoninletmessage=field_mapjson__"message"GenericString.of_jsoninmake?groupId?displayName?username?networkId?botId?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new bot in a specified Wickr network. Bots are automated accounts that can send and receive messages, enabling integration with external systems and automation of tasks."]moduleCreateBotRequest=structtypenonrect={networkId:NetworkId.t[@ocaml.doc"The ID of the Wickr network where the bot will be created."];username:GenericString.t[@ocaml.doc"The username for the bot. This must be unique within the network and follow the network's naming conventions."];displayName:GenericString.toption[@ocaml.doc"The display name for the bot that will be visible to users in the network."];groupId:GenericString.t[@ocaml.doc"The ID of the security group to which the bot will be assigned."];challenge:SensitiveString.t[@ocaml.doc"The password for the bot account."]}letcontext_="CreateBotRequest"letmake?displayName=fun~networkId->fun~username->fun~groupId->fun~challenge->fun()->{displayName;networkId;username;groupId;challenge}letto_valuex=structure_to_value[("networkId",(Some(NetworkId.to_valuex.networkId)));("username",(Some(GenericString.to_valuex.username)));("displayName",(Option.mapx.displayName~f:GenericString.to_value));("groupId",(Some(GenericString.to_valuex.groupId)));("challenge",(Some(SensitiveString.to_valuex.challenge)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letchallenge=SensitiveString.of_xml(Xml.child_exn~context:context_xml_arg0"challenge")inletgroupId=GenericString.of_xml(Xml.child_exn~context:context_xml_arg0"groupId")inletdisplayName=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"displayName")inletusername=GenericString.of_xml(Xml.child_exn~context:context_xml_arg0"username")inletnetworkId=NetworkId.of_xml(Xml.child_exn~context:context_xml_arg0"networkId")inmake~challenge~groupId?displayName~username~networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letchallenge=field_map_exnjson__"challenge"SensitiveString.of_jsoninletgroupId=field_map_exnjson__"groupId"GenericString.of_jsoninletdisplayName=field_mapjson__"displayName"GenericString.of_jsoninletusername=field_map_exnjson__"username"GenericString.of_jsoninletnetworkId=field_map_exnjson__"networkId"NetworkId.of_jsoninmake~challenge~groupId?displayName~username~networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new bot in a specified Wickr network. Bots are automated accounts that can send and receive messages, enabling integration with external systems and automation of tasks."]moduleBatchToggleUserSuspendStatusResponse=structtypenonrect={message:GenericString.toption[@ocaml.doc"A message indicating the overall result of the batch suspend status toggle operation."];successful:BatchUserSuccessResponseItems.toption[@ocaml.doc"A list of user IDs whose suspend status was successfully toggled."];failed:BatchUserErrorResponseItems.toption[@ocaml.doc"A list of suspend status toggle attempts that failed, including error details explaining why each user's status could not be changed."]}typenonrecerror=[`BadRequestErrorofBadRequestError.t|`ForbiddenErrorofForbiddenError.t|`InternalServerErrorofInternalServerError.t|`RateLimitErrorofRateLimitError.t|`ResourceNotFoundErrorofResourceNotFoundError.t|`UnauthorizedErrorofUnauthorizedError.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?message=fun?successful->fun?failed->fun()->{message;successful;failed}leterror_of_jsonnamejson=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_jsonjson)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_jsonjson)|"InternalServerError"->`InternalServerError(InternalServerError.of_jsonjson)|"RateLimitError"->`RateLimitError(RateLimitError.of_jsonjson)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_jsonjson)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_xmlxml)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_xmlxml)|"InternalServerError"->`InternalServerError(InternalServerError.of_xmlxml)|"RateLimitError"->`RateLimitError(RateLimitError.of_xmlxml)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_xmlxml)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestErrore->`Assoc[("error",(`String"BadRequestError"));("details",(BadRequestError.to_jsone))]|`ForbiddenErrore->`Assoc[("error",(`String"ForbiddenError"));("details",(ForbiddenError.to_jsone))]|`InternalServerErrore->`Assoc[("error",(`String"InternalServerError"));("details",(InternalServerError.to_jsone))]|`RateLimitErrore->`Assoc[("error",(`String"RateLimitError"));("details",(RateLimitError.to_jsone))]|`ResourceNotFoundErrore->`Assoc[("error",(`String"ResourceNotFoundError"));("details",(ResourceNotFoundError.to_jsone))]|`UnauthorizedErrore->`Assoc[("error",(`String"UnauthorizedError"));("details",(UnauthorizedError.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("message",(Option.mapx.message~f:GenericString.to_value));("successful",(Option.mapx.successful~f:BatchUserSuccessResponseItems.to_value));("failed",(Option.mapx.failed~f:BatchUserErrorResponseItems.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letfailed=(Option.map~f:BatchUserErrorResponseItems.of_xml)(Xml.childxml_arg0"failed")inletsuccessful=(Option.map~f:BatchUserSuccessResponseItems.of_xml)(Xml.childxml_arg0"successful")inletmessage=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"message")inmake?failed?successful?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letfailed=field_mapjson__"failed"BatchUserErrorResponseItems.of_jsoninletsuccessful=field_mapjson__"successful"BatchUserSuccessResponseItems.of_jsoninletmessage=field_mapjson__"message"GenericString.of_jsoninmake?failed?successful?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Suspends or unsuspends multiple users in a Wickr network. Suspended users cannot access the network until they are unsuspended. This operation is useful for temporarily restricting access without deleting user accounts."]moduleBatchToggleUserSuspendStatusRequest=structtypenonrect={networkId:NetworkId.t[@ocaml.doc"The ID of the Wickr network where users will be suspended or unsuspended."];suspend:Boolean.t[@ocaml.doc"A boolean value indicating whether to suspend (true) or unsuspend (false) the specified users."];userIds:UserIds.t[@ocaml.doc"A list of user IDs identifying the users whose suspend status will be toggled. Maximum 50 users per batch request."];clientToken:ClientToken.toption[@ocaml.doc"A unique identifier for this request to ensure idempotency."]}letcontext_="BatchToggleUserSuspendStatusRequest"letmake?clientToken=fun~networkId->fun~suspend->fun~userIds->fun()->{clientToken;networkId;suspend;userIds}letto_valuex=structure_to_value[("networkId",(Some(NetworkId.to_valuex.networkId)));("suspend",(Some(Boolean.to_valuex.suspend)));("userIds",(Some(UserIds.to_valuex.userIds)));("X-Client-Token",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"X-Client-Token")inletuserIds=UserIds.of_xml(Xml.child_exn~context:context_xml_arg0"userIds")inletsuspend=Boolean.of_xml(Xml.child_exn~context:context_xml_arg0"suspend")inletnetworkId=NetworkId.of_xml(Xml.child_exn~context:context_xml_arg0"networkId")inmake?clientToken~userIds~suspend~networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletuserIds=field_map_exnjson__"userIds"UserIds.of_jsoninletsuspend=field_map_exnjson__"suspend"Boolean.of_jsoninletnetworkId=field_map_exnjson__"networkId"NetworkId.of_jsoninmake?clientToken~userIds~suspend~networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Suspends or unsuspends multiple users in a Wickr network. Suspended users cannot access the network until they are unsuspended. This operation is useful for temporarily restricting access without deleting user accounts."]moduleBatchResetDevicesForUserResponse=structtypenonrect={message:GenericString.toption[@ocaml.doc"A message indicating the overall result of the batch device reset operation."];successful:BatchDeviceSuccessResponseItems.toption[@ocaml.doc"A list of application IDs that were successfully reset."];failed:BatchDeviceErrorResponseItems.toption[@ocaml.doc"A list of device reset attempts that failed, including error details explaining why each device could not be reset."]}typenonrecerror=[`BadRequestErrorofBadRequestError.t|`ForbiddenErrorofForbiddenError.t|`InternalServerErrorofInternalServerError.t|`RateLimitErrorofRateLimitError.t|`ResourceNotFoundErrorofResourceNotFoundError.t|`UnauthorizedErrorofUnauthorizedError.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?message=fun?successful->fun?failed->fun()->{message;successful;failed}leterror_of_jsonnamejson=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_jsonjson)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_jsonjson)|"InternalServerError"->`InternalServerError(InternalServerError.of_jsonjson)|"RateLimitError"->`RateLimitError(RateLimitError.of_jsonjson)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_jsonjson)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_xmlxml)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_xmlxml)|"InternalServerError"->`InternalServerError(InternalServerError.of_xmlxml)|"RateLimitError"->`RateLimitError(RateLimitError.of_xmlxml)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_xmlxml)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestErrore->`Assoc[("error",(`String"BadRequestError"));("details",(BadRequestError.to_jsone))]|`ForbiddenErrore->`Assoc[("error",(`String"ForbiddenError"));("details",(ForbiddenError.to_jsone))]|`InternalServerErrore->`Assoc[("error",(`String"InternalServerError"));("details",(InternalServerError.to_jsone))]|`RateLimitErrore->`Assoc[("error",(`String"RateLimitError"));("details",(RateLimitError.to_jsone))]|`ResourceNotFoundErrore->`Assoc[("error",(`String"ResourceNotFoundError"));("details",(ResourceNotFoundError.to_jsone))]|`UnauthorizedErrore->`Assoc[("error",(`String"UnauthorizedError"));("details",(UnauthorizedError.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("message",(Option.mapx.message~f:GenericString.to_value));("successful",(Option.mapx.successful~f:BatchDeviceSuccessResponseItems.to_value));("failed",(Option.mapx.failed~f:BatchDeviceErrorResponseItems.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letfailed=(Option.map~f:BatchDeviceErrorResponseItems.of_xml)(Xml.childxml_arg0"failed")inletsuccessful=(Option.map~f:BatchDeviceSuccessResponseItems.of_xml)(Xml.childxml_arg0"successful")inletmessage=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"message")inmake?failed?successful?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letfailed=field_mapjson__"failed"BatchDeviceErrorResponseItems.of_jsoninletsuccessful=field_mapjson__"successful"BatchDeviceSuccessResponseItems.of_jsoninletmessage=field_mapjson__"message"GenericString.of_jsoninmake?failed?successful?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Resets multiple devices for a specific user in a Wickr network. This operation forces the selected devices to log out and requires users to re-authenticate, which is useful for security purposes or when devices need to be revoked."]moduleBatchResetDevicesForUserRequest=structtypenonrect={networkId:NetworkId.t[@ocaml.doc"The ID of the Wickr network containing the user whose devices will be reset."];userId:UserId.t[@ocaml.doc"The ID of the user whose devices will be reset."];appIds:AppIds.t[@ocaml.doc"A list of application IDs identifying the specific devices to be reset for the user. Maximum 50 devices per batch request."];clientToken:ClientToken.toption[@ocaml.doc"A unique identifier for this request to ensure idempotency."]}letcontext_="BatchResetDevicesForUserRequest"letmake?clientToken=fun~networkId->fun~userId->fun~appIds->fun()->{clientToken;networkId;userId;appIds}letto_valuex=structure_to_value[("networkId",(Some(NetworkId.to_valuex.networkId)));("userId",(Some(UserId.to_valuex.userId)));("appIds",(Some(AppIds.to_valuex.appIds)));("X-Client-Token",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"X-Client-Token")inletappIds=AppIds.of_xml(Xml.child_exn~context:context_xml_arg0"appIds")inletuserId=UserId.of_xml(Xml.child_exn~context:context_xml_arg0"userId")inletnetworkId=NetworkId.of_xml(Xml.child_exn~context:context_xml_arg0"networkId")inmake?clientToken~appIds~userId~networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletappIds=field_map_exnjson__"appIds"AppIds.of_jsoninletuserId=field_map_exnjson__"userId"UserId.of_jsoninletnetworkId=field_map_exnjson__"networkId"NetworkId.of_jsoninmake?clientToken~appIds~userId~networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Resets multiple devices for a specific user in a Wickr network. This operation forces the selected devices to log out and requires users to re-authenticate, which is useful for security purposes or when devices need to be revoked."]moduleBatchReinviteUserResponse=structtypenonrect={message:GenericString.toption[@ocaml.doc"A message indicating the overall result of the batch reinvitation operation."];successful:BatchUserSuccessResponseItems.toption[@ocaml.doc"A list of user IDs that were successfully reinvited."];failed:BatchUserErrorResponseItems.toption[@ocaml.doc"A list of reinvitation attempts that failed, including error details explaining why each user could not be reinvited."]}typenonrecerror=[`BadRequestErrorofBadRequestError.t|`ForbiddenErrorofForbiddenError.t|`InternalServerErrorofInternalServerError.t|`RateLimitErrorofRateLimitError.t|`ResourceNotFoundErrorofResourceNotFoundError.t|`UnauthorizedErrorofUnauthorizedError.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?message=fun?successful->fun?failed->fun()->{message;successful;failed}leterror_of_jsonnamejson=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_jsonjson)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_jsonjson)|"InternalServerError"->`InternalServerError(InternalServerError.of_jsonjson)|"RateLimitError"->`RateLimitError(RateLimitError.of_jsonjson)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_jsonjson)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_xmlxml)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_xmlxml)|"InternalServerError"->`InternalServerError(InternalServerError.of_xmlxml)|"RateLimitError"->`RateLimitError(RateLimitError.of_xmlxml)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_xmlxml)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestErrore->`Assoc[("error",(`String"BadRequestError"));("details",(BadRequestError.to_jsone))]|`ForbiddenErrore->`Assoc[("error",(`String"ForbiddenError"));("details",(ForbiddenError.to_jsone))]|`InternalServerErrore->`Assoc[("error",(`String"InternalServerError"));("details",(InternalServerError.to_jsone))]|`RateLimitErrore->`Assoc[("error",(`String"RateLimitError"));("details",(RateLimitError.to_jsone))]|`ResourceNotFoundErrore->`Assoc[("error",(`String"ResourceNotFoundError"));("details",(ResourceNotFoundError.to_jsone))]|`UnauthorizedErrore->`Assoc[("error",(`String"UnauthorizedError"));("details",(UnauthorizedError.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("message",(Option.mapx.message~f:GenericString.to_value));("successful",(Option.mapx.successful~f:BatchUserSuccessResponseItems.to_value));("failed",(Option.mapx.failed~f:BatchUserErrorResponseItems.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letfailed=(Option.map~f:BatchUserErrorResponseItems.of_xml)(Xml.childxml_arg0"failed")inletsuccessful=(Option.map~f:BatchUserSuccessResponseItems.of_xml)(Xml.childxml_arg0"successful")inletmessage=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"message")inmake?failed?successful?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letfailed=field_mapjson__"failed"BatchUserErrorResponseItems.of_jsoninletsuccessful=field_mapjson__"successful"BatchUserSuccessResponseItems.of_jsoninletmessage=field_mapjson__"message"GenericString.of_jsoninmake?failed?successful?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Resends invitation codes to multiple users who have pending invitations in a Wickr network. This operation is useful when users haven't accepted their initial invitations or when invitations have expired."]moduleBatchReinviteUserRequest=structtypenonrect={networkId:NetworkId.t[@ocaml.doc"The ID of the Wickr network where users will be reinvited."];userIds:UserIds.t[@ocaml.doc"A list of user IDs identifying the users to be reinvited to the network. Maximum 50 users per batch request."];clientToken:ClientToken.toption[@ocaml.doc"A unique identifier for this request to ensure idempotency."]}letcontext_="BatchReinviteUserRequest"letmake?clientToken=fun~networkId->fun~userIds->fun()->{clientToken;networkId;userIds}letto_valuex=structure_to_value[("networkId",(Some(NetworkId.to_valuex.networkId)));("userIds",(Some(UserIds.to_valuex.userIds)));("X-Client-Token",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"X-Client-Token")inletuserIds=UserIds.of_xml(Xml.child_exn~context:context_xml_arg0"userIds")inletnetworkId=NetworkId.of_xml(Xml.child_exn~context:context_xml_arg0"networkId")inmake?clientToken~userIds~networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletuserIds=field_map_exnjson__"userIds"UserIds.of_jsoninletnetworkId=field_map_exnjson__"networkId"NetworkId.of_jsoninmake?clientToken~userIds~networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Resends invitation codes to multiple users who have pending invitations in a Wickr network. This operation is useful when users haven't accepted their initial invitations or when invitations have expired."]moduleBatchLookupUserUnameResponse=structtypenonrect={message:GenericString.toption[@ocaml.doc"A message indicating the overall result of the batch lookup operation."];successful:BatchUnameSuccessResponseItems.toption[@ocaml.doc"A list of successfully resolved username hashes with their corresponding email addresses."];failed:BatchUnameErrorResponseItems.toption[@ocaml.doc"A list of username hash lookup attempts that failed, including error details explaining why each lookup failed."]}typenonrecerror=[`BadRequestErrorofBadRequestError.t|`ForbiddenErrorofForbiddenError.t|`InternalServerErrorofInternalServerError.t|`RateLimitErrorofRateLimitError.t|`ResourceNotFoundErrorofResourceNotFoundError.t|`UnauthorizedErrorofUnauthorizedError.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?message=fun?successful->fun?failed->fun()->{message;successful;failed}leterror_of_jsonnamejson=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_jsonjson)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_jsonjson)|"InternalServerError"->`InternalServerError(InternalServerError.of_jsonjson)|"RateLimitError"->`RateLimitError(RateLimitError.of_jsonjson)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_jsonjson)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_xmlxml)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_xmlxml)|"InternalServerError"->`InternalServerError(InternalServerError.of_xmlxml)|"RateLimitError"->`RateLimitError(RateLimitError.of_xmlxml)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_xmlxml)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestErrore->`Assoc[("error",(`String"BadRequestError"));("details",(BadRequestError.to_jsone))]|`ForbiddenErrore->`Assoc[("error",(`String"ForbiddenError"));("details",(ForbiddenError.to_jsone))]|`InternalServerErrore->`Assoc[("error",(`String"InternalServerError"));("details",(InternalServerError.to_jsone))]|`RateLimitErrore->`Assoc[("error",(`String"RateLimitError"));("details",(RateLimitError.to_jsone))]|`ResourceNotFoundErrore->`Assoc[("error",(`String"ResourceNotFoundError"));("details",(ResourceNotFoundError.to_jsone))]|`UnauthorizedErrore->`Assoc[("error",(`String"UnauthorizedError"));("details",(UnauthorizedError.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("message",(Option.mapx.message~f:GenericString.to_value));("successful",(Option.mapx.successful~f:BatchUnameSuccessResponseItems.to_value));("failed",(Option.mapx.failed~f:BatchUnameErrorResponseItems.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letfailed=(Option.map~f:BatchUnameErrorResponseItems.of_xml)(Xml.childxml_arg0"failed")inletsuccessful=(Option.map~f:BatchUnameSuccessResponseItems.of_xml)(Xml.childxml_arg0"successful")inletmessage=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"message")inmake?failed?successful?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letfailed=field_mapjson__"failed"BatchUnameErrorResponseItems.of_jsoninletsuccessful=field_mapjson__"successful"BatchUnameSuccessResponseItems.of_jsoninletmessage=field_mapjson__"message"GenericString.of_jsoninmake?failed?successful?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Looks up multiple user usernames from their unique username hashes (unames). This operation allows you to retrieve the email addresses associated with a list of username hashes."]moduleBatchLookupUserUnameRequest=structtypenonrect={networkId:NetworkId.t[@ocaml.doc"The ID of the Wickr network where the users will be looked up."];unames:Unames.t[@ocaml.doc"A list of username hashes (unames) to look up. Each uname is a unique identifier for a user's username. Maximum 50 unames per batch request."];clientToken:ClientToken.toption[@ocaml.doc"A unique identifier for this request to ensure idempotency."]}letcontext_="BatchLookupUserUnameRequest"letmake?clientToken=fun~networkId->fun~unames->fun()->{clientToken;networkId;unames}letto_valuex=structure_to_value[("networkId",(Some(NetworkId.to_valuex.networkId)));("unames",(Some(Unames.to_valuex.unames)));("X-Client-Token",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"X-Client-Token")inletunames=Unames.of_xml(Xml.child_exn~context:context_xml_arg0"unames")inletnetworkId=NetworkId.of_xml(Xml.child_exn~context:context_xml_arg0"networkId")inmake?clientToken~unames~networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletunames=field_map_exnjson__"unames"Unames.of_jsoninletnetworkId=field_map_exnjson__"networkId"NetworkId.of_jsoninmake?clientToken~unames~networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Looks up multiple user usernames from their unique username hashes (unames). This operation allows you to retrieve the email addresses associated with a list of username hashes."]moduleBatchDeleteUserResponse=structtypenonrect={message:GenericString.toption[@ocaml.doc"A message indicating the overall result of the batch deletion operation."];successful:BatchUserSuccessResponseItems.toption[@ocaml.doc"A list of user IDs that were successfully deleted from the network."];failed:BatchUserErrorResponseItems.toption[@ocaml.doc"A list of user deletion attempts that failed, including error details explaining why each user could not be deleted."]}typenonrecerror=[`BadRequestErrorofBadRequestError.t|`ForbiddenErrorofForbiddenError.t|`InternalServerErrorofInternalServerError.t|`RateLimitErrorofRateLimitError.t|`ResourceNotFoundErrorofResourceNotFoundError.t|`UnauthorizedErrorofUnauthorizedError.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?message=fun?successful->fun?failed->fun()->{message;successful;failed}leterror_of_jsonnamejson=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_jsonjson)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_jsonjson)|"InternalServerError"->`InternalServerError(InternalServerError.of_jsonjson)|"RateLimitError"->`RateLimitError(RateLimitError.of_jsonjson)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_jsonjson)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_xmlxml)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_xmlxml)|"InternalServerError"->`InternalServerError(InternalServerError.of_xmlxml)|"RateLimitError"->`RateLimitError(RateLimitError.of_xmlxml)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_xmlxml)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestErrore->`Assoc[("error",(`String"BadRequestError"));("details",(BadRequestError.to_jsone))]|`ForbiddenErrore->`Assoc[("error",(`String"ForbiddenError"));("details",(ForbiddenError.to_jsone))]|`InternalServerErrore->`Assoc[("error",(`String"InternalServerError"));("details",(InternalServerError.to_jsone))]|`RateLimitErrore->`Assoc[("error",(`String"RateLimitError"));("details",(RateLimitError.to_jsone))]|`ResourceNotFoundErrore->`Assoc[("error",(`String"ResourceNotFoundError"));("details",(ResourceNotFoundError.to_jsone))]|`UnauthorizedErrore->`Assoc[("error",(`String"UnauthorizedError"));("details",(UnauthorizedError.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("message",(Option.mapx.message~f:GenericString.to_value));("successful",(Option.mapx.successful~f:BatchUserSuccessResponseItems.to_value));("failed",(Option.mapx.failed~f:BatchUserErrorResponseItems.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letfailed=(Option.map~f:BatchUserErrorResponseItems.of_xml)(Xml.childxml_arg0"failed")inletsuccessful=(Option.map~f:BatchUserSuccessResponseItems.of_xml)(Xml.childxml_arg0"successful")inletmessage=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"message")inmake?failed?successful?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letfailed=field_mapjson__"failed"BatchUserErrorResponseItems.of_jsoninletsuccessful=field_mapjson__"successful"BatchUserSuccessResponseItems.of_jsoninletmessage=field_mapjson__"message"GenericString.of_jsoninmake?failed?successful?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes multiple users from a specified Wickr network. This operation permanently removes user accounts and their associated data from the network."]moduleBatchDeleteUserRequest=structtypenonrect={networkId:NetworkId.t[@ocaml.doc"The ID of the Wickr network from which users will be deleted."];userIds:UserIds.t[@ocaml.doc"A list of user IDs identifying the users to be deleted from the network. Maximum 50 users per batch request."];clientToken:ClientToken.toption[@ocaml.doc"A unique identifier for this request to ensure idempotency. If you retry a request with the same client token, the service will return the same response without attempting to delete users again."]}letcontext_="BatchDeleteUserRequest"letmake?clientToken=fun~networkId->fun~userIds->fun()->{clientToken;networkId;userIds}letto_valuex=structure_to_value[("networkId",(Some(NetworkId.to_valuex.networkId)));("userIds",(Some(UserIds.to_valuex.userIds)));("X-Client-Token",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"X-Client-Token")inletuserIds=UserIds.of_xml(Xml.child_exn~context:context_xml_arg0"userIds")inletnetworkId=NetworkId.of_xml(Xml.child_exn~context:context_xml_arg0"networkId")inmake?clientToken~userIds~networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletuserIds=field_map_exnjson__"userIds"UserIds.of_jsoninletnetworkId=field_map_exnjson__"networkId"NetworkId.of_jsoninmake?clientToken~userIds~networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes multiple users from a specified Wickr network. This operation permanently removes user accounts and their associated data from the network."]moduleBatchCreateUserResponse=structtypenonrect={message:GenericString.toption[@ocaml.doc"A message indicating the overall result of the batch operation."];successful:Users.toption[@ocaml.doc"A list of user objects that were successfully created, including their assigned user IDs and invite codes."];failed:BatchUserErrorResponseItems.toption[@ocaml.doc"A list of user creation attempts that failed, including error details explaining why each user could not be created."]}typenonrecerror=[`BadRequestErrorofBadRequestError.t|`ForbiddenErrorofForbiddenError.t|`InternalServerErrorofInternalServerError.t|`RateLimitErrorofRateLimitError.t|`ResourceNotFoundErrorofResourceNotFoundError.t|`UnauthorizedErrorofUnauthorizedError.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?message=fun?successful->fun?failed->fun()->{message;successful;failed}leterror_of_jsonnamejson=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_jsonjson)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_jsonjson)|"InternalServerError"->`InternalServerError(InternalServerError.of_jsonjson)|"RateLimitError"->`RateLimitError(RateLimitError.of_jsonjson)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_jsonjson)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestError"->`BadRequestError(BadRequestError.of_xmlxml)|"ForbiddenError"->`ForbiddenError(ForbiddenError.of_xmlxml)|"InternalServerError"->`InternalServerError(InternalServerError.of_xmlxml)|"RateLimitError"->`RateLimitError(RateLimitError.of_xmlxml)|"ResourceNotFoundError"->`ResourceNotFoundError(ResourceNotFoundError.of_xmlxml)|"UnauthorizedError"->`UnauthorizedError(UnauthorizedError.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestErrore->`Assoc[("error",(`String"BadRequestError"));("details",(BadRequestError.to_jsone))]|`ForbiddenErrore->`Assoc[("error",(`String"ForbiddenError"));("details",(ForbiddenError.to_jsone))]|`InternalServerErrore->`Assoc[("error",(`String"InternalServerError"));("details",(InternalServerError.to_jsone))]|`RateLimitErrore->`Assoc[("error",(`String"RateLimitError"));("details",(RateLimitError.to_jsone))]|`ResourceNotFoundErrore->`Assoc[("error",(`String"ResourceNotFoundError"));("details",(ResourceNotFoundError.to_jsone))]|`UnauthorizedErrore->`Assoc[("error",(`String"UnauthorizedError"));("details",(UnauthorizedError.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("message",(Option.mapx.message~f:GenericString.to_value));("successful",(Option.mapx.successful~f:Users.to_value));("failed",(Option.mapx.failed~f:BatchUserErrorResponseItems.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letfailed=(Option.map~f:BatchUserErrorResponseItems.of_xml)(Xml.childxml_arg0"failed")inletsuccessful=(Option.map~f:Users.of_xml)(Xml.childxml_arg0"successful")inletmessage=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"message")inmake?failed?successful?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letfailed=field_mapjson__"failed"BatchUserErrorResponseItems.of_jsoninletsuccessful=field_mapjson__"successful"Users.of_jsoninletmessage=field_mapjson__"message"GenericString.of_jsoninmake?failed?successful?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates multiple users in a specified Wickr network. This operation allows you to provision multiple user accounts simultaneously, optionally specifying security groups, and validation requirements for each user. codeValidation, inviteCode, and inviteCodeTtl are restricted to networks under preview only."]moduleBatchCreateUserRequest=structtypenonrect={networkId:NetworkId.t[@ocaml.doc"The ID of the Wickr network where users will be created."];users:BatchCreateUserRequestItems.t[@ocaml.doc"A list of user objects containing the details for each user to be created, including username, name, security groups, and optional invite codes. Maximum 50 users per batch request."];clientToken:ClientToken.toption[@ocaml.doc"A unique identifier for this request to ensure idempotency. If you retry a request with the same client token, the service will return the same response without creating duplicate users."]}letcontext_="BatchCreateUserRequest"letmake?clientToken=fun~networkId->fun~users->fun()->{clientToken;networkId;users}letto_valuex=structure_to_value[("networkId",(Some(NetworkId.to_valuex.networkId)));("users",(Some(BatchCreateUserRequestItems.to_valuex.users)));("X-Client-Token",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"X-Client-Token")inletusers=BatchCreateUserRequestItems.of_xml(Xml.child_exn~context:context_xml_arg0"users")inletnetworkId=NetworkId.of_xml(Xml.child_exn~context:context_xml_arg0"networkId")inmake?clientToken~users~networkId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletusers=field_map_exnjson__"users"BatchCreateUserRequestItems.of_jsoninletnetworkId=field_map_exnjson__"networkId"NetworkId.of_jsoninmake?clientToken~users~networkId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates multiple users in a specified Wickr network. This operation allows you to provision multiple user accounts simultaneously, optionally specifying security groups, and validation requirements for each user. codeValidation, inviteCode, and inviteCodeTtl are restricted to networks under preview only."]