# Simulation

## Get simulation personas

> Retrieve simulation personas that match the given filters.\
> \
> \#### Permissions\
> This endpoint may be impacted by the following permissions:\
> \* Only simulation personas that the authenticated user has \`Simulation:GetSimulationPersona\` permission for will be retrieved.

```json
{"openapi":"3.1.0","info":{"title":"Amigo API","version":"0.1.0"},"servers":[{"url":"https://api.amigo.ai"},{"url":"https://internal-api.amigo.ai"},{"url":"https://api-eu-central-1.amigo.ai"},{"url":"https://api-ap-southeast-2.amigo.ai"},{"url":"https://api-ca-central-1.amigo.ai"}],"security":[{"Bearer-Authorization":[],"Bearer-Authorization-Organization":[],"Basic":[]}],"components":{"securitySchemes":{"Bearer-Authorization":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Amigo issued JWT token that identifies an user. It's issued either after logging in through the frontend, or manually through the [`SignInWithAPIKey`](sign-in-with-api-key) endpoint."}},"schemas":{"src__app__endpoints__simulation__get_simulation_personas__Response":{"properties":{"simulation_personas":{"items":{"$ref":"#/components/schemas/SimulationPersonaInstance"},"type":"array","title":"Simulation Personas","description":"The list of simulation personas."},"has_more":{"type":"boolean","title":"Has More","description":"Whether there are more simulation personas to fetch."},"continuation_token":{"anyOf":[{},{"type":"null"}],"title":"Continuation Token","description":"The continuation token to use to retrieve the next page of simulation personas."},"filter_values":{"anyOf":[{"$ref":"#/components/schemas/src__app__endpoints__simulation__get_simulation_personas__Response__FilterValues"},{"type":"null"}],"description":"For each filter that this endpoint supports that can take on dynamic values, this field includes what these values are. This is only provided for the first page in the pagination results.\n\nNote that the values are counted assuming the authenticated user has access to all the simulation personas, so they might differ from how many personas are actually\nretrieved."}},"type":"object","required":["simulation_personas","has_more","continuation_token","filter_values"],"title":"Response"},"SimulationPersonaInstance":{"properties":{"id":{"type":"string","title":"Id","description":"The ID of the simulation persona."},"name":{"type":"string","title":"Name","description":"The name of the simulation persona."},"role":{"type":"string","title":"Role","description":"The role of the simulation persona."},"tags":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"object","title":"Tags","description":"The tags of the simulation persona."},"is_deleted":{"type":"boolean","title":"Is Deleted","description":"Whether the simulation persona is deleted."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The timestamp when the simulation persona was created."},"creator":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_persona__SimulationPersona__UserInfo","description":"The user who created the simulation persona."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"The timestamp when the simulation persona was last updated."},"updated_by":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_persona__SimulationPersona__UserInfo","description":"The user who last updated the simulation persona."}},"type":"object","required":["id","name","role","tags","is_deleted","created_at","creator","updated_at","updated_by"],"title":"SimulationPersonaInstance"},"amigo_lib__mongo__collections__simulation_persona__SimulationPersona__UserInfo":{"properties":{"org_id":{"type":"string","title":"Org Id"},"user_id":{"type":"string","title":"User Id"}},"type":"object","required":["org_id","user_id"],"title":"UserInfo"},"src__app__endpoints__simulation__get_simulation_personas__Response__FilterValues":{"properties":{"creators":{"items":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_persona__SimulationPersona__UserInfo"},"type":"array","title":"Creators","description":"The list of users who created the simulation personas."},"tags":{"items":{"type":"string"},"type":"array","title":"Tags","description":"The list of tags of the simulation personas."},"roles":{"items":{"type":"string"},"type":"array","title":"Roles","description":"The list of roles of the simulation personas."}},"type":"object","required":["creators","tags","roles"],"title":"FilterValues"}}},"paths":{"/v1/{organization}/simulation/persona/":{"get":{"tags":["Simulation"],"summary":"Get simulation personas","description":"Retrieve simulation personas that match the given filters.\n\n#### Permissions\nThis endpoint may be impacted by the following permissions:\n* Only simulation personas that the authenticated user has `Simulation:GetSimulationPersona` permission for will be retrieved.","operationId":"get-simulation-personas","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the simulation personas to retrieve.","default":[],"title":"Id"},"description":"The IDs of the simulation personas to retrieve."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":0,"description":"The maximum number of simulation personas to return.","default":50,"title":"Limit"},"description":"The maximum number of simulation personas to return."},{"name":"continuation_token","in":"query","required":false,"schema":{"type":"integer","description":"The continuation token from the previous request used to retrieve the next page of simulation personas.","default":0,"title":"Continuation Token"},"description":"The continuation token from the previous request used to retrieve the next page of simulation personas."},{"name":"is_deleted","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Whether the simulation persona is deleted.","title":"Is Deleted"},"description":"Whether the simulation persona is deleted."},{"name":"role","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string"},"description":"The roles of the simulation personas.","default":[],"title":"Role"},"description":"The roles of the simulation personas."},{"name":"creator","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string"},"description":"The creators of the simulation personas to retrieve. Each value must be of the format `org_id,user_id`.","default":[],"title":"Creator"},"description":"The creators of the simulation personas to retrieve. Each value must be of the format `org_id,user_id`."},{"name":"tag","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The tags of the simulation personas to retrieve. Each value must be of the format `key:value`. If `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`.","default":[],"title":"Tag"},"description":"The tags of the simulation personas to retrieve. Each value must be of the format `key:value`. If `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`."},{"name":"sort_by","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The fields to sort the sets by. Supported fields are `updated_at`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties.","default":[],"title":"Sort By"},"description":"The fields to sort the sets by. Supported fields are `updated_at`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__get_simulation_personas__Response"}}}},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"404":{"description":"Specified organization is not found."},"422":{"description":"Invalid request path parameter or request query parameter failed validation."},"429":{"description":"The user has exceeded the rate limit of 50 requests per minute for this endpoint."},"503":{"description":"The service is going through temporary maintenance."}}}}}}
```

## Create a simulation persona

> Create a simulation persona.\
> \
> \#### Permissions\
> \* \`Simulation:CreateSimulationPersona\` for the persona to create.\
> \* \`Simulation:ModifySimulationPersona\` for the persona to create.

```json
{"openapi":"3.1.0","info":{"title":"Amigo API","version":"0.1.0"},"servers":[{"url":"https://api.amigo.ai"},{"url":"https://internal-api.amigo.ai"},{"url":"https://api-eu-central-1.amigo.ai"},{"url":"https://api-ap-southeast-2.amigo.ai"},{"url":"https://api-ca-central-1.amigo.ai"}],"security":[{"Bearer-Authorization":[],"Bearer-Authorization-Organization":[],"Basic":[]}],"components":{"securitySchemes":{"Bearer-Authorization":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Amigo issued JWT token that identifies an user. It's issued either after logging in through the frontend, or manually through the [`SignInWithAPIKey`](sign-in-with-api-key) endpoint."}},"schemas":{"src__app__endpoints__simulation__create_simulation_persona__Request":{"properties":{"name":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"The name of the simulation persona."},"role":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"The role of the simulation persona."},"tags":{"additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/StrippedNonemptyString___w__s_____"},{"type":"null"}]},"propertyNames":{"$ref":"#/components/schemas/StrippedNonemptyString___w__s_____"},"type":"object","maxProperties":20,"title":"Tags","description":"The tags of the simulation persona. Both the key and the value can only contain alphanumeric characters, underscores, or spaces."},"initial_version":{"$ref":"#/components/schemas/src__app__endpoints__simulation__create_simulation_persona__Request__InitialVersion","description":"The initial version of the simulation persona."}},"type":"object","required":["name","role","tags","initial_version"],"title":"Request"},"amigo_lib__pydantic__base_model__StrippedNonemptyString__1":{"type":"string","minLength":1},"StrippedNonemptyString___w__s_____":{"type":"string","minLength":1,"pattern":"^[\\w\\s]+$"},"src__app__endpoints__simulation__create_simulation_persona__Request__InitialVersion":{"properties":{"background":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"The background of the simulation persona."},"preferred_language":{"anyOf":[{"type":"string","enum":["aaa","aab","aac","aad","aae","aaf","aag","aah","aai","aak","aal","aan","aao","aap","aaq","aar","aas","aat","aau","aaw","aax","aaz","aba","abb","abc","abd","abe","abf","abg","abh","abi","abj","abk","abl","abm","abn","abo","abp","abq","abr","abs","abt","abu","abv","abw","abx","aby","abz","aca","acb","acd","ace","acf","ach","aci","ack","acl","acm","acn","acp","acq","acr","acs","act","acu","acv","acw","acx","acy","acz","ada","adb","add","ade","adf","adg","adh","adi","adj","adl","adn","ado","adq","adr","ads","adt","adu","adw","adx","ady","adz","aea","aeb","aec","aed","aee","aek","ael","aem","aen","aeq","aer","aes","aeu","aew","aey","aez","afb","afd","afe","afg","afh","afi","afk","afn","afo","afp","afr","afs","aft","afu","afz","aga","agb","agc","agd","age","agf","agg","agh","agi","agj","agk","agl","agm","agn","ago","agq","agr","ags","agt","agu","agv","agw","agx","agy","agz","aha","ahb","ahg","ahh","ahi","ahk","ahl","ahm","ahn","aho","ahp","ahr","ahs","aht","aia","aib","aic","aid","aie","aif","aig","aih","aii","aij","aik","ail","aim","ain","aio","aip","aiq","air","ait","aiw","aix","aiy","aja","ajg","aji","ajn","ajp","ajs","aju","ajw","ajz","aka","akb","akc","akd","ake","akf","akg","akh","aki","akj","akk","akl","akm","ako","akp","akq","akr","aks","akt","aku","akv","akw","akx","aky","akz","ala","alc","ald","ale","alf","alh","ali","alj","alk","all","alm","aln","alo","alp","alq","alr","als","alt","alu","alw","alx","aly","alz","ama","amb","amc","ame","amf","amg","amh","ami","amj","amk","aml","amm","amn","amo","amp","amq","amr","ams","amt","amu","amv","amw","amx","amy","amz","ana","anb","anc","and","ane","anf","ang","anh","ani","anj","ank","anl","anm","ann","ano","anp","anq","anr","ans","ant","anu","anv","anw","anx","any","anz","aoa","aob","aoc","aod","aoe","aof","aog","aoi","aoj","aok","aol","aom","aon","aor","aos","aot","aou","aox","aoz","apb","apc","apd","ape","apf","apg","aph","api","apj","apk","apl","apm","apn","apo","app","apq","apr","aps","apt","apu","apv","apw","apx","apy","apz","aqc","aqd","aqg","aqk","aqm","aqn","aqp","aqr","aqt","aqz","ara","arb","arc","ard","are","arg","arh","ari","arj","ark","arl","arn","aro","arp","arq","arr","ars","aru","arv","arw","arx","ary","arz","asa","asb","asc","ase","asf","asg","ash","asi","asj","ask","asl","asm","asn","aso","asp","asq","asr","ass","ast","asu","asv","asw","asx","asy","asz","ata","atb","atc","atd","ate","atg","ati","atj","atk","atl","atm","atn","ato","atp","atq","atr","ats","att","atu","atv","atw","atx","aty","atz","aua","aub","auc","aud","aug","auh","aui","auj","auk","aul","aum","aun","auo","aup","auq","aur","aut","auu","auw","aux","auy","auz","ava","avb","avd","ave","avi","avk","avl","avm","avn","avo","avs","avt","avu","avv","awa","awb","awc","awe","awg","awh","awi","awk","awm","awn","awo","awr","aws","awt","awu","awv","aww","awx","awy","axb","axe","axg","axk","axl","axm","axx","aya","ayb","ayc","ayd","aye","ayg","ayh","ayi","ayk","ayl","aym","ayn","ayo","ayp","ayq","ayr","ays","ayt","ayu","ayz","aza","azb","azd","aze","azg","azj","azm","azn","azo","azt","azz","baa","bab","bac","bae","baf","bag","bah","baj","bak","bal","bam","ban","bao","bap","bar","bas","bau","bav","baw","bax","bay","bba","bbb","bbc","bbd","bbe","bbf","bbg","bbh","bbi","bbj","bbk","bbl","bbm","bbn","bbo","bbp","bbq","bbr","bbs","bbt","bbu","bbv","bbw","bbx","bby","bca","bcb","bcc","bcd","bce","bcf","bcg","bch","bci","bcj","bck","bcl","bcm","bcn","bco","bcp","bcq","bcr","bcs","bct","bcu","bcv","bcw","bcy","bcz","bda","bdb","bdc","bdd","bde","bdf","bdg","bdh","bdi","bdj","bdk","bdl","bdm","bdn","bdo","bdp","bdq","bdr","bds","bdt","bdu","bdv","bdw","bdx","bdy","bdz","bea","beb","bec","bed","bee","bef","beg","beh","bei","bej","bek","bel","bem","ben","beo","bep","beq","bes","bet","beu","bev","bew","bex","bey","bez","bfa","bfb","bfc","bfd","bfe","bff","bfg","bfh","bfi","bfj","bfk","bfl","bfm","bfn","bfo","bfp","bfq","bfr","bfs","bft","bfu","bfw","bfx","bfy","bfz","bga","bgb","bgc","bgd","bge","bgf","bgg","bgi","bgj","bgk","bgl","bgn","bgo","bgp","bgq","bgr","bgs","bgt","bgu","bgv","bgw","bgx","bgy","bgz","bha","bhb","bhc","bhd","bhe","bhf","bhg","bhh","bhi","bhj","bhl","bhm","bhn","bho","bhp","bhq","bhr","bhs","bht","bhu","bhv","bhw","bhx","bhy","bhz","bia","bib","bid","bie","bif","big","bik","bil","bim","bin","bio","bip","biq","bir","bis","bit","biu","biv","biw","bix","biy","biz","bja","bjb","bjc","bje","bjf","bjg","bjh","bji","bjj","bjk","bjl","bjm","bjn","bjo","bjp","bjr","bjs","bjt","bju","bjv","bjw","bjx","bjy","bjz","bka","bkc","bkd","bkf","bkg","bkh","bki","bkj","bkk","bkl","bkm","bkn","bko","bkp","bkq","bkr","bks","bkt","bku","bkv","bkw","bkx","bky","bkz","bla","blb","blc","bld","ble","blf","blh","bli","blj","blk","bll","blm","bln","blo","blp","blq","blr","bls","blt","blv","blw","blx","bly","blz","bma","bmb","bmc","bmd","bme","bmf","bmg","bmh","bmi","bmj","bmk","bml","bmm","bmn","bmo","bmp","bmq","bmr","bms","bmt","bmu","bmv","bmw","bmx","bmz","bna","bnb","bnc","bnd","bne","bnf","bng","bni","bnj","bnk","bnl","bnm","bnn","bno","bnp","bnq","bnr","bns","bnu","bnv","bnw","bnx","bny","bnz","boa","bob","bod","boe","bof","bog","boh","boi","boj","bok","bol","bom","bon","boo","bop","boq","bor","bos","bot","bou","bov","bow","box","boy","boz","bpa","bpc","bpd","bpe","bpg","bph","bpi","bpj","bpk","bpl","bpm","bpn","bpo","bpp","bpq","bpr","bps","bpt","bpu","bpv","bpw","bpx","bpy","bpz","bqa","bqb","bqc","bqd","bqf","bqg","bqh","bqi","bqj","bqk","bql","bqm","bqn","bqo","bqp","bqq","bqr","bqs","bqt","bqu","bqv","bqw","bqx","bqy","bqz","bra","brb","brc","brd","bre","brf","brg","brh","bri","brj","brk","brl","brm","brn","bro","brp","brq","brr","brs","brt","bru","brv","brw","brx","bry","brz","bsa","bsb","bsc","bse","bsf","bsg","bsh","bsi","bsj","bsk","bsl","bsm","bsn","bso","bsp","bsq","bsr","bss","bst","bsu","bsv","bsw","bsx","bsy","bta","btc","btd","bte","btf","btg","bth","bti","btj","btm","btn","bto","btp","btq","btr","bts","btt","btu","btv","btw","btx","bty","btz","bua","bub","buc","bud","bue","buf","bug","buh","bui","buj","buk","bul","bum","bun","buo","bup","buq","bus","but","buu","buv","buw","bux","buy","buz","bva","bvb","bvc","bvd","bve","bvf","bvg","bvh","bvi","bvj","bvk","bvl","bvm","bvn","bvo","bvp","bvq","bvr","bvt","bvu","bvv","bvw","bvx","bvy","bvz","bwa","bwb","bwc","bwd","bwe","bwf","bwg","bwh","bwi","bwj","bwk","bwl","bwm","bwn","bwo","bwp","bwq","bwr","bws","bwt","bwu","bww","bwx","bwy","bwz","bxa","bxb","bxc","bxd","bxe","bxf","bxg","bxh","bxi","bxj","bxk","bxl","bxm","bxn","bxo","bxp","bxq","bxr","bxs","bxu","bxv","bxw","bxz","bya","byb","byc","byd","bye","byf","byg","byh","byi","byj","byk","byl","bym","byn","byo","byp","byq","byr","bys","byt","byv","byw","byx","byz","bza","bzb","bzc","bzd","bze","bzf","bzg","bzh","bzi","bzj","bzk","bzl","bzm","bzn","bzo","bzp","bzq","bzr","bzs","bzt","bzu","bzv","bzw","bzx","bzy","bzz","caa","cab","cac","cad","cae","caf","cag","cah","caj","cak","cal","cam","can","cao","cap","caq","car","cas","cat","cav","caw","cax","cay","caz","cbb","cbc","cbd","cbg","cbi","cbj","cbk","cbl","cbn","cbo","cbq","cbr","cbs","cbt","cbu","cbv","cbw","cby","ccc","ccd","cce","ccg","cch","ccj","ccl","ccm","cco","ccp","ccr","cda","cde","cdf","cdh","cdi","cdj","cdm","cdn","cdo","cdr","cds","cdy","cdz","cea","ceb","ceg","cek","cen","ces","cet","cey","cfa","cfd","cfg","cfm","cga","cgc","cgg","cgk","cha","chb","chc","chd","che","chf","chg","chh","chj","chk","chl","chm","chn","cho","chp","chq","chr","cht","chu","chv","chw","chx","chy","chz","cia","cib","cic","cid","cie","cih","cik","cim","cin","cip","cir","ciw","ciy","cja","cje","cjh","cji","cjk","cjm","cjn","cjo","cjp","cjs","cjv","cjy","ckb","ckh","ckl","ckm","ckn","cko","ckq","ckr","cks","ckt","cku","ckv","ckx","cky","ckz","cla","clc","cld","cle","clh","cli","clj","clk","cll","clm","clo","clt","clu","clw","cly","cma","cme","cmg","cmi","cml","cmm","cmn","cmo","cmr","cms","cmt","cna","cnb","cnc","cng","cnh","cni","cnk","cnl","cno","cnp","cnq","cnr","cns","cnt","cnu","cnw","cnx","coa","cob","coc","cod","coe","cof","cog","coh","coj","cok","col","com","con","coo","cop","coq","cor","cos","cot","cou","cov","cow","cox","coz","cpa","cpb","cpc","cpg","cpi","cpn","cpo","cps","cpu","cpx","cpy","cqd","cra","crb","crc","crd","cre","crf","crg","crh","cri","crj","crk","crl","crm","crn","cro","crq","crr","crs","crt","crv","crw","crx","cry","crz","csa","csb","csc","csd","cse","csf","csg","csh","csi","csj","csk","csl","csm","csn","cso","csp","csq","csr","css","cst","csv","csw","csx","csy","csz","cta","ctc","ctd","cte","ctg","cth","ctl","ctm","ctn","cto","ctp","cts","ctt","ctu","cty","ctz","cua","cub","cuc","cuh","cui","cuj","cuk","cul","cuo","cup","cuq","cur","cut","cuu","cuv","cuw","cux","cuy","cvg","cvn","cwa","cwb","cwd","cwe","cwg","cwt","cya","cyb","cym","cyo","czh","czk","czn","czo","czt","daa","dac","dad","dae","dag","dah","dai","daj","dak","dal","dam","dan","dao","daq","dar","das","dau","dav","daw","dax","daz","dba","dbb","dbd","dbe","dbf","dbg","dbi","dbj","dbl","dbm","dbn","dbo","dbp","dbq","dbr","dbt","dbu","dbv","dbw","dby","dcc","dcr","dda","ddd","dde","ddg","ddi","ddj","ddn","ddo","ddr","dds","ddw","dec","ded","dee","def","deg","deh","dei","dek","del","dem","den","dep","deq","der","des","deu","dev","dez","dga","dgb","dgc","dgd","dge","dgg","dgh","dgi","dgk","dgl","dgn","dgo","dgr","dgs","dgt","dgw","dgx","dgz","dhd","dhg","dhi","dhl","dhm","dhn","dho","dhr","dhs","dhu","dhv","dhw","dhx","dia","dib","dic","did","dif","dig","dih","dii","dij","dik","dil","dim","din","dio","dip","diq","dir","dis","diu","div","diw","dix","diy","diz","dja","djb","djc","djd","dje","djf","dji","djj","djk","djm","djn","djo","djr","dju","djw","dka","dkg","dkk","dkr","dks","dkx","dlg","dlk","dlm","dln","dma","dmb","dmc","dmd","dme","dmf","dmg","dmk","dml","dmm","dmo","dmr","dms","dmu","dmv","dmw","dmx","dmy","dna","dnd","dne","dng","dni","dnj","dnk","dnn","dno","dnr","dnt","dnu","dnv","dnw","dny","doa","dob","doc","doe","dof","doh","doi","dok","dol","don","doo","dop","doq","dor","dos","dot","dov","dow","dox","doy","doz","dpp","drb","drc","drd","dre","drg","dri","drl","drn","dro","drq","drs","drt","dru","dry","dsb","dse","dsh","dsi","dsl","dsn","dso","dsq","dsz","dta","dtb","dtd","dth","dti","dtk","dtm","dtn","dto","dtp","dtr","dts","dtt","dtu","dty","dua","dub","duc","due","duf","dug","duh","dui","duk","dul","dum","dun","duo","dup","duq","dur","dus","duu","duv","duw","dux","duy","duz","dva","dwa","dwk","dwr","dws","dwu","dww","dwy","dwz","dya","dyb","dyd","dyg","dyi","dym","dyn","dyo","dyu","dyy","dza","dze","dzg","dzl","dzn","dzo","eaa","ebc","ebg","ebk","ebo","ebr","ebu","ecr","ecs","ecy","eee","efa","efe","efi","ega","egl","egm","ego","egy","ehs","ehu","eip","eit","eiv","eja","eka","eke","ekg","eki","ekk","ekl","ekm","eko","ekp","ekr","eky","ele","elh","eli","elk","ell","elm","elo","elu","elx","ema","emb","eme","emg","emi","emk","emm","emn","emp","emq","ems","emu","emw","emx","emy","emz","ena","enb","enc","end","enf","eng","enh","enl","enm","enn","eno","enq","enr","enu","env","enw","enx","eot","epi","epo","era","erg","erh","eri","erk","ero","err","ers","ert","erw","ese","esg","esh","esi","esk","esl","esm","esn","eso","esq","ess","est","esu","esy","etb","etc","eth","etn","eto","etr","ets","ett","etu","etx","etz","eus","eve","evh","evn","ewe","ewo","ext","eya","eyo","eza","eze","faa","fab","fad","faf","fag","fah","fai","faj","fak","fal","fam","fan","fao","fap","far","fas","fat","fau","fax","fay","faz","fbl","fcs","fer","ffi","ffm","fgr","fia","fie","fif","fij","fil","fin","fip","fir","fit","fiw","fkk","fkv","fla","flh","fli","fll","fln","flr","fly","fmp","fmu","fnb","fng","fni","fod","foi","fom","fon","for","fos","fpe","fqs","fra","frc","frd","frk","frm","fro","frp","frq","frr","frs","frt","fry","fse","fsl","fss","fub","fuc","fud","fue","fuf","fuh","fui","fuj","ful","fum","fun","fuq","fur","fut","fuu","fuv","fuy","fvr","fwa","fwe","gaa","gab","gac","gad","gae","gaf","gag","gah","gai","gaj","gak","gal","gam","gan","gao","gap","gaq","gar","gas","gat","gau","gaw","gax","gay","gaz","gba","gbb","gbd","gbe","gbf","gbg","gbh","gbi","gbj","gbk","gbl","gbm","gbn","gbo","gbp","gbq","gbr","gbs","gbu","gbv","gbw","gbx","gby","gbz","gcc","gcd","gce","gcf","gcl","gcn","gcr","gct","gda","gdb","gdc","gdd","gde","gdf","gdg","gdh","gdi","gdj","gdk","gdl","gdm","gdn","gdo","gdq","gdr","gds","gdt","gdu","gdx","gea","geb","gec","ged","gef","geg","geh","gei","gej","gek","gel","geq","ges","gev","gew","gex","gey","gez","gfk","gft","gga","ggb","ggd","gge","ggg","ggk","ggl","ggt","ggu","ggw","gha","ghc","ghe","ghh","ghk","ghl","ghn","gho","ghr","ghs","ght","gia","gib","gic","gid","gie","gig","gih","gii","gil","gim","gin","gip","giq","gir","gis","git","giu","giw","gix","giy","giz","gjk","gjm","gjn","gjr","gju","gka","gkd","gke","gkn","gko","gkp","gku","gla","glb","glc","gld","gle","glg","glh","glj","glk","gll","glo","glr","glu","glv","glw","gly","gma","gmb","gmd","gmg","gmh","gml","gmm","gmn","gmr","gmu","gmv","gmx","gmy","gmz","gna","gnb","gnc","gnd","gne","gng","gnh","gni","gnj","gnk","gnl","gnm","gnn","gno","gnq","gnr","gnt","gnu","gnw","gnz","goa","gob","goc","god","goe","gof","gog","goh","goi","goj","gok","gol","gom","gon","goo","gop","goq","gor","gos","got","gou","gov","gow","gox","goy","goz","gpa","gpe","gpn","gqa","gqi","gqn","gqr","gqu","gra","grb","grc","grd","grg","grh","gri","grj","grm","grn","gro","grq","grr","grs","grt","gru","grv","grw","grx","gry","grz","gse","gsg","gsl","gsm","gsn","gso","gsp","gss","gsw","gta","gtu","gua","gub","guc","gud","gue","guf","gug","guh","gui","guj","guk","gul","gum","gun","guo","gup","guq","gur","gus","gut","guu","guw","gux","guz","gva","gvc","gve","gvf","gvj","gvl","gvm","gvn","gvo","gvp","gvr","gvs","gvy","gwa","gwb","gwc","gwd","gwe","gwf","gwg","gwi","gwj","gwm","gwn","gwr","gwt","gwu","gww","gwx","gxx","gya","gyb","gyd","gye","gyf","gyg","gyi","gyl","gym","gyn","gyo","gyr","gyy","gyz","gza","gzi","gzn","haa","hab","hac","had","hae","haf","hag","hah","hai","haj","hak","hal","ham","han","hao","hap","haq","har","has","hat","hau","hav","haw","hax","hay","haz","hba","hbb","hbn","hbo","hbs","hbu","hca","hch","hdn","hds","hdy","hea","heb","hed","heg","heh","hei","hem","her","hgm","hgw","hhi","hhr","hhy","hia","hib","hid","hif","hig","hih","hii","hij","hik","hil","hin","hio","hir","hit","hiw","hix","hji","hka","hke","hkh","hkk","hkn","hks","hla","hlb","hld","hle","hlt","hlu","hma","hmb","hmc","hmd","hme","hmf","hmg","hmh","hmi","hmj","hmk","hml","hmm","hmn","hmo","hmp","hmq","hmr","hms","hmt","hmu","hmv","hmw","hmy","hmz","hna","hnd","hne","hng","hnh","hni","hnj","hnn","hno","hns","hnu","hoa","hob","hoc","hod","hoe","hoh","hoi","hoj","hol","hom","hoo","hop","hor","hos","hot","hov","how","hoy","hoz","hpo","hps","hra","hrc","hre","hrk","hrm","hro","hrp","hrt","hru","hrv","hrw","hrx","hrz","hsb","hsh","hsl","hsn","hss","hti","hto","hts","htu","htx","hub","huc","hud","hue","huf","hug","huh","hui","huj","huk","hul","hum","hun","huo","hup","huq","hur","hus","hut","huu","huv","huw","hux","huy","huz","hvc","hve","hvk","hvn","hvv","hwa","hwc","hwo","hya","hye","hyw","iai","ian","iar","iba","ibb","ibd","ibe","ibg","ibh","ibl","ibm","ibn","ibo","ibr","ibu","iby","ica","ich","icl","icr","ida","idb","idc","idd","ide","idi","ido","idr","ids","idt","idu","ifa","ifb","ife","iff","ifk","ifm","ifu","ify","igb","ige","igg","igl","igm","ign","igo","igs","igw","ihb","ihi","ihp","ihw","iii","iin","ijc","ije","ijj","ijn","ijs","ike","iki","ikk","ikl","iko","ikp","ikr","iks","ikt","iku","ikv","ikw","ikx","ikz","ila","ilb","ile","ilg","ili","ilk","ilm","ilo","ilp","ils","ilu","ilv","ima","imi","iml","imn","imo","imr","ims","imt","imy","ina","inb","ind","ing","inh","inj","inl","inm","inn","ino","inp","ins","int","inz","ior","iou","iow","ipi","ipk","ipo","iqu","iqw","ire","irh","iri","irk","irn","irr","iru","irx","iry","isa","isc","isd","ise","isg","ish","isi","isk","isl","ism","isn","iso","isr","ist","isu","ita","itb","itd","ite","iti","itk","itl","itm","ito","itr","its","itt","itv","itw","itx","ity","itz","ium","ivb","ivv","iwk","iwm","iwo","iws","ixc","ixl","iya","iyo","iyx","izh","izr","izz","jaa","jab","jac","jad","jae","jaf","jah","jaj","jak","jal","jam","jan","jao","jaq","jas","jat","jau","jav","jax","jay","jaz","jbe","jbi","jbj","jbk","jbm","jbn","jbo","jbr","jbt","jbu","jbw","jcs","jct","jda","jdg","jdt","jeb","jee","jeh","jei","jek","jel","jen","jer","jet","jeu","jgb","jge","jgk","jgo","jhi","jhs","jia","jib","jic","jid","jie","jig","jih","jii","jil","jim","jio","jiq","jit","jiu","jiv","jiy","jje","jjr","jka","jkm","jko","jkp","jkr","jks","jku","jle","jls","jma","jmb","jmc","jmd","jmi","jml","jmn","jmr","jms","jmw","jmx","jna","jnd","jng","jni","jnj","jnl","jns","job","jod","jog","jor","jos","jow","jpa","jpn","jpr","jqr","jra","jrb","jrr","jrt","jru","jsl","jua","jub","juc","jud","juh","jui","juk","jul","jum","jun","juo","jup","jur","jus","jut","juu","juw","juy","jvd","jvn","jwi","jya","jye","jyy","kaa","kab","kac","kad","kae","kaf","kag","kah","kai","kaj","kak","kal","kam","kan","kao","kap","kaq","kas","kat","kau","kav","kaw","kax","kay","kaz","kba","kbb","kbc","kbd","kbe","kbg","kbh","kbi","kbj","kbk","kbl","kbm","kbn","kbo","kbp","kbq","kbr","kbs","kbt","kbu","kbv","kbw","kbx","kby","kbz","kca","kcb","kcc","kcd","kce","kcf","kcg","kch","kci","kcj","kck","kcl","kcm","kcn","kco","kcp","kcq","kcr","kcs","kct","kcu","kcv","kcw","kcx","kcy","kcz","kda","kdc","kdd","kde","kdf","kdg","kdh","kdi","kdj","kdk","kdl","kdm","kdn","kdp","kdq","kdr","kdt","kdu","kdw","kdx","kdy","kdz","kea","keb","kec","ked","kee","kef","keg","keh","kei","kej","kek","kel","kem","ken","keo","kep","keq","ker","kes","ket","keu","kev","kew","kex","key","kez","kfa","kfb","kfc","kfd","kfe","kff","kfg","kfh","kfi","kfj","kfk","kfl","kfm","kfn","kfo","kfp","kfq","kfr","kfs","kft","kfu","kfv","kfw","kfx","kfy","kfz","kga","kgb","kge","kgf","kgg","kgi","kgj","kgk","kgl","kgm","kgn","kgo","kgp","kgq","kgr","kgs","kgt","kgu","kgv","kgw","kgx","kgy","kha","khb","khc","khd","khe","khf","khg","khh","khj","khk","khl","khm","khn","kho","khp","khq","khr","khs","kht","khu","khv","khw","khx","khy","khz","kia","kib","kic","kid","kie","kif","kig","kih","kii","kij","kik","kil","kim","kin","kio","kip","kiq","kir","kis","kit","kiu","kiv","kiw","kix","kiy","kiz","kja","kjb","kjc","kjd","kje","kjg","kjh","kji","kjj","kjk","kjl","kjm","kjn","kjo","kjp","kjq","kjr","kjs","kjt","kju","kjv","kjx","kjy","kjz","kka","kkb","kkc","kkd","kke","kkf","kkg","kkh","kki","kkj","kkk","kkl","kkm","kkn","kko","kkp","kkq","kkr","kks","kkt","kku","kkv","kkw","kkx","kky","kkz","kla","klb","klc","kld","kle","klf","klg","klh","kli","klj","klk","kll","klm","kln","klo","klp","klq","klr","kls","klt","klu","klv","klw","klx","kly","klz","kma","kmb","kmc","kmd","kme","kmf","kmg","kmh","kmi","kmj","kmk","kml","kmm","kmn","kmo","kmp","kmq","kmr","kms","kmt","kmu","kmv","kmw","kmx","kmy","kmz","kna","knb","knc","knd","kne","knf","kng","kni","knj","knk","knl","knm","knn","kno","knp","knq","knr","kns","knt","knu","knv","knw","knx","kny","knz","koa","koc","kod","koe","kof","kog","koh","koi","kok","kol","kom","kon","koo","kop","koq","kor","kos","kot","kou","kov","kow","koy","koz","kpa","kpb","kpc","kpd","kpe","kpf","kpg","kph","kpi","kpj","kpk","kpl","kpm","kpn","kpo","kpq","kpr","kps","kpt","kpu","kpv","kpw","kpx","kpy","kpz","kqa","kqb","kqc","kqd","kqe","kqf","kqg","kqh","kqi","kqj","kqk","kql","kqm","kqn","kqo","kqp","kqq","kqr","kqs","kqt","kqu","kqv","kqw","kqx","kqy","kqz","kra","krb","krc","krd","kre","krf","krh","kri","krj","krk","krl","krn","krp","krr","krs","krt","kru","krv","krw","krx","kry","krz","ksa","ksb","ksc","ksd","kse","ksf","ksg","ksh","ksi","ksj","ksk","ksl","ksm","ksn","kso","ksp","ksq","ksr","kss","kst","ksu","ksv","ksw","ksx","ksy","ksz","kta","ktb","ktc","ktd","kte","ktf","ktg","kth","kti","ktj","ktk","ktl","ktm","ktn","kto","ktp","ktq","kts","ktt","ktu","ktv","ktw","ktx","kty","ktz","kua","kub","kuc","kud","kue","kuf","kug","kuh","kui","kuj","kuk","kul","kum","kun","kuo","kup","kuq","kur","kus","kut","kuu","kuv","kuw","kux","kuy","kuz","kva","kvb","kvc","kvd","kve","kvf","kvg","kvh","kvi","kvj","kvk","kvl","kvm","kvn","kvo","kvp","kvq","kvr","kvt","kvu","kvv","kvw","kvx","kvy","kvz","kwa","kwb","kwc","kwd","kwe","kwf","kwg","kwh","kwi","kwj","kwk","kwl","kwm","kwn","kwo","kwp","kwr","kws","kwt","kwu","kwv","kww","kwx","kwy","kwz","kxa","kxb","kxc","kxd","kxf","kxh","kxi","kxj","kxk","kxm","kxn","kxo","kxp","kxq","kxr","kxs","kxt","kxv","kxw","kxx","kxy","kxz","kya","kyb","kyc","kyd","kye","kyf","kyg","kyh","kyi","kyj","kyk","kyl","kym","kyn","kyo","kyp","kyq","kyr","kys","kyt","kyu","kyv","kyw","kyx","kyy","kyz","kza","kzb","kzc","kzd","kze","kzf","kzg","kzi","kzk","kzl","kzm","kzn","kzo","kzp","kzq","kzr","kzs","kzu","kzv","kzw","kzx","kzy","kzz","laa","lab","lac","lad","lae","laf","lag","lah","lai","laj","lal","lam","lan","lao","lap","laq","lar","las","lat","lau","lav","law","lax","lay","laz","lbb","lbc","lbe","lbf","lbg","lbi","lbj","lbk","lbl","lbm","lbn","lbo","lbq","lbr","lbs","lbt","lbu","lbv","lbw","lbx","lby","lbz","lcc","lcd","lce","lcf","lch","lcl","lcm","lcp","lcq","lcs","lda","ldb","ldd","ldg","ldh","ldi","ldj","ldk","ldl","ldm","ldn","ldo","ldp","ldq","lea","leb","lec","led","lee","lef","leh","lei","lej","lek","lel","lem","len","leo","lep","leq","ler","les","let","leu","lev","lew","lex","ley","lez","lfa","lfn","lga","lgb","lgg","lgh","lgi","lgk","lgl","lgm","lgn","lgo","lgq","lgr","lgt","lgu","lgz","lha","lhh","lhi","lhl","lhm","lhn","lhp","lhs","lht","lhu","lia","lib","lic","lid","lie","lif","lig","lih","lij","lik","lil","lim","lin","lio","lip","liq","lir","lis","lit","liu","liv","liw","lix","liy","liz","lja","lje","lji","ljl","ljp","ljw","ljx","lka","lkb","lkc","lkd","lke","lkh","lki","lkj","lkl","lkm","lkn","lko","lkr","lks","lkt","lku","lky","lla","llb","llc","lld","lle","llf","llg","llh","lli","llj","llk","lll","llm","lln","llp","llq","lls","llu","llx","lma","lmb","lmc","lmd","lme","lmf","lmg","lmh","lmi","lmj","lmk","lml","lmn","lmo","lmp","lmq","lmr","lmu","lmv","lmw","lmx","lmy","lna","lnb","lnd","lng","lnh","lni","lnj","lnl","lnm","lnn","lns","lnu","lnw","lnz","loa","lob","loc","loe","lof","log","loh","loi","loj","lok","lol","lom","lon","loo","lop","loq","lor","los","lot","lou","lov","low","lox","loy","loz","lpa","lpe","lpn","lpo","lpx","lqr","lra","lrc","lre","lrg","lri","lrk","lrl","lrm","lrn","lro","lrr","lrt","lrv","lrz","lsa","lsb","lsc","lsd","lse","lsh","lsi","lsl","lsm","lsn","lso","lsp","lsr","lss","lst","lsv","lsw","lsy","ltc","ltg","lth","lti","ltn","lto","lts","ltu","ltz","lua","lub","luc","lud","lue","luf","lug","lui","luj","luk","lul","lum","lun","luo","lup","luq","lur","lus","lut","luu","luv","luw","luy","luz","lva","lvi","lvk","lvs","lvu","lwa","lwe","lwg","lwh","lwl","lwm","lwo","lws","lwt","lwu","lww","lxm","lya","lyg","lyn","lzh","lzl","lzn","lzz","maa","mab","mad","mae","maf","mag","mah","mai","maj","mak","mal","mam","man","maq","mar","mas","mat","mau","mav","maw","max","maz","mba","mbb","mbc","mbd","mbe","mbf","mbh","mbi","mbj","mbk","mbl","mbm","mbn","mbo","mbp","mbq","mbr","mbs","mbt","mbu","mbv","mbw","mbx","mby","mbz","mca","mcb","mcc","mcd","mce","mcf","mcg","mch","mci","mcj","mck","mcl","mcm","mcn","mco","mcp","mcq","mcr","mcs","mct","mcu","mcv","mcw","mcx","mcy","mcz","mda","mdb","mdc","mdd","mde","mdf","mdg","mdh","mdi","mdj","mdk","mdl","mdm","mdn","mdp","mdq","mdr","mds","mdt","mdu","mdv","mdw","mdx","mdy","mdz","mea","meb","mec","med","mee","mef","meh","mei","mej","mek","mel","mem","men","meo","mep","meq","mer","mes","met","meu","mev","mew","mey","mez","mfa","mfb","mfc","mfd","mfe","mff","mfg","mfh","mfi","mfj","mfk","mfl","mfm","mfn","mfo","mfp","mfq","mfr","mfs","mft","mfu","mfv","mfw","mfx","mfy","mfz","mga","mgb","mgc","mgd","mge","mgf","mgg","mgh","mgi","mgj","mgk","mgl","mgm","mgn","mgo","mgp","mgq","mgr","mgs","mgt","mgu","mgv","mgw","mgy","mgz","mha","mhb","mhc","mhd","mhe","mhf","mhg","mhi","mhj","mhk","mhl","mhm","mhn","mho","mhp","mhq","mhr","mhs","mht","mhu","mhw","mhx","mhy","mhz","mia","mib","mic","mid","mie","mif","mig","mih","mii","mij","mik","mil","mim","min","mio","mip","miq","mir","mis","mit","miu","miw","mix","miy","miz","mjb","mjc","mjd","mje","mjg","mjh","mji","mjj","mjk","mjl","mjm","mjn","mjo","mjp","mjq","mjr","mjs","mjt","mju","mjv","mjw","mjx","mjy","mjz","mka","mkb","mkc","mkd","mke","mkf","mkg","mki","mkj","mkk","mkl","mkm","mkn","mko","mkp","mkq","mkr","mks","mkt","mku","mkv","mkw","mkx","mky","mkz","mla","mlb","mlc","mle","mlf","mlg","mlh","mli","mlj","mlk","mll","mlm","mln","mlo","mlp","mlq","mlr","mls","mlt","mlu","mlv","mlw","mlx","mlz","mma","mmb","mmc","mmd","mme","mmf","mmg","mmh","mmi","mmj","mmk","mml","mmm","mmn","mmo","mmp","mmq","mmr","mmt","mmu","mmv","mmw","mmx","mmy","mmz","mna","mnb","mnc","mnd","mne","mnf","mng","mnh","mni","mnj","mnk","mnl","mnm","mnn","mnp","mnq","mnr","mns","mnu","mnv","mnw","mnx","mny","mnz","moa","moc","mod","moe","mog","moh","moi","moj","mok","mom","mon","moo","mop","moq","mor","mos","mot","mou","mov","mow","mox","moy","moz","mpa","mpb","mpc","mpd","mpe","mpg","mph","mpi","mpj","mpk","mpl","mpm","mpn","mpo","mpp","mpq","mpr","mps","mpt","mpu","mpv","mpw","mpx","mpy","mpz","mqa","mqb","mqc","mqe","mqf","mqg","mqh","mqi","mqj","mqk","mql","mqm","mqn","mqo","mqp","mqq","mqr","mqs","mqt","mqu","mqv","mqw","mqx","mqy","mqz","mra","mrb","mrc","mrd","mre","mrf","mrg","mrh","mri","mrj","mrk","mrl","mrm","mrn","mro","mrp","mrq","mrr","mrs","mrt","mru","mrv","mrw","mrx","mry","mrz","msa","msb","msc","msd","mse","msf","msg","msh","msi","msj","msk","msl","msm","msn","mso","msp","msq","msr","mss","msu","msv","msw","msx","msy","msz","mta","mtb","mtc","mtd","mte","mtf","mtg","mth","mti","mtj","mtk","mtl","mtm","mtn","mto","mtp","mtq","mtr","mts","mtt","mtu","mtv","mtw","mtx","mty","mua","mub","muc","mud","mue","mug","muh","mui","muj","muk","mul","mum","muo","mup","muq","mur","mus","mut","muu","muv","mux","muy","muz","mva","mvb","mvd","mve","mvf","mvg","mvh","mvi","mvk","mvl","mvn","mvo","mvp","mvq","mvr","mvs","mvt","mvu","mvv","mvw","mvx","mvy","mvz","mwa","mwb","mwc","mwe","mwf","mwg","mwh","mwi","mwk","mwl","mwm","mwn","mwo","mwp","mwq","mwr","mws","mwt","mwu","mwv","mww","mwz","mxa","mxb","mxc","mxd","mxe","mxf","mxg","mxh","mxi","mxj","mxk","mxl","mxm","mxn","mxo","mxp","mxq","mxr","mxs","mxt","mxu","mxv","mxw","mxx","mxy","mxz","mya","myb","myc","mye","myf","myg","myh","myj","myk","myl","mym","myo","myp","myr","mys","myu","myv","myw","myx","myy","myz","mza","mzb","mzc","mzd","mze","mzg","mzh","mzi","mzj","mzk","mzl","mzm","mzn","mzo","mzp","mzq","mzr","mzs","mzt","mzu","mzv","mzw","mzx","mzy","mzz","naa","nab","nac","nae","naf","nag","naj","nak","nal","nam","nan","nao","nap","naq","nar","nas","nat","nau","nav","naw","nax","nay","naz","nba","nbb","nbc","nbd","nbe","nbg","nbh","nbi","nbj","nbk","nbl","nbm","nbn","nbo","nbp","nbq","nbr","nbs","nbt","nbu","nbv","nbw","nby","nca","ncb","ncc","ncd","nce","ncf","ncg","nch","nci","ncj","nck","ncl","ncm","ncn","nco","ncq","ncr","ncs","nct","ncu","ncx","ncz","nda","ndb","ndc","ndd","nde","ndf","ndg","ndh","ndi","ndj","ndk","ndl","ndm","ndn","ndo","ndp","ndq","ndr","nds","ndt","ndu","ndv","ndw","ndx","ndy","ndz","nea","neb","nec","ned","nee","nef","neg","neh","nei","nej","nek","nem","nen","neo","nep","neq","ner","nes","net","neu","nev","new","nex","ney","nez","nfa","nfd","nfl","nfr","nfu","nga","ngb","ngc","ngd","nge","ngg","ngh","ngi","ngj","ngk","ngl","ngm","ngn","ngp","ngq","ngr","ngs","ngt","ngu","ngv","ngw","ngx","ngy","ngz","nha","nhb","nhc","nhd","nhe","nhf","nhg","nhh","nhi","nhk","nhm","nhn","nho","nhp","nhq","nhr","nht","nhu","nhv","nhw","nhx","nhy","nhz","nia","nib","nid","nie","nif","nig","nih","nii","nij","nik","nil","nim","nin","nio","niq","nir","nis","nit","niu","niv","niw","nix","niy","niz","nja","njb","njd","njh","nji","njj","njl","njm","njn","njo","njr","njs","njt","nju","njx","njy","njz","nka","nkb","nkc","nkd","nke","nkf","nkg","nkh","nki","nkj","nkk","nkm","nkn","nko","nkp","nkq","nkr","nks","nkt","nku","nkv","nkw","nkx","nkz","nla","nlc","nld","nle","nlg","nli","nlj","nlk","nll","nlm","nlo","nlq","nlu","nlv","nlw","nlx","nly","nlz","nma","nmb","nmc","nmd","nme","nmf","nmg","nmh","nmi","nmj","nmk","nml","nmm","nmn","nmo","nmp","nmq","nmr","nms","nmt","nmu","nmv","nmw","nmx","nmy","nmz","nna","nnb","nnc","nnd","nne","nnf","nng","nnh","nni","nnj","nnk","nnl","nnm","nnn","nno","nnp","nnq","nnr","nnt","nnu","nnv","nnw","nny","nnz","noa","nob","noc","nod","noe","nof","nog","noh","noi","noj","nok","nol","nom","non","nop","noq","nor","nos","not","nou","nov","now","noy","noz","npa","npb","npg","nph","npi","npl","npn","npo","nps","npu","npx","npy","nqg","nqk","nql","nqm","nqn","nqo","nqq","nqt","nqy","nra","nrb","nrc","nre","nrf","nrg","nri","nrk","nrl","nrm","nrn","nrp","nrr","nrt","nru","nrx","nrz","nsa","nsb","nsc","nsd","nse","nsf","nsg","nsh","nsi","nsk","nsl","nsm","nsn","nso","nsp","nsq","nsr","nss","nst","nsu","nsv","nsw","nsx","nsy","nsz","ntd","nte","ntg","nti","ntj","ntk","ntm","nto","ntp","ntr","ntu","ntw","ntx","nty","ntz","nua","nuc","nud","nue","nuf","nug","nuh","nui","nuj","nuk","nul","num","nun","nuo","nup","nuq","nur","nus","nut","nuu","nuv","nuw","nux","nuy","nuz","nvh","nvm","nvo","nwa","nwb","nwc","nwe","nwg","nwi","nwm","nwo","nwr","nww","nwx","nwy","nxa","nxd","nxe","nxg","nxi","nxk","nxl","nxm","nxn","nxo","nxq","nxr","nxx","nya","nyb","nyc","nyd","nye","nyf","nyg","nyh","nyi","nyj","nyk","nyl","nym","nyn","nyo","nyp","nyq","nyr","nys","nyt","nyu","nyv","nyw","nyx","nyy","nza","nzb","nzd","nzi","nzk","nzm","nzs","nzu","nzy","nzz","oaa","oac","oar","oav","obi","obk","obl","obm","obo","obr","obt","obu","oca","och","oci","ocm","oco","ocu","oda","odk","odt","odu","ofo","ofs","ofu","ogb","ogc","oge","ogg","ogo","ogu","oht","ohu","oia","oie","oin","ojb","ojc","ojg","oji","ojp","ojs","ojv","ojw","oka","okb","okc","okd","oke","okg","okh","oki","okj","okk","okl","okm","okn","oko","okr","oks","oku","okv","okx","okz","ola","old","ole","olk","olm","olo","olr","olt","olu","oma","omb","omc","omg","omi","omk","oml","omn","omo","omp","omr","omt","omu","omw","omx","omy","ona","onb","one","ong","oni","onj","onk","onn","ono","onp","onr","ons","ont","onu","onw","onx","ood","oog","oon","oor","oos","opa","opk","opm","opo","opt","opy","ora","orc","ore","org","orh","ori","orm","orn","oro","orr","ors","ort","oru","orv","orw","orx","ory","orz","osa","osc","osi","osn","oso","osp","oss","ost","osu","osx","ota","otb","otd","ote","oti","otk","otl","otm","otn","otq","otr","ots","ott","otu","otw","otx","oty","otz","oua","oub","oue","oui","oum","ovd","owi","owl","oyb","oyd","oym","oyy","ozm","pab","pac","pad","pae","paf","pag","pah","pai","pak","pal","pam","pan","pao","pap","paq","par","pas","pau","pav","paw","pax","pay","paz","pbb","pbc","pbe","pbf","pbg","pbh","pbi","pbl","pbm","pbn","pbo","pbp","pbr","pbs","pbt","pbu","pbv","pby","pca","pcb","pcc","pcd","pce","pcf","pcg","pch","pci","pcj","pck","pcl","pcm","pcn","pcp","pcw","pda","pdc","pdi","pdn","pdo","pdt","pdu","pea","peb","ped","pee","pef","peg","peh","pei","pej","pek","pel","pem","peo","pep","peq","pes","pev","pex","pey","pez","pfa","pfe","pfl","pga","pgd","pgg","pgi","pgk","pgl","pgn","pgs","pgu","pgz","pha","phd","phg","phh","phj","phk","phl","phm","phn","pho","phq","phr","pht","phu","phv","phw","pia","pib","pic","pid","pie","pif","pig","pih","pij","pil","pim","pin","pio","pip","pir","pis","pit","piu","piv","piw","pix","piy","piz","pjt","pka","pkb","pkc","pkg","pkh","pkn","pko","pkp","pkr","pks","pkt","pku","pla","plb","plc","pld","ple","plg","plh","pli","plj","plk","pll","pln","plo","plq","plr","pls","plt","plu","plv","plw","ply","plz","pma","pmb","pmd","pme","pmf","pmh","pmi","pmj","pmk","pml","pmm","pmn","pmo","pmq","pmr","pms","pmt","pmw","pmx","pmy","pmz","pna","pnb","pnc","pnd","pne","png","pnh","pni","pnj","pnk","pnl","pnm","pnn","pno","pnp","pnq","pnr","pns","pnt","pnu","pnv","pnw","pnx","pny","pnz","poc","poe","pof","pog","poh","poi","pok","pol","pom","pon","poo","pop","poq","por","pos","pot","pov","pow","pox","poy","ppe","ppi","ppk","ppl","ppm","ppn","ppo","ppp","ppq","pps","ppt","ppu","pqa","pqm","prc","prd","pre","prf","prg","prh","pri","prk","prl","prm","prn","pro","prp","prq","prr","prs","prt","pru","prw","prx","prz","psa","psc","psd","pse","psg","psh","psi","psl","psm","psn","pso","psp","psq","psr","pss","pst","psu","psw","psy","pta","pth","pti","ptn","pto","ptp","ptq","ptr","ptt","ptu","ptv","ptw","pty","pua","pub","puc","pud","pue","puf","pug","pui","puj","pum","puo","pup","puq","pur","pus","put","puu","puw","pux","puy","pwa","pwb","pwg","pwi","pwm","pwn","pwo","pwr","pww","pxm","pye","pym","pyn","pys","pyu","pyx","pyy","pzh","pzn","qua","qub","quc","qud","que","quf","qug","quh","qui","quk","qul","qum","qun","qup","quq","qur","qus","quv","quw","qux","quy","quz","qva","qvc","qve","qvh","qvi","qvj","qvl","qvm","qvn","qvo","qvp","qvs","qvw","qvy","qvz","qwa","qwc","qwh","qwm","qws","qwt","qxa","qxc","qxh","qxl","qxn","qxo","qxp","qxq","qxr","qxs","qxt","qxu","qxw","qya","qyp","raa","rab","rac","rad","raf","rag","rah","rai","raj","rak","ral","ram","ran","rao","rap","raq","rar","ras","rat","rau","rav","raw","rax","ray","raz","rbb","rbk","rbl","rbp","rcf","rdb","rea","reb","ree","reg","rei","rej","rel","rem","ren","rer","res","ret","rey","rga","rge","rgk","rgn","rgr","rgs","rgu","rhg","rhp","ria","rib","rif","ril","rim","rin","rir","rit","riu","rjg","rji","rjs","rka","rkb","rkh","rki","rkm","rkt","rkw","rma","rmb","rmc","rmd","rme","rmf","rmg","rmh","rmi","rmk","rml","rmm","rmn","rmo","rmp","rmq","rms","rmt","rmu","rmv","rmw","rmx","rmy","rmz","rnb","rnd","rng","rnl","rnn","rnp","rnr","rnw","rob","roc","rod","roe","rof","rog","roh","rol","rom","ron","roo","rop","ror","rou","row","rpn","rpt","rri","rro","rrt","rsb","rsk","rsl","rsm","rsn","rtc","rth","rtm","rts","rtw","rub","ruc","rue","ruf","rug","ruh","rui","ruk","run","ruo","rup","ruq","rus","rut","ruu","ruy","ruz","rwa","rwk","rwl","rwm","rwo","rwr","rxd","rxw","ryn","rys","ryu","rzh","saa","sab","sac","sad","sae","saf","sag","sah","saj","sak","sam","san","sao","saq","sar","sas","sat","sau","sav","saw","sax","say","saz","sba","sbb","sbc","sbd","sbe","sbf","sbg","sbh","sbi","sbj","sbk","sbl","sbm","sbn","sbo","sbp","sbq","sbr","sbs","sbt","sbu","sbv","sbw","sbx","sby","sbz","scb","sce","scf","scg","sch","sci","sck","scl","scn","sco","scp","scq","scs","sct","scu","scv","scw","scx","sda","sdb","sdc","sde","sdf","sdg","sdh","sdj","sdk","sdl","sdn","sdo","sdp","sdq","sdr","sds","sdt","sdu","sdx","sdz","sea","seb","sec","sed","see","sef","seg","seh","sei","sej","sek","sel","sen","seo","sep","seq","ser","ses","set","seu","sev","sew","sey","sez","sfb","sfe","sfm","sfs","sfw","sga","sgb","sgc","sgd","sge","sgg","sgh","sgi","sgj","sgk","sgm","sgp","sgr","sgs","sgt","sgu","sgw","sgx","sgy","sgz","sha","shb","shc","shd","she","shg","shh","shi","shj","shk","shl","shm","shn","sho","shp","shq","shr","shs","sht","shu","shv","shw","shx","shy","shz","sia","sib","sid","sie","sif","sig","sih","sii","sij","sik","sil","sim","sin","sip","siq","sir","sis","siu","siv","siw","six","siy","siz","sja","sjb","sjd","sje","sjg","sjk","sjl","sjm","sjn","sjo","sjp","sjr","sjs","sjt","sju","sjw","ska","skb","skc","skd","ske","skf","skg","skh","ski","skj","skm","skn","sko","skp","skq","skr","sks","skt","sku","skv","skw","skx","sky","skz","slc","sld","sle","slf","slg","slh","sli","slj","slk","sll","slm","sln","slp","slq","slr","sls","slt","slu","slv","slw","slx","sly","slz","sma","smb","smc","sme","smf","smg","smh","smj","smk","sml","smm","smn","smo","smp","smq","smr","sms","smt","smu","smv","smw","smx","smy","smz","sna","snc","snd","sne","snf","sng","sni","snj","snk","snl","snm","snn","sno","snp","snq","snr","sns","snu","snv","snw","snx","sny","snz","soa","sob","soc","sod","soe","sog","soh","soi","soj","sok","sol","som","soo","sop","soq","sor","sos","sot","sou","sov","sow","sox","soy","soz","spa","spb","spc","spd","spe","spg","spi","spk","spl","spm","spn","spo","spp","spq","spr","sps","spt","spu","spv","spx","spy","sqa","sqh","sqi","sqk","sqm","sqn","sqo","sqq","sqr","sqs","sqt","squ","sqx","sra","srb","src","srd","sre","srf","srg","srh","sri","srk","srl","srm","srn","sro","srp","srq","srr","srs","srt","sru","srv","srw","srx","sry","srz","ssb","ssc","ssd","sse","ssf","ssg","ssh","ssi","ssj","ssk","ssl","ssm","ssn","sso","ssp","ssq","ssr","sss","sst","ssu","ssv","ssw","ssx","ssy","ssz","sta","stb","std","ste","stf","stg","sth","sti","stj","stk","stl","stm","stn","sto","stp","stq","str","sts","stt","stu","stv","stw","sty","sua","sub","suc","sue","sug","sui","suj","suk","sun","suo","suq","sur","sus","sut","suv","suw","sux","suy","suz","sva","svb","svc","sve","svk","svm","svs","svx","swa","swb","swc","swe","swf","swg","swh","swi","swj","swk","swl","swm","swn","swo","swp","swq","swr","sws","swt","swu","swv","sww","swx","swy","sxb","sxc","sxe","sxg","sxk","sxl","sxm","sxn","sxo","sxr","sxs","sxu","sxw","sya","syb","syc","syi","syk","syl","sym","syn","syo","syr","sys","syw","syx","syy","sza","szb","szc","szd","sze","szg","szl","szn","szp","szs","szv","szw","szy","taa","tab","tac","tad","tae","taf","tag","tah","taj","tak","tal","tam","tan","tao","tap","taq","tar","tas","tat","tau","tav","taw","tax","tay","taz","tba","tbc","tbd","tbe","tbf","tbg","tbh","tbi","tbj","tbk","tbl","tbm","tbn","tbo","tbp","tbr","tbs","tbt","tbu","tbv","tbw","tbx","tby","tbz","tca","tcb","tcc","tcd","tce","tcf","tcg","tch","tci","tck","tcl","tcm","tcn","tco","tcp","tcq","tcs","tct","tcu","tcw","tcx","tcy","tcz","tda","tdb","tdc","tdd","tde","tdf","tdg","tdh","tdi","tdj","tdk","tdl","tdm","tdn","tdo","tdq","tdr","tds","tdt","tdv","tdx","tdy","tea","teb","tec","ted","tee","tef","teg","teh","tei","tek","tel","tem","ten","teo","tep","teq","ter","tes","tet","teu","tev","tew","tex","tey","tez","tfi","tfn","tfo","tfr","tft","tga","tgb","tgc","tgd","tge","tgf","tgh","tgi","tgj","tgk","tgl","tgn","tgo","tgp","tgq","tgr","tgs","tgt","tgu","tgv","tgw","tgx","tgy","tgz","tha","thd","the","thf","thh","thi","thk","thl","thm","thn","thp","thq","thr","ths","tht","thu","thv","thy","thz","tia","tic","tif","tig","tih","tii","tij","tik","til","tim","tin","tio","tip","tiq","tir","tis","tit","tiu","tiv","tiw","tix","tiy","tiz","tja","tjg","tji","tjj","tjl","tjm","tjn","tjo","tjp","tjs","tju","tjw","tka","tkb","tkd","tke","tkf","tkg","tkl","tkm","tkn","tkp","tkq","tkr","tks","tkt","tku","tkv","tkw","tkx","tkz","tla","tlb","tlc","tld","tlf","tlg","tlh","tli","tlj","tlk","tll","tlm","tln","tlo","tlp","tlq","tlr","tls","tlt","tlu","tlv","tlx","tly","tma","tmb","tmc","tmd","tme","tmf","tmg","tmh","tmi","tmj","tmk","tml","tmm","tmn","tmo","tmq","tmr","tms","tmt","tmu","tmv","tmw","tmy","tmz","tna","tnb","tnc","tnd","tng","tnh","tni","tnk","tnl","tnm","tnn","tno","tnp","tnq","tnr","tns","tnt","tnu","tnv","tnw","tnx","tny","tnz","tob","toc","tod","tof","tog","toh","toi","toj","tok","tol","tom","ton","too","top","toq","tor","tos","tou","tov","tow","tox","toy","toz","tpa","tpc","tpe","tpf","tpg","tpi","tpj","tpk","tpl","tpm","tpn","tpo","tpp","tpq","tpr","tpt","tpu","tpv","tpw","tpx","tpy","tpz","tqb","tql","tqm","tqn","tqo","tqp","tqq","tqr","tqt","tqu","tqw","tra","trb","trc","trd","tre","trf","trg","trh","tri","trj","trl","trm","trn","tro","trp","trq","trr","trs","trt","tru","trv","trw","trx","try","trz","tsa","tsb","tsc","tsd","tse","tsg","tsh","tsi","tsj","tsk","tsl","tsm","tsn","tso","tsp","tsq","tsr","tss","tst","tsu","tsv","tsw","tsx","tsy","tsz","tta","ttb","ttc","ttd","tte","ttf","ttg","tth","tti","ttj","ttk","ttl","ttm","ttn","tto","ttp","ttq","ttr","tts","ttt","ttu","ttv","ttw","tty","ttz","tua","tub","tuc","tud","tue","tuf","tug","tuh","tui","tuj","tuk","tul","tum","tun","tuo","tuq","tur","tus","tuu","tuv","tux","tuy","tuz","tva","tvd","tve","tvk","tvl","tvm","tvn","tvo","tvs","tvt","tvu","tvw","tvx","tvy","twa","twb","twc","twd","twe","twf","twg","twh","twi","twl","twm","twn","two","twp","twq","twr","twt","twu","tww","twx","twy","txa","txb","txc","txe","txg","txh","txi","txj","txm","txn","txo","txq","txr","txs","txt","txu","txx","txy","tya","tye","tyh","tyi","tyj","tyl","tyn","typ","tyr","tys","tyt","tyu","tyv","tyx","tyy","tyz","tza","tzh","tzj","tzl","tzm","tzn","tzo","tzx","uam","uan","uar","uba","ubi","ubl","ubr","ubu","uby","uda","ude","udg","udi","udj","udl","udm","udu","ues","ufi","uga","ugb","uge","ugh","ugn","ugo","ugy","uha","uhn","uig","uis","uiv","uji","uka","ukg","ukh","uki","ukk","ukl","ukp","ukq","ukr","uks","uku","ukv","ukw","uky","ula","ulb","ulc","ule","ulf","uli","ulk","ull","ulm","uln","ulu","ulw","uma","umb","umc","umd","umg","umi","umm","umn","umo","ump","umr","ums","umu","una","und","une","ung","uni","unk","unm","unn","unr","unu","unx","unz","uon","upi","upv","ura","urb","urc","urd","ure","urf","urg","urh","uri","urk","url","urm","urn","uro","urp","urr","urt","uru","urv","urw","urx","ury","urz","usa","ush","usi","usk","usp","uss","usu","uta","ute","uth","utp","utr","utu","uum","uur","uuu","uve","uvh","uvl","uwa","uya","uzb","uzn","uzs","vaa","vae","vaf","vag","vah","vai","vaj","val","vam","van","vao","vap","var","vas","vau","vav","vay","vbb","vbk","vec","ved","vel","vem","ven","veo","vep","ver","vgr","vgt","vic","vid","vie","vif","vig","vil","vin","vis","vit","viv","vka","vkj","vkk","vkl","vkm","vkn","vko","vkp","vkt","vku","vkz","vlp","vls","vma","vmb","vmc","vmd","vme","vmf","vmg","vmh","vmi","vmj","vmk","vml","vmm","vmp","vmq","vmr","vms","vmu","vmv","vmw","vmx","vmy","vmz","vnk","vnm","vnp","vol","vor","vot","vra","vro","vrs","vrt","vsi","vsl","vsv","vto","vum","vun","vut","vwa","waa","wab","wac","wad","wae","waf","wag","wah","wai","waj","wal","wam","wan","wao","wap","waq","war","was","wat","wau","wav","waw","wax","way","waz","wba","wbb","wbe","wbf","wbh","wbi","wbj","wbk","wbl","wbm","wbp","wbq","wbr","wbs","wbt","wbv","wbw","wca","wci","wdd","wdg","wdj","wdk","wdt","wdu","wdy","wea","wec","wed","weg","weh","wei","wem","weo","wep","wer","wes","wet","weu","wew","wfg","wga","wgb","wgg","wgi","wgo","wgu","wgy","wha","whg","whk","whu","wib","wic","wie","wif","wig","wih","wii","wij","wik","wil","wim","win","wir","wiu","wiv","wiy","wja","wji","wka","wkb","wkd","wkl","wkr","wku","wkw","wky","wla","wlc","wle","wlg","wlh","wli","wlk","wll","wlm","wln","wlo","wlr","wls","wlu","wlv","wlw","wlx","wly","wma","wmb","wmc","wmd","wme","wmg","wmh","wmi","wmm","wmn","wmo","wms","wmt","wmw","wmx","wnb","wnc","wnd","wne","wng","wni","wnk","wnm","wnn","wno","wnp","wnu","wnw","wny","woa","wob","woc","wod","woe","wof","wog","woi","wok","wol","wom","won","woo","wor","wos","wow","woy","wpc","wrb","wrg","wrh","wri","wrk","wrl","wrm","wrn","wro","wrp","wrr","wrs","wru","wrv","wrw","wrx","wry","wrz","wsa","wsg","wsi","wsk","wsr","wss","wsu","wsv","wtf","wth","wti","wtk","wtm","wtw","wua","wub","wud","wuh","wul","wum","wun","wur","wut","wuu","wuv","wux","wuy","wwa","wwb","wwo","wwr","www","wxa","wxw","wyb","wyi","wym","wyn","wyr","wyy","xaa","xab","xac","xad","xae","xag","xai","xaj","xak","xal","xam","xan","xao","xap","xaq","xar","xas","xat","xau","xav","xaw","xay","xbb","xbc","xbd","xbe","xbg","xbi","xbj","xbm","xbn","xbo","xbp","xbr","xbw","xby","xcb","xcc","xce","xcg","xch","xcl","xcm","xcn","xco","xcr","xct","xcu","xcv","xcw","xcy","xda","xdc","xdk","xdm","xdo","xdq","xdy","xeb","xed","xeg","xel","xem","xep","xer","xes","xet","xeu","xfa","xga","xgb","xgd","xgf","xgg","xgi","xgl","xgm","xgr","xgu","xgw","xha","xhc","xhd","xhe","xhm","xho","xhr","xht","xhu","xhv","xib","xii","xil","xin","xir","xis","xiv","xiy","xjb","xjt","xka","xkb","xkc","xkd","xke","xkf","xkg","xki","xkj","xkk","xkl","xkn","xko","xkp","xkq","xkr","xks","xkt","xku","xkv","xkw","xkx","xky","xkz","xla","xlb","xlc","xld","xle","xlg","xli","xln","xlo","xlp","xls","xlu","xly","xma","xmb","xmc","xmd","xme","xmf","xmg","xmh","xmj","xmk","xml","xmm","xmn","xmo","xmp","xmq","xmr","xms","xmt","xmu","xmv","xmw","xmx","xmy","xmz","xna","xnb","xng","xnh","xni","xnj","xnk","xnm","xnn","xno","xnq","xnr","xns","xnt","xnu","xny","xnz","xoc","xod","xog","xoi","xok","xom","xon","xoo","xop","xor","xow","xpa","xpb","xpc","xpd","xpe","xpf","xpg","xph","xpi","xpj","xpk","xpl","xpm","xpn","xpo","xpp","xpq","xpr","xps","xpt","xpu","xpv","xpw","xpx","xpy","xpz","xqa","xqt","xra","xrb","xrd","xre","xrg","xri","xrm","xrn","xrr","xrt","xru","xrw","xsa","xsb","xsc","xsd","xse","xsh","xsi","xsj","xsl","xsm","xsn","xso","xsp","xsq","xsr","xss","xsu","xsv","xsy","xta","xtb","xtc","xtd","xte","xtg","xth","xti","xtj","xtl","xtm","xtn","xto","xtp","xtq","xtr","xts","xtt","xtu","xtv","xtw","xty","xua","xub","xud","xug","xuj","xul","xum","xun","xuo","xup","xur","xut","xuu","xve","xvi","xvn","xvo","xvs","xwa","xwc","xwd","xwe","xwg","xwj","xwk","xwl","xwo","xwr","xwt","xww","xxb","xxk","xxm","xxr","xxt","xya","xyb","xyj","xyk","xyl","xyt","xyy","xzh","xzm","xzp","yaa","yab","yac","yad","yae","yaf","yag","yah","yai","yaj","yak","yal","yam","yan","yao","yap","yaq","yar","yas","yat","yau","yav","yaw","yax","yay","yaz","yba","ybb","ybe","ybh","ybi","ybj","ybk","ybl","ybm","ybn","ybo","ybx","yby","ych","ycl","ycn","ycp","yda","ydd","yde","ydg","ydk","yea","yec","yee","yei","yej","yel","yer","yes","yet","yeu","yev","yey","yga","ygi","ygl","ygm","ygp","ygr","ygs","ygu","ygw","yha","yhd","yhl","yhs","yia","yid","yif","yig","yih","yii","yij","yik","yil","yim","yin","yip","yiq","yir","yis","yit","yiu","yiv","yix","yiz","yka","ykg","yki","ykk","ykl","ykm","ykn","yko","ykr","ykt","yku","yky","yla","ylb","yle","ylg","yli","yll","ylm","yln","ylo","ylr","ylu","yly","ymb","ymc","ymd","yme","ymg","ymh","ymi","ymk","yml","ymm","ymn","ymo","ymp","ymq","ymr","yms","ymx","ymz","yna","ynd","yne","yng","ynk","ynl","ynn","yno","ynq","yns","ynu","yob","yog","yoi","yok","yol","yom","yon","yor","yot","yox","yoy","ypa","ypb","ypg","yph","ypm","ypn","ypo","ypp","ypz","yra","yrb","yre","yrk","yrl","yrm","yrn","yro","yrs","yrw","yry","ysc","ysd","ysg","ysl","ysm","ysn","yso","ysp","ysr","yss","ysy","yta","ytl","ytp","ytw","yty","yua","yub","yuc","yud","yue","yuf","yug","yui","yuj","yuk","yul","yum","yun","yup","yuq","yur","yut","yuw","yux","yuy","yuz","yva","yvt","ywa","ywg","ywl","ywn","ywq","ywr","ywt","ywu","yww","yxa","yxg","yxl","yxm","yxu","yxy","yyr","yyu","yyz","yzg","yzk","zaa","zab","zac","zad","zae","zaf","zag","zah","zai","zaj","zak","zal","zam","zao","zap","zaq","zar","zas","zat","zau","zav","zaw","zax","zay","zaz","zba","zbc","zbe","zbl","zbt","zbu","zbw","zca","zcd","zch","zdj","zea","zeg","zeh","zen","zga","zgb","zgh","zgm","zgn","zgr","zha","zhb","zhd","zhi","zhn","zho","zhw","zia","zib","zik","zil","zim","zin","ziw","ziz","zka","zkb","zkd","zkg","zkh","zkk","zkn","zko","zkp","zkr","zkt","zku","zkv","zkz","zla","zlj","zlm","zln","zlq","zma","zmb","zmc","zmd","zme","zmf","zmg","zmh","zmi","zmj","zmk","zml","zmm","zmn","zmo","zmp","zmq","zmr","zms","zmt","zmu","zmv","zmw","zmx","zmy","zmz","zna","zne","zng","znk","zns","zoc","zoh","zom","zoo","zoq","zor","zos","zpa","zpb","zpc","zpd","zpe","zpf","zpg","zph","zpi","zpj","zpk","zpl","zpm","zpn","zpo","zpp","zpq","zpr","zps","zpt","zpu","zpv","zpw","zpx","zpy","zpz","zqe","zra","zrg","zrn","zro","zrp","zrs","zsa","zsk","zsl","zsm","zsr","zsu","zte","ztg","ztl","ztm","ztn","ztp","ztq","zts","ztt","ztu","ztx","zty","zua","zuh","zul","zum","zun","zuy","zwa","zxx","zyb","zyg","zyj","zyn","zyp","zza","zzj"],"maxLength":3,"minLength":3},{"$ref":"#/components/schemas/_NotSet"},{"type":"null"}],"title":"Preferred Language","description":"The preferred language of the simulation persona in the ISO 639-3 format. If unspecified, the preferred language of the organization is used. If that is unspecified, the language of the agent is used.","default":{}},"timezone":{"anyOf":[{"type":"string","enum":["Africa/Abidjan","Africa/Accra","Africa/Addis_Ababa","Africa/Algiers","Africa/Asmara","Africa/Asmera","Africa/Bamako","Africa/Bangui","Africa/Banjul","Africa/Bissau","Africa/Blantyre","Africa/Brazzaville","Africa/Bujumbura","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/Conakry","Africa/Dakar","Africa/Dar_es_Salaam","Africa/Djibouti","Africa/Douala","Africa/El_Aaiun","Africa/Freetown","Africa/Gaborone","Africa/Harare","Africa/Johannesburg","Africa/Juba","Africa/Kampala","Africa/Khartoum","Africa/Kigali","Africa/Kinshasa","Africa/Lagos","Africa/Libreville","Africa/Lome","Africa/Luanda","Africa/Lubumbashi","Africa/Lusaka","Africa/Malabo","Africa/Maputo","Africa/Maseru","Africa/Mbabane","Africa/Mogadishu","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Niamey","Africa/Nouakchott","Africa/Ouagadougou","Africa/Porto-Novo","Africa/Sao_Tome","Africa/Timbuktu","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Anguilla","America/Antigua","America/Araguaina","America/Argentina/Buenos_Aires","America/Argentina/Catamarca","America/Argentina/ComodRivadavia","America/Argentina/Cordoba","America/Argentina/Jujuy","America/Argentina/La_Rioja","America/Argentina/Mendoza","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Aruba","America/Asuncion","America/Atikokan","America/Atka","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Buenos_Aires","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Catamarca","America/Cayenne","America/Cayman","America/Chicago","America/Chihuahua","America/Ciudad_Juarez","America/Coral_Harbour","America/Cordoba","America/Costa_Rica","America/Coyhaique","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Dominica","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Ensenada","America/Fort_Nelson","America/Fort_Wayne","America/Fortaleza","America/Glace_Bay","America/Godthab","America/Goose_Bay","America/Grand_Turk","America/Grenada","America/Guadeloupe","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Indianapolis","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Indianapolis","America/Inuvik","America/Iqaluit","America/Jamaica","America/Jujuy","America/Juneau","America/Kentucky/Louisville","America/Kentucky/Monticello","America/Knox_IN","America/Kralendijk","America/La_Paz","America/Lima","America/Los_Angeles","America/Louisville","America/Lower_Princes","America/Maceio","America/Managua","America/Manaus","America/Marigot","America/Martinique","America/Matamoros","America/Mazatlan","America/Mendoza","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Montreal","America/Montserrat","America/Nassau","America/New_York","America/Nipigon","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Nuuk","America/Ojinaga","America/Panama","America/Pangnirtung","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Acre","America/Porto_Velho","America/Puerto_Rico","America/Punta_Arenas","America/Rainy_River","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Rosario","America/Santa_Isabel","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Shiprock","America/Sitka","America/St_Barthelemy","America/St_Johns","America/St_Kitts","America/St_Lucia","America/St_Thomas","America/St_Vincent","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Thunder_Bay","America/Tijuana","America/Toronto","America/Tortola","America/Vancouver","America/Virgin","America/Whitehorse","America/Winnipeg","America/Yakutat","America/Yellowknife","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/McMurdo","Antarctica/Palmer","Antarctica/Rothera","Antarctica/South_Pole","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Arctic/Longyearbyen","Asia/Aden","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Ashkhabad","Asia/Atyrau","Asia/Baghdad","Asia/Bahrain","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Calcutta","Asia/Chita","Asia/Choibalsan","Asia/Chongqing","Asia/Chungking","Asia/Colombo","Asia/Dacca","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Harbin","Asia/Hebron","Asia/Ho_Chi_Minh","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Istanbul","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Kashgar","Asia/Kathmandu","Asia/Katmandu","Asia/Khandyga","Asia/Kolkata","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Kuwait","Asia/Macao","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Muscat","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Phnom_Penh","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Rangoon","Asia/Riyadh","Asia/Saigon","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Tel_Aviv","Asia/Thimbu","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ujung_Pandang","Asia/Ulaanbaatar","Asia/Ulan_Bator","Asia/Urumqi","Asia/Ust-Nera","Asia/Vientiane","Asia/Vladivostok","Asia/Yakutsk","Asia/Yangon","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faeroe","Atlantic/Faroe","Atlantic/Jan_Mayen","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/St_Helena","Atlantic/Stanley","Australia/ACT","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Canberra","Australia/Currie","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/LHI","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/NSW","Australia/North","Australia/Perth","Australia/Queensland","Australia/South","Australia/Sydney","Australia/Tasmania","Australia/Victoria","Australia/West","Australia/Yancowinna","Brazil/Acre","Brazil/DeNoronha","Brazil/East","Brazil/West","CET","CST6CDT","Canada/Atlantic","Canada/Central","Canada/Eastern","Canada/Mountain","Canada/Newfoundland","Canada/Pacific","Canada/Saskatchewan","Canada/Yukon","Chile/Continental","Chile/EasterIsland","Cuba","EET","EST","EST5EDT","Egypt","Eire","Etc/GMT","Etc/GMT+0","Etc/GMT+1","Etc/GMT+10","Etc/GMT+11","Etc/GMT+12","Etc/GMT+2","Etc/GMT+3","Etc/GMT+4","Etc/GMT+5","Etc/GMT+6","Etc/GMT+7","Etc/GMT+8","Etc/GMT+9","Etc/GMT-0","Etc/GMT-1","Etc/GMT-10","Etc/GMT-11","Etc/GMT-12","Etc/GMT-13","Etc/GMT-14","Etc/GMT-2","Etc/GMT-3","Etc/GMT-4","Etc/GMT-5","Etc/GMT-6","Etc/GMT-7","Etc/GMT-8","Etc/GMT-9","Etc/GMT0","Etc/Greenwich","Etc/UCT","Etc/UTC","Etc/Universal","Etc/Zulu","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belfast","Europe/Belgrade","Europe/Berlin","Europe/Bratislava","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Busingen","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Guernsey","Europe/Helsinki","Europe/Isle_of_Man","Europe/Istanbul","Europe/Jersey","Europe/Kaliningrad","Europe/Kiev","Europe/Kirov","Europe/Kyiv","Europe/Lisbon","Europe/Ljubljana","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Mariehamn","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Nicosia","Europe/Oslo","Europe/Paris","Europe/Podgorica","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/San_Marino","Europe/Sarajevo","Europe/Saratov","Europe/Simferopol","Europe/Skopje","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Tiraspol","Europe/Ulyanovsk","Europe/Uzhgorod","Europe/Vaduz","Europe/Vatican","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zagreb","Europe/Zaporozhye","Europe/Zurich","Factory","GB","GB-Eire","GMT","GMT+0","GMT-0","GMT0","Greenwich","HST","Hongkong","Iceland","Indian/Antananarivo","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Comoro","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Mayotte","Indian/Reunion","Iran","Israel","Jamaica","Japan","Kwajalein","Libya","MET","MST","MST7MDT","Mexico/BajaNorte","Mexico/BajaSur","Mexico/General","NZ","NZ-CHAT","Navajo","PRC","PST8PDT","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Chuuk","Pacific/Easter","Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Johnston","Pacific/Kanton","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Midway","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Pohnpei","Pacific/Ponape","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Saipan","Pacific/Samoa","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Truk","Pacific/Wake","Pacific/Wallis","Pacific/Yap","Poland","Portugal","ROC","ROK","Singapore","Turkey","UCT","US/Alaska","US/Aleutian","US/Arizona","US/Central","US/East-Indiana","US/Eastern","US/Hawaii","US/Indiana-Starke","US/Michigan","US/Mountain","US/Pacific","US/Samoa","UTC","Universal","W-SU","WET","Zulu","localtime"],"minLength":1},{"$ref":"#/components/schemas/_NotSet"},{"type":"null"}],"title":"Timezone","description":"The timezone of the simulation persona in the IANA tz database format. If unspecified, the organization's default timezone is used. If the organization's default timezone is not specified, UTC is used.","default":{}},"user_models":{"items":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"type":"array","title":"User Models","description":"A list of strings representing the user models associated with the simulation persona."},"nonsensitive_user_variables":{"additionalProperties":{"type":"string"},"propertyNames":{"$ref":"#/components/schemas/StrippedNonemptyString_a-z___a-z0-9_______"},"type":"object","maxProperties":20,"title":"Nonsensitive User Variables","description":"A dictionary of the simulation persona's nonsensitive user variables that are provided to the tools."},"sensitive_user_variables":{"additionalProperties":{"type":"string"},"propertyNames":{"$ref":"#/components/schemas/StrippedNonemptyString_a-z___a-z0-9_______"},"type":"object","maxProperties":20,"title":"Sensitive User Variables","description":"A dictionary of the simulation persona's sensitive user variables that are provided to the tools. Unlike the ones in the user collection,\nthese are not encrypted, so only sensitive information in staging environment should be stored here."}},"type":"object","required":["background","user_models","nonsensitive_user_variables","sensitive_user_variables"],"title":"InitialVersion"},"_NotSet":{"properties":{},"type":"object","title":"_NotSet","description":"A specific type to indicate that a field is not set in the request."},"StrippedNonemptyString_a-z___a-z0-9_______":{"type":"string","minLength":1,"pattern":"^[a-z_][a-z0-9_]+$"},"src__app__endpoints__simulation__create_simulation_persona__Response":{"properties":{"simulation_persona_id":{"type":"string","title":"Simulation Persona Id","description":"The ID of the simulation persona that was created."}},"type":"object","required":["simulation_persona_id"],"title":"Response"}}},"paths":{"/v1/{organization}/simulation/persona/":{"post":{"tags":["Simulation"],"summary":"Create a simulation persona","description":"Create a simulation persona.\n\n#### Permissions\n* `Simulation:CreateSimulationPersona` for the persona to create.\n* `Simulation:ModifySimulationPersona` for the persona to create.","operationId":"create-simulation-persona","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__create_simulation_persona__Request"}}}},"responses":{"201":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__create_simulation_persona__Response"}}}},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"404":{"description":"The specified organization was not found."},"409":{"description":"A simulation persona with this name already exists."},"422":{"description":"Invalid request path parameter or request body failed validation."},"429":{"description":"The user has exceeded the rate limit of 100 requests per minute for this endpoint."},"503":{"description":"The service is going through temporary maintenance."}}}}}}
```

## Get simulation persona versions

> Retrieve versions of a simulation persona.\
> \
> \#### Permissions\
> This endpoint requires the following permissions:\
> \* \`Simulation:GetSimulationPersona\` for the simulation persona.

```json
{"openapi":"3.1.0","info":{"title":"Amigo API","version":"0.1.0"},"servers":[{"url":"https://api.amigo.ai"},{"url":"https://internal-api.amigo.ai"},{"url":"https://api-eu-central-1.amigo.ai"},{"url":"https://api-ap-southeast-2.amigo.ai"},{"url":"https://api-ca-central-1.amigo.ai"}],"security":[{"Bearer-Authorization":[],"Bearer-Authorization-Organization":[],"Basic":[]}],"components":{"securitySchemes":{"Bearer-Authorization":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Amigo issued JWT token that identifies an user. It's issued either after logging in through the frontend, or manually through the [`SignInWithAPIKey`](sign-in-with-api-key) endpoint."}},"schemas":{"src__app__endpoints__simulation__get_simulation_persona_versions__Response":{"properties":{"simulation_persona_versions":{"items":{"$ref":"#/components/schemas/SimulationPersonaVersion"},"type":"array","title":"Simulation Persona Versions","description":"The simulation persona versions of the simulation persona."},"has_more":{"type":"boolean","title":"Has More","description":"Whether there are more simulation persona versions to fetch."},"continuation_token":{"anyOf":[{},{"type":"null"}],"title":"Continuation Token","description":"A token to supply to the next request to retreive the next page of simulation persona versions."}},"type":"object","required":["simulation_persona_versions","has_more","continuation_token"],"title":"Response"},"SimulationPersonaVersion":{"properties":{"_id":{"type":"string","title":"Id","description":"The ID of the document."},"org_id":{"type":"string","title":"Org Id","description":"The ID of the organization."},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"simulation_persona_id":{"type":"string","title":"Simulation Persona Id","description":"The ID of the simulation persona that this is a version of."},"version":{"type":"integer","title":"Version","description":"The version number of the simulation persona."},"background":{"type":"string","title":"Background","description":"The background of the simulation persona."},"preferred_language":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Preferred Language","description":"The preferred language of the simulation persona in the ISO 639-3 format. If unspecified, the language of the agent is used."},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone","description":"The timezone of the simulation persona in the IANA tz database format. If unspecified, UTC is used."},"user_models":{"items":{"type":"string"},"type":"array","title":"User Models","description":"The user models associated with the simulation persona."},"nonsensitive_user_variables":{"additionalProperties":{"type":"string"},"type":"object","title":"Nonsensitive User Variables","description":"A dictionary of the simulation persona's nonsensitive user variables that are provided to the tools."},"sensitive_user_variables":{"additionalProperties":{"type":"string"},"type":"object","title":"Sensitive User Variables","description":"A dictionary of the simulation persona's sensitive user variables that are provided to the tools. Unlike the ones in the user collection, these are not encrypted,\nso only sensitive information in staging environment should be stored here.","default":{}},"creator":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_persona_version__SimulationPersonaVersion__UserInfo","description":"The user who created this simulation persona version."}},"type":"object","required":["_id","org_id","simulation_persona_id","version","background","preferred_language","timezone","user_models","nonsensitive_user_variables","creator"],"title":"SimulationPersonaVersion"},"amigo_lib__mongo__collections__simulation_persona_version__SimulationPersonaVersion__UserInfo":{"properties":{"org_id":{"type":"string","title":"Org Id"},"user_id":{"type":"string","title":"User Id"}},"type":"object","required":["org_id","user_id"],"title":"UserInfo"}}},"paths":{"/v1/{organization}/simulation/persona/{simulation_persona_id}/version/":{"get":{"tags":["Simulation"],"summary":"Get simulation persona versions","description":"Retrieve versions of a simulation persona.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Simulation:GetSimulationPersona` for the simulation persona.","operationId":"get-simulation-persona-versions","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"simulation_persona_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the simulation persona to get versions for.","title":"Simulation Persona Id"},"description":"The ID of the simulation persona to get versions for."},{"name":"version","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The versions of the simulation persona to retrieve. One can specify an exact version to retrieve, which is either the version number or `latest`, which retrieves the latest version. Alternatively, one can specify a range of inclusive lower and upper bound for the version number separated by `-`, and every version within the range would be retrieved.","title":"Version"},"description":"The versions of the simulation persona to retrieve. One can specify an exact version to retrieve, which is either the version number or `latest`, which retrieves the latest version. Alternatively, one can specify a range of inclusive lower and upper bound for the version number separated by `-`, and every version within the range would be retrieved."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":10,"exclusiveMinimum":0,"description":"The maximum number of simulation persona versions to return.","default":10,"title":"Limit"},"description":"The maximum number of simulation persona versions to return."},{"name":"continuation_token","in":"query","required":false,"schema":{"type":"integer","description":"The continuation token from the previous request used to retrieve the next page of simulation persona versions.","default":0,"title":"Continuation Token"},"description":"The continuation token from the previous request used to retrieve the next page of simulation persona versions."},{"name":"sort_by","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The fields to sort the versions by. Supported fields are `version`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties.","default":[],"title":"Sort By"},"description":"The fields to sort the versions by. Supported fields are `version`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__get_simulation_persona_versions__Response"}}}},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"404":{"description":"The specified organization or simulation persona does not exist."},"422":{"description":"Invalid request path parameter or request query parameter failed validation."},"429":{"description":"The user has exceeded the rate limit of 50 requests per minute for this endpoint."},"503":{"description":"The service is going through temporary maintenance."}}}}}}
```

## Create a new simulation persona version

> Create a new version of the simulation persona.\
> \
> \#### Permissions\
> This endpoint requires the following permissions:\
> \* \`Simulation:ModifySimulationPersona\` for the simulation persona.

```json
{"openapi":"3.1.0","info":{"title":"Amigo API","version":"0.1.0"},"servers":[{"url":"https://api.amigo.ai"},{"url":"https://internal-api.amigo.ai"},{"url":"https://api-eu-central-1.amigo.ai"},{"url":"https://api-ap-southeast-2.amigo.ai"},{"url":"https://api-ca-central-1.amigo.ai"}],"security":[{"Bearer-Authorization":[],"Bearer-Authorization-Organization":[],"Basic":[]}],"components":{"securitySchemes":{"Bearer-Authorization":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Amigo issued JWT token that identifies an user. It's issued either after logging in through the frontend, or manually through the [`SignInWithAPIKey`](sign-in-with-api-key) endpoint."}},"schemas":{"src__app__endpoints__simulation__create_simulation_persona_version__Request":{"properties":{"background":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"The background of the simulation persona."},"preferred_language":{"anyOf":[{"type":"string","enum":["aaa","aab","aac","aad","aae","aaf","aag","aah","aai","aak","aal","aan","aao","aap","aaq","aar","aas","aat","aau","aaw","aax","aaz","aba","abb","abc","abd","abe","abf","abg","abh","abi","abj","abk","abl","abm","abn","abo","abp","abq","abr","abs","abt","abu","abv","abw","abx","aby","abz","aca","acb","acd","ace","acf","ach","aci","ack","acl","acm","acn","acp","acq","acr","acs","act","acu","acv","acw","acx","acy","acz","ada","adb","add","ade","adf","adg","adh","adi","adj","adl","adn","ado","adq","adr","ads","adt","adu","adw","adx","ady","adz","aea","aeb","aec","aed","aee","aek","ael","aem","aen","aeq","aer","aes","aeu","aew","aey","aez","afb","afd","afe","afg","afh","afi","afk","afn","afo","afp","afr","afs","aft","afu","afz","aga","agb","agc","agd","age","agf","agg","agh","agi","agj","agk","agl","agm","agn","ago","agq","agr","ags","agt","agu","agv","agw","agx","agy","agz","aha","ahb","ahg","ahh","ahi","ahk","ahl","ahm","ahn","aho","ahp","ahr","ahs","aht","aia","aib","aic","aid","aie","aif","aig","aih","aii","aij","aik","ail","aim","ain","aio","aip","aiq","air","ait","aiw","aix","aiy","aja","ajg","aji","ajn","ajp","ajs","aju","ajw","ajz","aka","akb","akc","akd","ake","akf","akg","akh","aki","akj","akk","akl","akm","ako","akp","akq","akr","aks","akt","aku","akv","akw","akx","aky","akz","ala","alc","ald","ale","alf","alh","ali","alj","alk","all","alm","aln","alo","alp","alq","alr","als","alt","alu","alw","alx","aly","alz","ama","amb","amc","ame","amf","amg","amh","ami","amj","amk","aml","amm","amn","amo","amp","amq","amr","ams","amt","amu","amv","amw","amx","amy","amz","ana","anb","anc","and","ane","anf","ang","anh","ani","anj","ank","anl","anm","ann","ano","anp","anq","anr","ans","ant","anu","anv","anw","anx","any","anz","aoa","aob","aoc","aod","aoe","aof","aog","aoi","aoj","aok","aol","aom","aon","aor","aos","aot","aou","aox","aoz","apb","apc","apd","ape","apf","apg","aph","api","apj","apk","apl","apm","apn","apo","app","apq","apr","aps","apt","apu","apv","apw","apx","apy","apz","aqc","aqd","aqg","aqk","aqm","aqn","aqp","aqr","aqt","aqz","ara","arb","arc","ard","are","arg","arh","ari","arj","ark","arl","arn","aro","arp","arq","arr","ars","aru","arv","arw","arx","ary","arz","asa","asb","asc","ase","asf","asg","ash","asi","asj","ask","asl","asm","asn","aso","asp","asq","asr","ass","ast","asu","asv","asw","asx","asy","asz","ata","atb","atc","atd","ate","atg","ati","atj","atk","atl","atm","atn","ato","atp","atq","atr","ats","att","atu","atv","atw","atx","aty","atz","aua","aub","auc","aud","aug","auh","aui","auj","auk","aul","aum","aun","auo","aup","auq","aur","aut","auu","auw","aux","auy","auz","ava","avb","avd","ave","avi","avk","avl","avm","avn","avo","avs","avt","avu","avv","awa","awb","awc","awe","awg","awh","awi","awk","awm","awn","awo","awr","aws","awt","awu","awv","aww","awx","awy","axb","axe","axg","axk","axl","axm","axx","aya","ayb","ayc","ayd","aye","ayg","ayh","ayi","ayk","ayl","aym","ayn","ayo","ayp","ayq","ayr","ays","ayt","ayu","ayz","aza","azb","azd","aze","azg","azj","azm","azn","azo","azt","azz","baa","bab","bac","bae","baf","bag","bah","baj","bak","bal","bam","ban","bao","bap","bar","bas","bau","bav","baw","bax","bay","bba","bbb","bbc","bbd","bbe","bbf","bbg","bbh","bbi","bbj","bbk","bbl","bbm","bbn","bbo","bbp","bbq","bbr","bbs","bbt","bbu","bbv","bbw","bbx","bby","bca","bcb","bcc","bcd","bce","bcf","bcg","bch","bci","bcj","bck","bcl","bcm","bcn","bco","bcp","bcq","bcr","bcs","bct","bcu","bcv","bcw","bcy","bcz","bda","bdb","bdc","bdd","bde","bdf","bdg","bdh","bdi","bdj","bdk","bdl","bdm","bdn","bdo","bdp","bdq","bdr","bds","bdt","bdu","bdv","bdw","bdx","bdy","bdz","bea","beb","bec","bed","bee","bef","beg","beh","bei","bej","bek","bel","bem","ben","beo","bep","beq","bes","bet","beu","bev","bew","bex","bey","bez","bfa","bfb","bfc","bfd","bfe","bff","bfg","bfh","bfi","bfj","bfk","bfl","bfm","bfn","bfo","bfp","bfq","bfr","bfs","bft","bfu","bfw","bfx","bfy","bfz","bga","bgb","bgc","bgd","bge","bgf","bgg","bgi","bgj","bgk","bgl","bgn","bgo","bgp","bgq","bgr","bgs","bgt","bgu","bgv","bgw","bgx","bgy","bgz","bha","bhb","bhc","bhd","bhe","bhf","bhg","bhh","bhi","bhj","bhl","bhm","bhn","bho","bhp","bhq","bhr","bhs","bht","bhu","bhv","bhw","bhx","bhy","bhz","bia","bib","bid","bie","bif","big","bik","bil","bim","bin","bio","bip","biq","bir","bis","bit","biu","biv","biw","bix","biy","biz","bja","bjb","bjc","bje","bjf","bjg","bjh","bji","bjj","bjk","bjl","bjm","bjn","bjo","bjp","bjr","bjs","bjt","bju","bjv","bjw","bjx","bjy","bjz","bka","bkc","bkd","bkf","bkg","bkh","bki","bkj","bkk","bkl","bkm","bkn","bko","bkp","bkq","bkr","bks","bkt","bku","bkv","bkw","bkx","bky","bkz","bla","blb","blc","bld","ble","blf","blh","bli","blj","blk","bll","blm","bln","blo","blp","blq","blr","bls","blt","blv","blw","blx","bly","blz","bma","bmb","bmc","bmd","bme","bmf","bmg","bmh","bmi","bmj","bmk","bml","bmm","bmn","bmo","bmp","bmq","bmr","bms","bmt","bmu","bmv","bmw","bmx","bmz","bna","bnb","bnc","bnd","bne","bnf","bng","bni","bnj","bnk","bnl","bnm","bnn","bno","bnp","bnq","bnr","bns","bnu","bnv","bnw","bnx","bny","bnz","boa","bob","bod","boe","bof","bog","boh","boi","boj","bok","bol","bom","bon","boo","bop","boq","bor","bos","bot","bou","bov","bow","box","boy","boz","bpa","bpc","bpd","bpe","bpg","bph","bpi","bpj","bpk","bpl","bpm","bpn","bpo","bpp","bpq","bpr","bps","bpt","bpu","bpv","bpw","bpx","bpy","bpz","bqa","bqb","bqc","bqd","bqf","bqg","bqh","bqi","bqj","bqk","bql","bqm","bqn","bqo","bqp","bqq","bqr","bqs","bqt","bqu","bqv","bqw","bqx","bqy","bqz","bra","brb","brc","brd","bre","brf","brg","brh","bri","brj","brk","brl","brm","brn","bro","brp","brq","brr","brs","brt","bru","brv","brw","brx","bry","brz","bsa","bsb","bsc","bse","bsf","bsg","bsh","bsi","bsj","bsk","bsl","bsm","bsn","bso","bsp","bsq","bsr","bss","bst","bsu","bsv","bsw","bsx","bsy","bta","btc","btd","bte","btf","btg","bth","bti","btj","btm","btn","bto","btp","btq","btr","bts","btt","btu","btv","btw","btx","bty","btz","bua","bub","buc","bud","bue","buf","bug","buh","bui","buj","buk","bul","bum","bun","buo","bup","buq","bus","but","buu","buv","buw","bux","buy","buz","bva","bvb","bvc","bvd","bve","bvf","bvg","bvh","bvi","bvj","bvk","bvl","bvm","bvn","bvo","bvp","bvq","bvr","bvt","bvu","bvv","bvw","bvx","bvy","bvz","bwa","bwb","bwc","bwd","bwe","bwf","bwg","bwh","bwi","bwj","bwk","bwl","bwm","bwn","bwo","bwp","bwq","bwr","bws","bwt","bwu","bww","bwx","bwy","bwz","bxa","bxb","bxc","bxd","bxe","bxf","bxg","bxh","bxi","bxj","bxk","bxl","bxm","bxn","bxo","bxp","bxq","bxr","bxs","bxu","bxv","bxw","bxz","bya","byb","byc","byd","bye","byf","byg","byh","byi","byj","byk","byl","bym","byn","byo","byp","byq","byr","bys","byt","byv","byw","byx","byz","bza","bzb","bzc","bzd","bze","bzf","bzg","bzh","bzi","bzj","bzk","bzl","bzm","bzn","bzo","bzp","bzq","bzr","bzs","bzt","bzu","bzv","bzw","bzx","bzy","bzz","caa","cab","cac","cad","cae","caf","cag","cah","caj","cak","cal","cam","can","cao","cap","caq","car","cas","cat","cav","caw","cax","cay","caz","cbb","cbc","cbd","cbg","cbi","cbj","cbk","cbl","cbn","cbo","cbq","cbr","cbs","cbt","cbu","cbv","cbw","cby","ccc","ccd","cce","ccg","cch","ccj","ccl","ccm","cco","ccp","ccr","cda","cde","cdf","cdh","cdi","cdj","cdm","cdn","cdo","cdr","cds","cdy","cdz","cea","ceb","ceg","cek","cen","ces","cet","cey","cfa","cfd","cfg","cfm","cga","cgc","cgg","cgk","cha","chb","chc","chd","che","chf","chg","chh","chj","chk","chl","chm","chn","cho","chp","chq","chr","cht","chu","chv","chw","chx","chy","chz","cia","cib","cic","cid","cie","cih","cik","cim","cin","cip","cir","ciw","ciy","cja","cje","cjh","cji","cjk","cjm","cjn","cjo","cjp","cjs","cjv","cjy","ckb","ckh","ckl","ckm","ckn","cko","ckq","ckr","cks","ckt","cku","ckv","ckx","cky","ckz","cla","clc","cld","cle","clh","cli","clj","clk","cll","clm","clo","clt","clu","clw","cly","cma","cme","cmg","cmi","cml","cmm","cmn","cmo","cmr","cms","cmt","cna","cnb","cnc","cng","cnh","cni","cnk","cnl","cno","cnp","cnq","cnr","cns","cnt","cnu","cnw","cnx","coa","cob","coc","cod","coe","cof","cog","coh","coj","cok","col","com","con","coo","cop","coq","cor","cos","cot","cou","cov","cow","cox","coz","cpa","cpb","cpc","cpg","cpi","cpn","cpo","cps","cpu","cpx","cpy","cqd","cra","crb","crc","crd","cre","crf","crg","crh","cri","crj","crk","crl","crm","crn","cro","crq","crr","crs","crt","crv","crw","crx","cry","crz","csa","csb","csc","csd","cse","csf","csg","csh","csi","csj","csk","csl","csm","csn","cso","csp","csq","csr","css","cst","csv","csw","csx","csy","csz","cta","ctc","ctd","cte","ctg","cth","ctl","ctm","ctn","cto","ctp","cts","ctt","ctu","cty","ctz","cua","cub","cuc","cuh","cui","cuj","cuk","cul","cuo","cup","cuq","cur","cut","cuu","cuv","cuw","cux","cuy","cvg","cvn","cwa","cwb","cwd","cwe","cwg","cwt","cya","cyb","cym","cyo","czh","czk","czn","czo","czt","daa","dac","dad","dae","dag","dah","dai","daj","dak","dal","dam","dan","dao","daq","dar","das","dau","dav","daw","dax","daz","dba","dbb","dbd","dbe","dbf","dbg","dbi","dbj","dbl","dbm","dbn","dbo","dbp","dbq","dbr","dbt","dbu","dbv","dbw","dby","dcc","dcr","dda","ddd","dde","ddg","ddi","ddj","ddn","ddo","ddr","dds","ddw","dec","ded","dee","def","deg","deh","dei","dek","del","dem","den","dep","deq","der","des","deu","dev","dez","dga","dgb","dgc","dgd","dge","dgg","dgh","dgi","dgk","dgl","dgn","dgo","dgr","dgs","dgt","dgw","dgx","dgz","dhd","dhg","dhi","dhl","dhm","dhn","dho","dhr","dhs","dhu","dhv","dhw","dhx","dia","dib","dic","did","dif","dig","dih","dii","dij","dik","dil","dim","din","dio","dip","diq","dir","dis","diu","div","diw","dix","diy","diz","dja","djb","djc","djd","dje","djf","dji","djj","djk","djm","djn","djo","djr","dju","djw","dka","dkg","dkk","dkr","dks","dkx","dlg","dlk","dlm","dln","dma","dmb","dmc","dmd","dme","dmf","dmg","dmk","dml","dmm","dmo","dmr","dms","dmu","dmv","dmw","dmx","dmy","dna","dnd","dne","dng","dni","dnj","dnk","dnn","dno","dnr","dnt","dnu","dnv","dnw","dny","doa","dob","doc","doe","dof","doh","doi","dok","dol","don","doo","dop","doq","dor","dos","dot","dov","dow","dox","doy","doz","dpp","drb","drc","drd","dre","drg","dri","drl","drn","dro","drq","drs","drt","dru","dry","dsb","dse","dsh","dsi","dsl","dsn","dso","dsq","dsz","dta","dtb","dtd","dth","dti","dtk","dtm","dtn","dto","dtp","dtr","dts","dtt","dtu","dty","dua","dub","duc","due","duf","dug","duh","dui","duk","dul","dum","dun","duo","dup","duq","dur","dus","duu","duv","duw","dux","duy","duz","dva","dwa","dwk","dwr","dws","dwu","dww","dwy","dwz","dya","dyb","dyd","dyg","dyi","dym","dyn","dyo","dyu","dyy","dza","dze","dzg","dzl","dzn","dzo","eaa","ebc","ebg","ebk","ebo","ebr","ebu","ecr","ecs","ecy","eee","efa","efe","efi","ega","egl","egm","ego","egy","ehs","ehu","eip","eit","eiv","eja","eka","eke","ekg","eki","ekk","ekl","ekm","eko","ekp","ekr","eky","ele","elh","eli","elk","ell","elm","elo","elu","elx","ema","emb","eme","emg","emi","emk","emm","emn","emp","emq","ems","emu","emw","emx","emy","emz","ena","enb","enc","end","enf","eng","enh","enl","enm","enn","eno","enq","enr","enu","env","enw","enx","eot","epi","epo","era","erg","erh","eri","erk","ero","err","ers","ert","erw","ese","esg","esh","esi","esk","esl","esm","esn","eso","esq","ess","est","esu","esy","etb","etc","eth","etn","eto","etr","ets","ett","etu","etx","etz","eus","eve","evh","evn","ewe","ewo","ext","eya","eyo","eza","eze","faa","fab","fad","faf","fag","fah","fai","faj","fak","fal","fam","fan","fao","fap","far","fas","fat","fau","fax","fay","faz","fbl","fcs","fer","ffi","ffm","fgr","fia","fie","fif","fij","fil","fin","fip","fir","fit","fiw","fkk","fkv","fla","flh","fli","fll","fln","flr","fly","fmp","fmu","fnb","fng","fni","fod","foi","fom","fon","for","fos","fpe","fqs","fra","frc","frd","frk","frm","fro","frp","frq","frr","frs","frt","fry","fse","fsl","fss","fub","fuc","fud","fue","fuf","fuh","fui","fuj","ful","fum","fun","fuq","fur","fut","fuu","fuv","fuy","fvr","fwa","fwe","gaa","gab","gac","gad","gae","gaf","gag","gah","gai","gaj","gak","gal","gam","gan","gao","gap","gaq","gar","gas","gat","gau","gaw","gax","gay","gaz","gba","gbb","gbd","gbe","gbf","gbg","gbh","gbi","gbj","gbk","gbl","gbm","gbn","gbo","gbp","gbq","gbr","gbs","gbu","gbv","gbw","gbx","gby","gbz","gcc","gcd","gce","gcf","gcl","gcn","gcr","gct","gda","gdb","gdc","gdd","gde","gdf","gdg","gdh","gdi","gdj","gdk","gdl","gdm","gdn","gdo","gdq","gdr","gds","gdt","gdu","gdx","gea","geb","gec","ged","gef","geg","geh","gei","gej","gek","gel","geq","ges","gev","gew","gex","gey","gez","gfk","gft","gga","ggb","ggd","gge","ggg","ggk","ggl","ggt","ggu","ggw","gha","ghc","ghe","ghh","ghk","ghl","ghn","gho","ghr","ghs","ght","gia","gib","gic","gid","gie","gig","gih","gii","gil","gim","gin","gip","giq","gir","gis","git","giu","giw","gix","giy","giz","gjk","gjm","gjn","gjr","gju","gka","gkd","gke","gkn","gko","gkp","gku","gla","glb","glc","gld","gle","glg","glh","glj","glk","gll","glo","glr","glu","glv","glw","gly","gma","gmb","gmd","gmg","gmh","gml","gmm","gmn","gmr","gmu","gmv","gmx","gmy","gmz","gna","gnb","gnc","gnd","gne","gng","gnh","gni","gnj","gnk","gnl","gnm","gnn","gno","gnq","gnr","gnt","gnu","gnw","gnz","goa","gob","goc","god","goe","gof","gog","goh","goi","goj","gok","gol","gom","gon","goo","gop","goq","gor","gos","got","gou","gov","gow","gox","goy","goz","gpa","gpe","gpn","gqa","gqi","gqn","gqr","gqu","gra","grb","grc","grd","grg","grh","gri","grj","grm","grn","gro","grq","grr","grs","grt","gru","grv","grw","grx","gry","grz","gse","gsg","gsl","gsm","gsn","gso","gsp","gss","gsw","gta","gtu","gua","gub","guc","gud","gue","guf","gug","guh","gui","guj","guk","gul","gum","gun","guo","gup","guq","gur","gus","gut","guu","guw","gux","guz","gva","gvc","gve","gvf","gvj","gvl","gvm","gvn","gvo","gvp","gvr","gvs","gvy","gwa","gwb","gwc","gwd","gwe","gwf","gwg","gwi","gwj","gwm","gwn","gwr","gwt","gwu","gww","gwx","gxx","gya","gyb","gyd","gye","gyf","gyg","gyi","gyl","gym","gyn","gyo","gyr","gyy","gyz","gza","gzi","gzn","haa","hab","hac","had","hae","haf","hag","hah","hai","haj","hak","hal","ham","han","hao","hap","haq","har","has","hat","hau","hav","haw","hax","hay","haz","hba","hbb","hbn","hbo","hbs","hbu","hca","hch","hdn","hds","hdy","hea","heb","hed","heg","heh","hei","hem","her","hgm","hgw","hhi","hhr","hhy","hia","hib","hid","hif","hig","hih","hii","hij","hik","hil","hin","hio","hir","hit","hiw","hix","hji","hka","hke","hkh","hkk","hkn","hks","hla","hlb","hld","hle","hlt","hlu","hma","hmb","hmc","hmd","hme","hmf","hmg","hmh","hmi","hmj","hmk","hml","hmm","hmn","hmo","hmp","hmq","hmr","hms","hmt","hmu","hmv","hmw","hmy","hmz","hna","hnd","hne","hng","hnh","hni","hnj","hnn","hno","hns","hnu","hoa","hob","hoc","hod","hoe","hoh","hoi","hoj","hol","hom","hoo","hop","hor","hos","hot","hov","how","hoy","hoz","hpo","hps","hra","hrc","hre","hrk","hrm","hro","hrp","hrt","hru","hrv","hrw","hrx","hrz","hsb","hsh","hsl","hsn","hss","hti","hto","hts","htu","htx","hub","huc","hud","hue","huf","hug","huh","hui","huj","huk","hul","hum","hun","huo","hup","huq","hur","hus","hut","huu","huv","huw","hux","huy","huz","hvc","hve","hvk","hvn","hvv","hwa","hwc","hwo","hya","hye","hyw","iai","ian","iar","iba","ibb","ibd","ibe","ibg","ibh","ibl","ibm","ibn","ibo","ibr","ibu","iby","ica","ich","icl","icr","ida","idb","idc","idd","ide","idi","ido","idr","ids","idt","idu","ifa","ifb","ife","iff","ifk","ifm","ifu","ify","igb","ige","igg","igl","igm","ign","igo","igs","igw","ihb","ihi","ihp","ihw","iii","iin","ijc","ije","ijj","ijn","ijs","ike","iki","ikk","ikl","iko","ikp","ikr","iks","ikt","iku","ikv","ikw","ikx","ikz","ila","ilb","ile","ilg","ili","ilk","ilm","ilo","ilp","ils","ilu","ilv","ima","imi","iml","imn","imo","imr","ims","imt","imy","ina","inb","ind","ing","inh","inj","inl","inm","inn","ino","inp","ins","int","inz","ior","iou","iow","ipi","ipk","ipo","iqu","iqw","ire","irh","iri","irk","irn","irr","iru","irx","iry","isa","isc","isd","ise","isg","ish","isi","isk","isl","ism","isn","iso","isr","ist","isu","ita","itb","itd","ite","iti","itk","itl","itm","ito","itr","its","itt","itv","itw","itx","ity","itz","ium","ivb","ivv","iwk","iwm","iwo","iws","ixc","ixl","iya","iyo","iyx","izh","izr","izz","jaa","jab","jac","jad","jae","jaf","jah","jaj","jak","jal","jam","jan","jao","jaq","jas","jat","jau","jav","jax","jay","jaz","jbe","jbi","jbj","jbk","jbm","jbn","jbo","jbr","jbt","jbu","jbw","jcs","jct","jda","jdg","jdt","jeb","jee","jeh","jei","jek","jel","jen","jer","jet","jeu","jgb","jge","jgk","jgo","jhi","jhs","jia","jib","jic","jid","jie","jig","jih","jii","jil","jim","jio","jiq","jit","jiu","jiv","jiy","jje","jjr","jka","jkm","jko","jkp","jkr","jks","jku","jle","jls","jma","jmb","jmc","jmd","jmi","jml","jmn","jmr","jms","jmw","jmx","jna","jnd","jng","jni","jnj","jnl","jns","job","jod","jog","jor","jos","jow","jpa","jpn","jpr","jqr","jra","jrb","jrr","jrt","jru","jsl","jua","jub","juc","jud","juh","jui","juk","jul","jum","jun","juo","jup","jur","jus","jut","juu","juw","juy","jvd","jvn","jwi","jya","jye","jyy","kaa","kab","kac","kad","kae","kaf","kag","kah","kai","kaj","kak","kal","kam","kan","kao","kap","kaq","kas","kat","kau","kav","kaw","kax","kay","kaz","kba","kbb","kbc","kbd","kbe","kbg","kbh","kbi","kbj","kbk","kbl","kbm","kbn","kbo","kbp","kbq","kbr","kbs","kbt","kbu","kbv","kbw","kbx","kby","kbz","kca","kcb","kcc","kcd","kce","kcf","kcg","kch","kci","kcj","kck","kcl","kcm","kcn","kco","kcp","kcq","kcr","kcs","kct","kcu","kcv","kcw","kcx","kcy","kcz","kda","kdc","kdd","kde","kdf","kdg","kdh","kdi","kdj","kdk","kdl","kdm","kdn","kdp","kdq","kdr","kdt","kdu","kdw","kdx","kdy","kdz","kea","keb","kec","ked","kee","kef","keg","keh","kei","kej","kek","kel","kem","ken","keo","kep","keq","ker","kes","ket","keu","kev","kew","kex","key","kez","kfa","kfb","kfc","kfd","kfe","kff","kfg","kfh","kfi","kfj","kfk","kfl","kfm","kfn","kfo","kfp","kfq","kfr","kfs","kft","kfu","kfv","kfw","kfx","kfy","kfz","kga","kgb","kge","kgf","kgg","kgi","kgj","kgk","kgl","kgm","kgn","kgo","kgp","kgq","kgr","kgs","kgt","kgu","kgv","kgw","kgx","kgy","kha","khb","khc","khd","khe","khf","khg","khh","khj","khk","khl","khm","khn","kho","khp","khq","khr","khs","kht","khu","khv","khw","khx","khy","khz","kia","kib","kic","kid","kie","kif","kig","kih","kii","kij","kik","kil","kim","kin","kio","kip","kiq","kir","kis","kit","kiu","kiv","kiw","kix","kiy","kiz","kja","kjb","kjc","kjd","kje","kjg","kjh","kji","kjj","kjk","kjl","kjm","kjn","kjo","kjp","kjq","kjr","kjs","kjt","kju","kjv","kjx","kjy","kjz","kka","kkb","kkc","kkd","kke","kkf","kkg","kkh","kki","kkj","kkk","kkl","kkm","kkn","kko","kkp","kkq","kkr","kks","kkt","kku","kkv","kkw","kkx","kky","kkz","kla","klb","klc","kld","kle","klf","klg","klh","kli","klj","klk","kll","klm","kln","klo","klp","klq","klr","kls","klt","klu","klv","klw","klx","kly","klz","kma","kmb","kmc","kmd","kme","kmf","kmg","kmh","kmi","kmj","kmk","kml","kmm","kmn","kmo","kmp","kmq","kmr","kms","kmt","kmu","kmv","kmw","kmx","kmy","kmz","kna","knb","knc","knd","kne","knf","kng","kni","knj","knk","knl","knm","knn","kno","knp","knq","knr","kns","knt","knu","knv","knw","knx","kny","knz","koa","koc","kod","koe","kof","kog","koh","koi","kok","kol","kom","kon","koo","kop","koq","kor","kos","kot","kou","kov","kow","koy","koz","kpa","kpb","kpc","kpd","kpe","kpf","kpg","kph","kpi","kpj","kpk","kpl","kpm","kpn","kpo","kpq","kpr","kps","kpt","kpu","kpv","kpw","kpx","kpy","kpz","kqa","kqb","kqc","kqd","kqe","kqf","kqg","kqh","kqi","kqj","kqk","kql","kqm","kqn","kqo","kqp","kqq","kqr","kqs","kqt","kqu","kqv","kqw","kqx","kqy","kqz","kra","krb","krc","krd","kre","krf","krh","kri","krj","krk","krl","krn","krp","krr","krs","krt","kru","krv","krw","krx","kry","krz","ksa","ksb","ksc","ksd","kse","ksf","ksg","ksh","ksi","ksj","ksk","ksl","ksm","ksn","kso","ksp","ksq","ksr","kss","kst","ksu","ksv","ksw","ksx","ksy","ksz","kta","ktb","ktc","ktd","kte","ktf","ktg","kth","kti","ktj","ktk","ktl","ktm","ktn","kto","ktp","ktq","kts","ktt","ktu","ktv","ktw","ktx","kty","ktz","kua","kub","kuc","kud","kue","kuf","kug","kuh","kui","kuj","kuk","kul","kum","kun","kuo","kup","kuq","kur","kus","kut","kuu","kuv","kuw","kux","kuy","kuz","kva","kvb","kvc","kvd","kve","kvf","kvg","kvh","kvi","kvj","kvk","kvl","kvm","kvn","kvo","kvp","kvq","kvr","kvt","kvu","kvv","kvw","kvx","kvy","kvz","kwa","kwb","kwc","kwd","kwe","kwf","kwg","kwh","kwi","kwj","kwk","kwl","kwm","kwn","kwo","kwp","kwr","kws","kwt","kwu","kwv","kww","kwx","kwy","kwz","kxa","kxb","kxc","kxd","kxf","kxh","kxi","kxj","kxk","kxm","kxn","kxo","kxp","kxq","kxr","kxs","kxt","kxv","kxw","kxx","kxy","kxz","kya","kyb","kyc","kyd","kye","kyf","kyg","kyh","kyi","kyj","kyk","kyl","kym","kyn","kyo","kyp","kyq","kyr","kys","kyt","kyu","kyv","kyw","kyx","kyy","kyz","kza","kzb","kzc","kzd","kze","kzf","kzg","kzi","kzk","kzl","kzm","kzn","kzo","kzp","kzq","kzr","kzs","kzu","kzv","kzw","kzx","kzy","kzz","laa","lab","lac","lad","lae","laf","lag","lah","lai","laj","lal","lam","lan","lao","lap","laq","lar","las","lat","lau","lav","law","lax","lay","laz","lbb","lbc","lbe","lbf","lbg","lbi","lbj","lbk","lbl","lbm","lbn","lbo","lbq","lbr","lbs","lbt","lbu","lbv","lbw","lbx","lby","lbz","lcc","lcd","lce","lcf","lch","lcl","lcm","lcp","lcq","lcs","lda","ldb","ldd","ldg","ldh","ldi","ldj","ldk","ldl","ldm","ldn","ldo","ldp","ldq","lea","leb","lec","led","lee","lef","leh","lei","lej","lek","lel","lem","len","leo","lep","leq","ler","les","let","leu","lev","lew","lex","ley","lez","lfa","lfn","lga","lgb","lgg","lgh","lgi","lgk","lgl","lgm","lgn","lgo","lgq","lgr","lgt","lgu","lgz","lha","lhh","lhi","lhl","lhm","lhn","lhp","lhs","lht","lhu","lia","lib","lic","lid","lie","lif","lig","lih","lij","lik","lil","lim","lin","lio","lip","liq","lir","lis","lit","liu","liv","liw","lix","liy","liz","lja","lje","lji","ljl","ljp","ljw","ljx","lka","lkb","lkc","lkd","lke","lkh","lki","lkj","lkl","lkm","lkn","lko","lkr","lks","lkt","lku","lky","lla","llb","llc","lld","lle","llf","llg","llh","lli","llj","llk","lll","llm","lln","llp","llq","lls","llu","llx","lma","lmb","lmc","lmd","lme","lmf","lmg","lmh","lmi","lmj","lmk","lml","lmn","lmo","lmp","lmq","lmr","lmu","lmv","lmw","lmx","lmy","lna","lnb","lnd","lng","lnh","lni","lnj","lnl","lnm","lnn","lns","lnu","lnw","lnz","loa","lob","loc","loe","lof","log","loh","loi","loj","lok","lol","lom","lon","loo","lop","loq","lor","los","lot","lou","lov","low","lox","loy","loz","lpa","lpe","lpn","lpo","lpx","lqr","lra","lrc","lre","lrg","lri","lrk","lrl","lrm","lrn","lro","lrr","lrt","lrv","lrz","lsa","lsb","lsc","lsd","lse","lsh","lsi","lsl","lsm","lsn","lso","lsp","lsr","lss","lst","lsv","lsw","lsy","ltc","ltg","lth","lti","ltn","lto","lts","ltu","ltz","lua","lub","luc","lud","lue","luf","lug","lui","luj","luk","lul","lum","lun","luo","lup","luq","lur","lus","lut","luu","luv","luw","luy","luz","lva","lvi","lvk","lvs","lvu","lwa","lwe","lwg","lwh","lwl","lwm","lwo","lws","lwt","lwu","lww","lxm","lya","lyg","lyn","lzh","lzl","lzn","lzz","maa","mab","mad","mae","maf","mag","mah","mai","maj","mak","mal","mam","man","maq","mar","mas","mat","mau","mav","maw","max","maz","mba","mbb","mbc","mbd","mbe","mbf","mbh","mbi","mbj","mbk","mbl","mbm","mbn","mbo","mbp","mbq","mbr","mbs","mbt","mbu","mbv","mbw","mbx","mby","mbz","mca","mcb","mcc","mcd","mce","mcf","mcg","mch","mci","mcj","mck","mcl","mcm","mcn","mco","mcp","mcq","mcr","mcs","mct","mcu","mcv","mcw","mcx","mcy","mcz","mda","mdb","mdc","mdd","mde","mdf","mdg","mdh","mdi","mdj","mdk","mdl","mdm","mdn","mdp","mdq","mdr","mds","mdt","mdu","mdv","mdw","mdx","mdy","mdz","mea","meb","mec","med","mee","mef","meh","mei","mej","mek","mel","mem","men","meo","mep","meq","mer","mes","met","meu","mev","mew","mey","mez","mfa","mfb","mfc","mfd","mfe","mff","mfg","mfh","mfi","mfj","mfk","mfl","mfm","mfn","mfo","mfp","mfq","mfr","mfs","mft","mfu","mfv","mfw","mfx","mfy","mfz","mga","mgb","mgc","mgd","mge","mgf","mgg","mgh","mgi","mgj","mgk","mgl","mgm","mgn","mgo","mgp","mgq","mgr","mgs","mgt","mgu","mgv","mgw","mgy","mgz","mha","mhb","mhc","mhd","mhe","mhf","mhg","mhi","mhj","mhk","mhl","mhm","mhn","mho","mhp","mhq","mhr","mhs","mht","mhu","mhw","mhx","mhy","mhz","mia","mib","mic","mid","mie","mif","mig","mih","mii","mij","mik","mil","mim","min","mio","mip","miq","mir","mis","mit","miu","miw","mix","miy","miz","mjb","mjc","mjd","mje","mjg","mjh","mji","mjj","mjk","mjl","mjm","mjn","mjo","mjp","mjq","mjr","mjs","mjt","mju","mjv","mjw","mjx","mjy","mjz","mka","mkb","mkc","mkd","mke","mkf","mkg","mki","mkj","mkk","mkl","mkm","mkn","mko","mkp","mkq","mkr","mks","mkt","mku","mkv","mkw","mkx","mky","mkz","mla","mlb","mlc","mle","mlf","mlg","mlh","mli","mlj","mlk","mll","mlm","mln","mlo","mlp","mlq","mlr","mls","mlt","mlu","mlv","mlw","mlx","mlz","mma","mmb","mmc","mmd","mme","mmf","mmg","mmh","mmi","mmj","mmk","mml","mmm","mmn","mmo","mmp","mmq","mmr","mmt","mmu","mmv","mmw","mmx","mmy","mmz","mna","mnb","mnc","mnd","mne","mnf","mng","mnh","mni","mnj","mnk","mnl","mnm","mnn","mnp","mnq","mnr","mns","mnu","mnv","mnw","mnx","mny","mnz","moa","moc","mod","moe","mog","moh","moi","moj","mok","mom","mon","moo","mop","moq","mor","mos","mot","mou","mov","mow","mox","moy","moz","mpa","mpb","mpc","mpd","mpe","mpg","mph","mpi","mpj","mpk","mpl","mpm","mpn","mpo","mpp","mpq","mpr","mps","mpt","mpu","mpv","mpw","mpx","mpy","mpz","mqa","mqb","mqc","mqe","mqf","mqg","mqh","mqi","mqj","mqk","mql","mqm","mqn","mqo","mqp","mqq","mqr","mqs","mqt","mqu","mqv","mqw","mqx","mqy","mqz","mra","mrb","mrc","mrd","mre","mrf","mrg","mrh","mri","mrj","mrk","mrl","mrm","mrn","mro","mrp","mrq","mrr","mrs","mrt","mru","mrv","mrw","mrx","mry","mrz","msa","msb","msc","msd","mse","msf","msg","msh","msi","msj","msk","msl","msm","msn","mso","msp","msq","msr","mss","msu","msv","msw","msx","msy","msz","mta","mtb","mtc","mtd","mte","mtf","mtg","mth","mti","mtj","mtk","mtl","mtm","mtn","mto","mtp","mtq","mtr","mts","mtt","mtu","mtv","mtw","mtx","mty","mua","mub","muc","mud","mue","mug","muh","mui","muj","muk","mul","mum","muo","mup","muq","mur","mus","mut","muu","muv","mux","muy","muz","mva","mvb","mvd","mve","mvf","mvg","mvh","mvi","mvk","mvl","mvn","mvo","mvp","mvq","mvr","mvs","mvt","mvu","mvv","mvw","mvx","mvy","mvz","mwa","mwb","mwc","mwe","mwf","mwg","mwh","mwi","mwk","mwl","mwm","mwn","mwo","mwp","mwq","mwr","mws","mwt","mwu","mwv","mww","mwz","mxa","mxb","mxc","mxd","mxe","mxf","mxg","mxh","mxi","mxj","mxk","mxl","mxm","mxn","mxo","mxp","mxq","mxr","mxs","mxt","mxu","mxv","mxw","mxx","mxy","mxz","mya","myb","myc","mye","myf","myg","myh","myj","myk","myl","mym","myo","myp","myr","mys","myu","myv","myw","myx","myy","myz","mza","mzb","mzc","mzd","mze","mzg","mzh","mzi","mzj","mzk","mzl","mzm","mzn","mzo","mzp","mzq","mzr","mzs","mzt","mzu","mzv","mzw","mzx","mzy","mzz","naa","nab","nac","nae","naf","nag","naj","nak","nal","nam","nan","nao","nap","naq","nar","nas","nat","nau","nav","naw","nax","nay","naz","nba","nbb","nbc","nbd","nbe","nbg","nbh","nbi","nbj","nbk","nbl","nbm","nbn","nbo","nbp","nbq","nbr","nbs","nbt","nbu","nbv","nbw","nby","nca","ncb","ncc","ncd","nce","ncf","ncg","nch","nci","ncj","nck","ncl","ncm","ncn","nco","ncq","ncr","ncs","nct","ncu","ncx","ncz","nda","ndb","ndc","ndd","nde","ndf","ndg","ndh","ndi","ndj","ndk","ndl","ndm","ndn","ndo","ndp","ndq","ndr","nds","ndt","ndu","ndv","ndw","ndx","ndy","ndz","nea","neb","nec","ned","nee","nef","neg","neh","nei","nej","nek","nem","nen","neo","nep","neq","ner","nes","net","neu","nev","new","nex","ney","nez","nfa","nfd","nfl","nfr","nfu","nga","ngb","ngc","ngd","nge","ngg","ngh","ngi","ngj","ngk","ngl","ngm","ngn","ngp","ngq","ngr","ngs","ngt","ngu","ngv","ngw","ngx","ngy","ngz","nha","nhb","nhc","nhd","nhe","nhf","nhg","nhh","nhi","nhk","nhm","nhn","nho","nhp","nhq","nhr","nht","nhu","nhv","nhw","nhx","nhy","nhz","nia","nib","nid","nie","nif","nig","nih","nii","nij","nik","nil","nim","nin","nio","niq","nir","nis","nit","niu","niv","niw","nix","niy","niz","nja","njb","njd","njh","nji","njj","njl","njm","njn","njo","njr","njs","njt","nju","njx","njy","njz","nka","nkb","nkc","nkd","nke","nkf","nkg","nkh","nki","nkj","nkk","nkm","nkn","nko","nkp","nkq","nkr","nks","nkt","nku","nkv","nkw","nkx","nkz","nla","nlc","nld","nle","nlg","nli","nlj","nlk","nll","nlm","nlo","nlq","nlu","nlv","nlw","nlx","nly","nlz","nma","nmb","nmc","nmd","nme","nmf","nmg","nmh","nmi","nmj","nmk","nml","nmm","nmn","nmo","nmp","nmq","nmr","nms","nmt","nmu","nmv","nmw","nmx","nmy","nmz","nna","nnb","nnc","nnd","nne","nnf","nng","nnh","nni","nnj","nnk","nnl","nnm","nnn","nno","nnp","nnq","nnr","nnt","nnu","nnv","nnw","nny","nnz","noa","nob","noc","nod","noe","nof","nog","noh","noi","noj","nok","nol","nom","non","nop","noq","nor","nos","not","nou","nov","now","noy","noz","npa","npb","npg","nph","npi","npl","npn","npo","nps","npu","npx","npy","nqg","nqk","nql","nqm","nqn","nqo","nqq","nqt","nqy","nra","nrb","nrc","nre","nrf","nrg","nri","nrk","nrl","nrm","nrn","nrp","nrr","nrt","nru","nrx","nrz","nsa","nsb","nsc","nsd","nse","nsf","nsg","nsh","nsi","nsk","nsl","nsm","nsn","nso","nsp","nsq","nsr","nss","nst","nsu","nsv","nsw","nsx","nsy","nsz","ntd","nte","ntg","nti","ntj","ntk","ntm","nto","ntp","ntr","ntu","ntw","ntx","nty","ntz","nua","nuc","nud","nue","nuf","nug","nuh","nui","nuj","nuk","nul","num","nun","nuo","nup","nuq","nur","nus","nut","nuu","nuv","nuw","nux","nuy","nuz","nvh","nvm","nvo","nwa","nwb","nwc","nwe","nwg","nwi","nwm","nwo","nwr","nww","nwx","nwy","nxa","nxd","nxe","nxg","nxi","nxk","nxl","nxm","nxn","nxo","nxq","nxr","nxx","nya","nyb","nyc","nyd","nye","nyf","nyg","nyh","nyi","nyj","nyk","nyl","nym","nyn","nyo","nyp","nyq","nyr","nys","nyt","nyu","nyv","nyw","nyx","nyy","nza","nzb","nzd","nzi","nzk","nzm","nzs","nzu","nzy","nzz","oaa","oac","oar","oav","obi","obk","obl","obm","obo","obr","obt","obu","oca","och","oci","ocm","oco","ocu","oda","odk","odt","odu","ofo","ofs","ofu","ogb","ogc","oge","ogg","ogo","ogu","oht","ohu","oia","oie","oin","ojb","ojc","ojg","oji","ojp","ojs","ojv","ojw","oka","okb","okc","okd","oke","okg","okh","oki","okj","okk","okl","okm","okn","oko","okr","oks","oku","okv","okx","okz","ola","old","ole","olk","olm","olo","olr","olt","olu","oma","omb","omc","omg","omi","omk","oml","omn","omo","omp","omr","omt","omu","omw","omx","omy","ona","onb","one","ong","oni","onj","onk","onn","ono","onp","onr","ons","ont","onu","onw","onx","ood","oog","oon","oor","oos","opa","opk","opm","opo","opt","opy","ora","orc","ore","org","orh","ori","orm","orn","oro","orr","ors","ort","oru","orv","orw","orx","ory","orz","osa","osc","osi","osn","oso","osp","oss","ost","osu","osx","ota","otb","otd","ote","oti","otk","otl","otm","otn","otq","otr","ots","ott","otu","otw","otx","oty","otz","oua","oub","oue","oui","oum","ovd","owi","owl","oyb","oyd","oym","oyy","ozm","pab","pac","pad","pae","paf","pag","pah","pai","pak","pal","pam","pan","pao","pap","paq","par","pas","pau","pav","paw","pax","pay","paz","pbb","pbc","pbe","pbf","pbg","pbh","pbi","pbl","pbm","pbn","pbo","pbp","pbr","pbs","pbt","pbu","pbv","pby","pca","pcb","pcc","pcd","pce","pcf","pcg","pch","pci","pcj","pck","pcl","pcm","pcn","pcp","pcw","pda","pdc","pdi","pdn","pdo","pdt","pdu","pea","peb","ped","pee","pef","peg","peh","pei","pej","pek","pel","pem","peo","pep","peq","pes","pev","pex","pey","pez","pfa","pfe","pfl","pga","pgd","pgg","pgi","pgk","pgl","pgn","pgs","pgu","pgz","pha","phd","phg","phh","phj","phk","phl","phm","phn","pho","phq","phr","pht","phu","phv","phw","pia","pib","pic","pid","pie","pif","pig","pih","pij","pil","pim","pin","pio","pip","pir","pis","pit","piu","piv","piw","pix","piy","piz","pjt","pka","pkb","pkc","pkg","pkh","pkn","pko","pkp","pkr","pks","pkt","pku","pla","plb","plc","pld","ple","plg","plh","pli","plj","plk","pll","pln","plo","plq","plr","pls","plt","plu","plv","plw","ply","plz","pma","pmb","pmd","pme","pmf","pmh","pmi","pmj","pmk","pml","pmm","pmn","pmo","pmq","pmr","pms","pmt","pmw","pmx","pmy","pmz","pna","pnb","pnc","pnd","pne","png","pnh","pni","pnj","pnk","pnl","pnm","pnn","pno","pnp","pnq","pnr","pns","pnt","pnu","pnv","pnw","pnx","pny","pnz","poc","poe","pof","pog","poh","poi","pok","pol","pom","pon","poo","pop","poq","por","pos","pot","pov","pow","pox","poy","ppe","ppi","ppk","ppl","ppm","ppn","ppo","ppp","ppq","pps","ppt","ppu","pqa","pqm","prc","prd","pre","prf","prg","prh","pri","prk","prl","prm","prn","pro","prp","prq","prr","prs","prt","pru","prw","prx","prz","psa","psc","psd","pse","psg","psh","psi","psl","psm","psn","pso","psp","psq","psr","pss","pst","psu","psw","psy","pta","pth","pti","ptn","pto","ptp","ptq","ptr","ptt","ptu","ptv","ptw","pty","pua","pub","puc","pud","pue","puf","pug","pui","puj","pum","puo","pup","puq","pur","pus","put","puu","puw","pux","puy","pwa","pwb","pwg","pwi","pwm","pwn","pwo","pwr","pww","pxm","pye","pym","pyn","pys","pyu","pyx","pyy","pzh","pzn","qua","qub","quc","qud","que","quf","qug","quh","qui","quk","qul","qum","qun","qup","quq","qur","qus","quv","quw","qux","quy","quz","qva","qvc","qve","qvh","qvi","qvj","qvl","qvm","qvn","qvo","qvp","qvs","qvw","qvy","qvz","qwa","qwc","qwh","qwm","qws","qwt","qxa","qxc","qxh","qxl","qxn","qxo","qxp","qxq","qxr","qxs","qxt","qxu","qxw","qya","qyp","raa","rab","rac","rad","raf","rag","rah","rai","raj","rak","ral","ram","ran","rao","rap","raq","rar","ras","rat","rau","rav","raw","rax","ray","raz","rbb","rbk","rbl","rbp","rcf","rdb","rea","reb","ree","reg","rei","rej","rel","rem","ren","rer","res","ret","rey","rga","rge","rgk","rgn","rgr","rgs","rgu","rhg","rhp","ria","rib","rif","ril","rim","rin","rir","rit","riu","rjg","rji","rjs","rka","rkb","rkh","rki","rkm","rkt","rkw","rma","rmb","rmc","rmd","rme","rmf","rmg","rmh","rmi","rmk","rml","rmm","rmn","rmo","rmp","rmq","rms","rmt","rmu","rmv","rmw","rmx","rmy","rmz","rnb","rnd","rng","rnl","rnn","rnp","rnr","rnw","rob","roc","rod","roe","rof","rog","roh","rol","rom","ron","roo","rop","ror","rou","row","rpn","rpt","rri","rro","rrt","rsb","rsk","rsl","rsm","rsn","rtc","rth","rtm","rts","rtw","rub","ruc","rue","ruf","rug","ruh","rui","ruk","run","ruo","rup","ruq","rus","rut","ruu","ruy","ruz","rwa","rwk","rwl","rwm","rwo","rwr","rxd","rxw","ryn","rys","ryu","rzh","saa","sab","sac","sad","sae","saf","sag","sah","saj","sak","sam","san","sao","saq","sar","sas","sat","sau","sav","saw","sax","say","saz","sba","sbb","sbc","sbd","sbe","sbf","sbg","sbh","sbi","sbj","sbk","sbl","sbm","sbn","sbo","sbp","sbq","sbr","sbs","sbt","sbu","sbv","sbw","sbx","sby","sbz","scb","sce","scf","scg","sch","sci","sck","scl","scn","sco","scp","scq","scs","sct","scu","scv","scw","scx","sda","sdb","sdc","sde","sdf","sdg","sdh","sdj","sdk","sdl","sdn","sdo","sdp","sdq","sdr","sds","sdt","sdu","sdx","sdz","sea","seb","sec","sed","see","sef","seg","seh","sei","sej","sek","sel","sen","seo","sep","seq","ser","ses","set","seu","sev","sew","sey","sez","sfb","sfe","sfm","sfs","sfw","sga","sgb","sgc","sgd","sge","sgg","sgh","sgi","sgj","sgk","sgm","sgp","sgr","sgs","sgt","sgu","sgw","sgx","sgy","sgz","sha","shb","shc","shd","she","shg","shh","shi","shj","shk","shl","shm","shn","sho","shp","shq","shr","shs","sht","shu","shv","shw","shx","shy","shz","sia","sib","sid","sie","sif","sig","sih","sii","sij","sik","sil","sim","sin","sip","siq","sir","sis","siu","siv","siw","six","siy","siz","sja","sjb","sjd","sje","sjg","sjk","sjl","sjm","sjn","sjo","sjp","sjr","sjs","sjt","sju","sjw","ska","skb","skc","skd","ske","skf","skg","skh","ski","skj","skm","skn","sko","skp","skq","skr","sks","skt","sku","skv","skw","skx","sky","skz","slc","sld","sle","slf","slg","slh","sli","slj","slk","sll","slm","sln","slp","slq","slr","sls","slt","slu","slv","slw","slx","sly","slz","sma","smb","smc","sme","smf","smg","smh","smj","smk","sml","smm","smn","smo","smp","smq","smr","sms","smt","smu","smv","smw","smx","smy","smz","sna","snc","snd","sne","snf","sng","sni","snj","snk","snl","snm","snn","sno","snp","snq","snr","sns","snu","snv","snw","snx","sny","snz","soa","sob","soc","sod","soe","sog","soh","soi","soj","sok","sol","som","soo","sop","soq","sor","sos","sot","sou","sov","sow","sox","soy","soz","spa","spb","spc","spd","spe","spg","spi","spk","spl","spm","spn","spo","spp","spq","spr","sps","spt","spu","spv","spx","spy","sqa","sqh","sqi","sqk","sqm","sqn","sqo","sqq","sqr","sqs","sqt","squ","sqx","sra","srb","src","srd","sre","srf","srg","srh","sri","srk","srl","srm","srn","sro","srp","srq","srr","srs","srt","sru","srv","srw","srx","sry","srz","ssb","ssc","ssd","sse","ssf","ssg","ssh","ssi","ssj","ssk","ssl","ssm","ssn","sso","ssp","ssq","ssr","sss","sst","ssu","ssv","ssw","ssx","ssy","ssz","sta","stb","std","ste","stf","stg","sth","sti","stj","stk","stl","stm","stn","sto","stp","stq","str","sts","stt","stu","stv","stw","sty","sua","sub","suc","sue","sug","sui","suj","suk","sun","suo","suq","sur","sus","sut","suv","suw","sux","suy","suz","sva","svb","svc","sve","svk","svm","svs","svx","swa","swb","swc","swe","swf","swg","swh","swi","swj","swk","swl","swm","swn","swo","swp","swq","swr","sws","swt","swu","swv","sww","swx","swy","sxb","sxc","sxe","sxg","sxk","sxl","sxm","sxn","sxo","sxr","sxs","sxu","sxw","sya","syb","syc","syi","syk","syl","sym","syn","syo","syr","sys","syw","syx","syy","sza","szb","szc","szd","sze","szg","szl","szn","szp","szs","szv","szw","szy","taa","tab","tac","tad","tae","taf","tag","tah","taj","tak","tal","tam","tan","tao","tap","taq","tar","tas","tat","tau","tav","taw","tax","tay","taz","tba","tbc","tbd","tbe","tbf","tbg","tbh","tbi","tbj","tbk","tbl","tbm","tbn","tbo","tbp","tbr","tbs","tbt","tbu","tbv","tbw","tbx","tby","tbz","tca","tcb","tcc","tcd","tce","tcf","tcg","tch","tci","tck","tcl","tcm","tcn","tco","tcp","tcq","tcs","tct","tcu","tcw","tcx","tcy","tcz","tda","tdb","tdc","tdd","tde","tdf","tdg","tdh","tdi","tdj","tdk","tdl","tdm","tdn","tdo","tdq","tdr","tds","tdt","tdv","tdx","tdy","tea","teb","tec","ted","tee","tef","teg","teh","tei","tek","tel","tem","ten","teo","tep","teq","ter","tes","tet","teu","tev","tew","tex","tey","tez","tfi","tfn","tfo","tfr","tft","tga","tgb","tgc","tgd","tge","tgf","tgh","tgi","tgj","tgk","tgl","tgn","tgo","tgp","tgq","tgr","tgs","tgt","tgu","tgv","tgw","tgx","tgy","tgz","tha","thd","the","thf","thh","thi","thk","thl","thm","thn","thp","thq","thr","ths","tht","thu","thv","thy","thz","tia","tic","tif","tig","tih","tii","tij","tik","til","tim","tin","tio","tip","tiq","tir","tis","tit","tiu","tiv","tiw","tix","tiy","tiz","tja","tjg","tji","tjj","tjl","tjm","tjn","tjo","tjp","tjs","tju","tjw","tka","tkb","tkd","tke","tkf","tkg","tkl","tkm","tkn","tkp","tkq","tkr","tks","tkt","tku","tkv","tkw","tkx","tkz","tla","tlb","tlc","tld","tlf","tlg","tlh","tli","tlj","tlk","tll","tlm","tln","tlo","tlp","tlq","tlr","tls","tlt","tlu","tlv","tlx","tly","tma","tmb","tmc","tmd","tme","tmf","tmg","tmh","tmi","tmj","tmk","tml","tmm","tmn","tmo","tmq","tmr","tms","tmt","tmu","tmv","tmw","tmy","tmz","tna","tnb","tnc","tnd","tng","tnh","tni","tnk","tnl","tnm","tnn","tno","tnp","tnq","tnr","tns","tnt","tnu","tnv","tnw","tnx","tny","tnz","tob","toc","tod","tof","tog","toh","toi","toj","tok","tol","tom","ton","too","top","toq","tor","tos","tou","tov","tow","tox","toy","toz","tpa","tpc","tpe","tpf","tpg","tpi","tpj","tpk","tpl","tpm","tpn","tpo","tpp","tpq","tpr","tpt","tpu","tpv","tpw","tpx","tpy","tpz","tqb","tql","tqm","tqn","tqo","tqp","tqq","tqr","tqt","tqu","tqw","tra","trb","trc","trd","tre","trf","trg","trh","tri","trj","trl","trm","trn","tro","trp","trq","trr","trs","trt","tru","trv","trw","trx","try","trz","tsa","tsb","tsc","tsd","tse","tsg","tsh","tsi","tsj","tsk","tsl","tsm","tsn","tso","tsp","tsq","tsr","tss","tst","tsu","tsv","tsw","tsx","tsy","tsz","tta","ttb","ttc","ttd","tte","ttf","ttg","tth","tti","ttj","ttk","ttl","ttm","ttn","tto","ttp","ttq","ttr","tts","ttt","ttu","ttv","ttw","tty","ttz","tua","tub","tuc","tud","tue","tuf","tug","tuh","tui","tuj","tuk","tul","tum","tun","tuo","tuq","tur","tus","tuu","tuv","tux","tuy","tuz","tva","tvd","tve","tvk","tvl","tvm","tvn","tvo","tvs","tvt","tvu","tvw","tvx","tvy","twa","twb","twc","twd","twe","twf","twg","twh","twi","twl","twm","twn","two","twp","twq","twr","twt","twu","tww","twx","twy","txa","txb","txc","txe","txg","txh","txi","txj","txm","txn","txo","txq","txr","txs","txt","txu","txx","txy","tya","tye","tyh","tyi","tyj","tyl","tyn","typ","tyr","tys","tyt","tyu","tyv","tyx","tyy","tyz","tza","tzh","tzj","tzl","tzm","tzn","tzo","tzx","uam","uan","uar","uba","ubi","ubl","ubr","ubu","uby","uda","ude","udg","udi","udj","udl","udm","udu","ues","ufi","uga","ugb","uge","ugh","ugn","ugo","ugy","uha","uhn","uig","uis","uiv","uji","uka","ukg","ukh","uki","ukk","ukl","ukp","ukq","ukr","uks","uku","ukv","ukw","uky","ula","ulb","ulc","ule","ulf","uli","ulk","ull","ulm","uln","ulu","ulw","uma","umb","umc","umd","umg","umi","umm","umn","umo","ump","umr","ums","umu","una","und","une","ung","uni","unk","unm","unn","unr","unu","unx","unz","uon","upi","upv","ura","urb","urc","urd","ure","urf","urg","urh","uri","urk","url","urm","urn","uro","urp","urr","urt","uru","urv","urw","urx","ury","urz","usa","ush","usi","usk","usp","uss","usu","uta","ute","uth","utp","utr","utu","uum","uur","uuu","uve","uvh","uvl","uwa","uya","uzb","uzn","uzs","vaa","vae","vaf","vag","vah","vai","vaj","val","vam","van","vao","vap","var","vas","vau","vav","vay","vbb","vbk","vec","ved","vel","vem","ven","veo","vep","ver","vgr","vgt","vic","vid","vie","vif","vig","vil","vin","vis","vit","viv","vka","vkj","vkk","vkl","vkm","vkn","vko","vkp","vkt","vku","vkz","vlp","vls","vma","vmb","vmc","vmd","vme","vmf","vmg","vmh","vmi","vmj","vmk","vml","vmm","vmp","vmq","vmr","vms","vmu","vmv","vmw","vmx","vmy","vmz","vnk","vnm","vnp","vol","vor","vot","vra","vro","vrs","vrt","vsi","vsl","vsv","vto","vum","vun","vut","vwa","waa","wab","wac","wad","wae","waf","wag","wah","wai","waj","wal","wam","wan","wao","wap","waq","war","was","wat","wau","wav","waw","wax","way","waz","wba","wbb","wbe","wbf","wbh","wbi","wbj","wbk","wbl","wbm","wbp","wbq","wbr","wbs","wbt","wbv","wbw","wca","wci","wdd","wdg","wdj","wdk","wdt","wdu","wdy","wea","wec","wed","weg","weh","wei","wem","weo","wep","wer","wes","wet","weu","wew","wfg","wga","wgb","wgg","wgi","wgo","wgu","wgy","wha","whg","whk","whu","wib","wic","wie","wif","wig","wih","wii","wij","wik","wil","wim","win","wir","wiu","wiv","wiy","wja","wji","wka","wkb","wkd","wkl","wkr","wku","wkw","wky","wla","wlc","wle","wlg","wlh","wli","wlk","wll","wlm","wln","wlo","wlr","wls","wlu","wlv","wlw","wlx","wly","wma","wmb","wmc","wmd","wme","wmg","wmh","wmi","wmm","wmn","wmo","wms","wmt","wmw","wmx","wnb","wnc","wnd","wne","wng","wni","wnk","wnm","wnn","wno","wnp","wnu","wnw","wny","woa","wob","woc","wod","woe","wof","wog","woi","wok","wol","wom","won","woo","wor","wos","wow","woy","wpc","wrb","wrg","wrh","wri","wrk","wrl","wrm","wrn","wro","wrp","wrr","wrs","wru","wrv","wrw","wrx","wry","wrz","wsa","wsg","wsi","wsk","wsr","wss","wsu","wsv","wtf","wth","wti","wtk","wtm","wtw","wua","wub","wud","wuh","wul","wum","wun","wur","wut","wuu","wuv","wux","wuy","wwa","wwb","wwo","wwr","www","wxa","wxw","wyb","wyi","wym","wyn","wyr","wyy","xaa","xab","xac","xad","xae","xag","xai","xaj","xak","xal","xam","xan","xao","xap","xaq","xar","xas","xat","xau","xav","xaw","xay","xbb","xbc","xbd","xbe","xbg","xbi","xbj","xbm","xbn","xbo","xbp","xbr","xbw","xby","xcb","xcc","xce","xcg","xch","xcl","xcm","xcn","xco","xcr","xct","xcu","xcv","xcw","xcy","xda","xdc","xdk","xdm","xdo","xdq","xdy","xeb","xed","xeg","xel","xem","xep","xer","xes","xet","xeu","xfa","xga","xgb","xgd","xgf","xgg","xgi","xgl","xgm","xgr","xgu","xgw","xha","xhc","xhd","xhe","xhm","xho","xhr","xht","xhu","xhv","xib","xii","xil","xin","xir","xis","xiv","xiy","xjb","xjt","xka","xkb","xkc","xkd","xke","xkf","xkg","xki","xkj","xkk","xkl","xkn","xko","xkp","xkq","xkr","xks","xkt","xku","xkv","xkw","xkx","xky","xkz","xla","xlb","xlc","xld","xle","xlg","xli","xln","xlo","xlp","xls","xlu","xly","xma","xmb","xmc","xmd","xme","xmf","xmg","xmh","xmj","xmk","xml","xmm","xmn","xmo","xmp","xmq","xmr","xms","xmt","xmu","xmv","xmw","xmx","xmy","xmz","xna","xnb","xng","xnh","xni","xnj","xnk","xnm","xnn","xno","xnq","xnr","xns","xnt","xnu","xny","xnz","xoc","xod","xog","xoi","xok","xom","xon","xoo","xop","xor","xow","xpa","xpb","xpc","xpd","xpe","xpf","xpg","xph","xpi","xpj","xpk","xpl","xpm","xpn","xpo","xpp","xpq","xpr","xps","xpt","xpu","xpv","xpw","xpx","xpy","xpz","xqa","xqt","xra","xrb","xrd","xre","xrg","xri","xrm","xrn","xrr","xrt","xru","xrw","xsa","xsb","xsc","xsd","xse","xsh","xsi","xsj","xsl","xsm","xsn","xso","xsp","xsq","xsr","xss","xsu","xsv","xsy","xta","xtb","xtc","xtd","xte","xtg","xth","xti","xtj","xtl","xtm","xtn","xto","xtp","xtq","xtr","xts","xtt","xtu","xtv","xtw","xty","xua","xub","xud","xug","xuj","xul","xum","xun","xuo","xup","xur","xut","xuu","xve","xvi","xvn","xvo","xvs","xwa","xwc","xwd","xwe","xwg","xwj","xwk","xwl","xwo","xwr","xwt","xww","xxb","xxk","xxm","xxr","xxt","xya","xyb","xyj","xyk","xyl","xyt","xyy","xzh","xzm","xzp","yaa","yab","yac","yad","yae","yaf","yag","yah","yai","yaj","yak","yal","yam","yan","yao","yap","yaq","yar","yas","yat","yau","yav","yaw","yax","yay","yaz","yba","ybb","ybe","ybh","ybi","ybj","ybk","ybl","ybm","ybn","ybo","ybx","yby","ych","ycl","ycn","ycp","yda","ydd","yde","ydg","ydk","yea","yec","yee","yei","yej","yel","yer","yes","yet","yeu","yev","yey","yga","ygi","ygl","ygm","ygp","ygr","ygs","ygu","ygw","yha","yhd","yhl","yhs","yia","yid","yif","yig","yih","yii","yij","yik","yil","yim","yin","yip","yiq","yir","yis","yit","yiu","yiv","yix","yiz","yka","ykg","yki","ykk","ykl","ykm","ykn","yko","ykr","ykt","yku","yky","yla","ylb","yle","ylg","yli","yll","ylm","yln","ylo","ylr","ylu","yly","ymb","ymc","ymd","yme","ymg","ymh","ymi","ymk","yml","ymm","ymn","ymo","ymp","ymq","ymr","yms","ymx","ymz","yna","ynd","yne","yng","ynk","ynl","ynn","yno","ynq","yns","ynu","yob","yog","yoi","yok","yol","yom","yon","yor","yot","yox","yoy","ypa","ypb","ypg","yph","ypm","ypn","ypo","ypp","ypz","yra","yrb","yre","yrk","yrl","yrm","yrn","yro","yrs","yrw","yry","ysc","ysd","ysg","ysl","ysm","ysn","yso","ysp","ysr","yss","ysy","yta","ytl","ytp","ytw","yty","yua","yub","yuc","yud","yue","yuf","yug","yui","yuj","yuk","yul","yum","yun","yup","yuq","yur","yut","yuw","yux","yuy","yuz","yva","yvt","ywa","ywg","ywl","ywn","ywq","ywr","ywt","ywu","yww","yxa","yxg","yxl","yxm","yxu","yxy","yyr","yyu","yyz","yzg","yzk","zaa","zab","zac","zad","zae","zaf","zag","zah","zai","zaj","zak","zal","zam","zao","zap","zaq","zar","zas","zat","zau","zav","zaw","zax","zay","zaz","zba","zbc","zbe","zbl","zbt","zbu","zbw","zca","zcd","zch","zdj","zea","zeg","zeh","zen","zga","zgb","zgh","zgm","zgn","zgr","zha","zhb","zhd","zhi","zhn","zho","zhw","zia","zib","zik","zil","zim","zin","ziw","ziz","zka","zkb","zkd","zkg","zkh","zkk","zkn","zko","zkp","zkr","zkt","zku","zkv","zkz","zla","zlj","zlm","zln","zlq","zma","zmb","zmc","zmd","zme","zmf","zmg","zmh","zmi","zmj","zmk","zml","zmm","zmn","zmo","zmp","zmq","zmr","zms","zmt","zmu","zmv","zmw","zmx","zmy","zmz","zna","zne","zng","znk","zns","zoc","zoh","zom","zoo","zoq","zor","zos","zpa","zpb","zpc","zpd","zpe","zpf","zpg","zph","zpi","zpj","zpk","zpl","zpm","zpn","zpo","zpp","zpq","zpr","zps","zpt","zpu","zpv","zpw","zpx","zpy","zpz","zqe","zra","zrg","zrn","zro","zrp","zrs","zsa","zsk","zsl","zsm","zsr","zsu","zte","ztg","ztl","ztm","ztn","ztp","ztq","zts","ztt","ztu","ztx","zty","zua","zuh","zul","zum","zun","zuy","zwa","zxx","zyb","zyg","zyj","zyn","zyp","zza","zzj"],"maxLength":3,"minLength":3},{"$ref":"#/components/schemas/_NotSet"},{"type":"null"}],"title":"Preferred Language","description":"The preferred language of the simulation persona in the ISO 639-3 format. If unspecified, the preferred language of the organization is used. If that is unspecified too, the language of the agent is used.","default":{}},"timezone":{"anyOf":[{"type":"string","enum":["Africa/Abidjan","Africa/Accra","Africa/Addis_Ababa","Africa/Algiers","Africa/Asmara","Africa/Asmera","Africa/Bamako","Africa/Bangui","Africa/Banjul","Africa/Bissau","Africa/Blantyre","Africa/Brazzaville","Africa/Bujumbura","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/Conakry","Africa/Dakar","Africa/Dar_es_Salaam","Africa/Djibouti","Africa/Douala","Africa/El_Aaiun","Africa/Freetown","Africa/Gaborone","Africa/Harare","Africa/Johannesburg","Africa/Juba","Africa/Kampala","Africa/Khartoum","Africa/Kigali","Africa/Kinshasa","Africa/Lagos","Africa/Libreville","Africa/Lome","Africa/Luanda","Africa/Lubumbashi","Africa/Lusaka","Africa/Malabo","Africa/Maputo","Africa/Maseru","Africa/Mbabane","Africa/Mogadishu","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Niamey","Africa/Nouakchott","Africa/Ouagadougou","Africa/Porto-Novo","Africa/Sao_Tome","Africa/Timbuktu","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Anguilla","America/Antigua","America/Araguaina","America/Argentina/Buenos_Aires","America/Argentina/Catamarca","America/Argentina/ComodRivadavia","America/Argentina/Cordoba","America/Argentina/Jujuy","America/Argentina/La_Rioja","America/Argentina/Mendoza","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Aruba","America/Asuncion","America/Atikokan","America/Atka","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Buenos_Aires","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Catamarca","America/Cayenne","America/Cayman","America/Chicago","America/Chihuahua","America/Ciudad_Juarez","America/Coral_Harbour","America/Cordoba","America/Costa_Rica","America/Coyhaique","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Dominica","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Ensenada","America/Fort_Nelson","America/Fort_Wayne","America/Fortaleza","America/Glace_Bay","America/Godthab","America/Goose_Bay","America/Grand_Turk","America/Grenada","America/Guadeloupe","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Indianapolis","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Indianapolis","America/Inuvik","America/Iqaluit","America/Jamaica","America/Jujuy","America/Juneau","America/Kentucky/Louisville","America/Kentucky/Monticello","America/Knox_IN","America/Kralendijk","America/La_Paz","America/Lima","America/Los_Angeles","America/Louisville","America/Lower_Princes","America/Maceio","America/Managua","America/Manaus","America/Marigot","America/Martinique","America/Matamoros","America/Mazatlan","America/Mendoza","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Montreal","America/Montserrat","America/Nassau","America/New_York","America/Nipigon","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Nuuk","America/Ojinaga","America/Panama","America/Pangnirtung","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Acre","America/Porto_Velho","America/Puerto_Rico","America/Punta_Arenas","America/Rainy_River","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Rosario","America/Santa_Isabel","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Shiprock","America/Sitka","America/St_Barthelemy","America/St_Johns","America/St_Kitts","America/St_Lucia","America/St_Thomas","America/St_Vincent","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Thunder_Bay","America/Tijuana","America/Toronto","America/Tortola","America/Vancouver","America/Virgin","America/Whitehorse","America/Winnipeg","America/Yakutat","America/Yellowknife","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/McMurdo","Antarctica/Palmer","Antarctica/Rothera","Antarctica/South_Pole","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Arctic/Longyearbyen","Asia/Aden","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Ashkhabad","Asia/Atyrau","Asia/Baghdad","Asia/Bahrain","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Calcutta","Asia/Chita","Asia/Choibalsan","Asia/Chongqing","Asia/Chungking","Asia/Colombo","Asia/Dacca","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Harbin","Asia/Hebron","Asia/Ho_Chi_Minh","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Istanbul","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Kashgar","Asia/Kathmandu","Asia/Katmandu","Asia/Khandyga","Asia/Kolkata","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Kuwait","Asia/Macao","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Muscat","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Phnom_Penh","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Rangoon","Asia/Riyadh","Asia/Saigon","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Tel_Aviv","Asia/Thimbu","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ujung_Pandang","Asia/Ulaanbaatar","Asia/Ulan_Bator","Asia/Urumqi","Asia/Ust-Nera","Asia/Vientiane","Asia/Vladivostok","Asia/Yakutsk","Asia/Yangon","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faeroe","Atlantic/Faroe","Atlantic/Jan_Mayen","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/St_Helena","Atlantic/Stanley","Australia/ACT","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Canberra","Australia/Currie","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/LHI","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/NSW","Australia/North","Australia/Perth","Australia/Queensland","Australia/South","Australia/Sydney","Australia/Tasmania","Australia/Victoria","Australia/West","Australia/Yancowinna","Brazil/Acre","Brazil/DeNoronha","Brazil/East","Brazil/West","CET","CST6CDT","Canada/Atlantic","Canada/Central","Canada/Eastern","Canada/Mountain","Canada/Newfoundland","Canada/Pacific","Canada/Saskatchewan","Canada/Yukon","Chile/Continental","Chile/EasterIsland","Cuba","EET","EST","EST5EDT","Egypt","Eire","Etc/GMT","Etc/GMT+0","Etc/GMT+1","Etc/GMT+10","Etc/GMT+11","Etc/GMT+12","Etc/GMT+2","Etc/GMT+3","Etc/GMT+4","Etc/GMT+5","Etc/GMT+6","Etc/GMT+7","Etc/GMT+8","Etc/GMT+9","Etc/GMT-0","Etc/GMT-1","Etc/GMT-10","Etc/GMT-11","Etc/GMT-12","Etc/GMT-13","Etc/GMT-14","Etc/GMT-2","Etc/GMT-3","Etc/GMT-4","Etc/GMT-5","Etc/GMT-6","Etc/GMT-7","Etc/GMT-8","Etc/GMT-9","Etc/GMT0","Etc/Greenwich","Etc/UCT","Etc/UTC","Etc/Universal","Etc/Zulu","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belfast","Europe/Belgrade","Europe/Berlin","Europe/Bratislava","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Busingen","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Guernsey","Europe/Helsinki","Europe/Isle_of_Man","Europe/Istanbul","Europe/Jersey","Europe/Kaliningrad","Europe/Kiev","Europe/Kirov","Europe/Kyiv","Europe/Lisbon","Europe/Ljubljana","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Mariehamn","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Nicosia","Europe/Oslo","Europe/Paris","Europe/Podgorica","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/San_Marino","Europe/Sarajevo","Europe/Saratov","Europe/Simferopol","Europe/Skopje","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Tiraspol","Europe/Ulyanovsk","Europe/Uzhgorod","Europe/Vaduz","Europe/Vatican","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zagreb","Europe/Zaporozhye","Europe/Zurich","Factory","GB","GB-Eire","GMT","GMT+0","GMT-0","GMT0","Greenwich","HST","Hongkong","Iceland","Indian/Antananarivo","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Comoro","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Mayotte","Indian/Reunion","Iran","Israel","Jamaica","Japan","Kwajalein","Libya","MET","MST","MST7MDT","Mexico/BajaNorte","Mexico/BajaSur","Mexico/General","NZ","NZ-CHAT","Navajo","PRC","PST8PDT","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Chuuk","Pacific/Easter","Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Johnston","Pacific/Kanton","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Midway","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Pohnpei","Pacific/Ponape","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Saipan","Pacific/Samoa","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Truk","Pacific/Wake","Pacific/Wallis","Pacific/Yap","Poland","Portugal","ROC","ROK","Singapore","Turkey","UCT","US/Alaska","US/Aleutian","US/Arizona","US/Central","US/East-Indiana","US/Eastern","US/Hawaii","US/Indiana-Starke","US/Michigan","US/Mountain","US/Pacific","US/Samoa","UTC","Universal","W-SU","WET","Zulu","localtime"],"minLength":1},{"$ref":"#/components/schemas/_NotSet"},{"type":"null"}],"title":"Timezone","description":"The timezone of the simulation persona in the IANA tz database format. If unspecified, the organization's default timezone is used. If the organization's default timezone is not specified, UTC is used.","default":{}},"user_models":{"items":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"type":"array","title":"User Models","description":"A list of strings representing the user models associated with the simulation persona."},"nonsensitive_user_variables":{"additionalProperties":{"type":"string"},"propertyNames":{"$ref":"#/components/schemas/StrippedNonemptyString_a-z___a-z0-9_______"},"type":"object","maxProperties":20,"title":"Nonsensitive User Variables","description":"A dictionary of the simulation persona's nonsensitive user variables that are provided to the tools."},"sensitive_user_variables":{"additionalProperties":{"type":"string"},"propertyNames":{"$ref":"#/components/schemas/StrippedNonemptyString_a-z___a-z0-9_______"},"type":"object","maxProperties":20,"title":"Sensitive User Variables","description":"A dictionary of the simulation persona's sensitive user variables that are provided to the tools. Unlike the ones in the user collection,\nthese are not encrypted, so only sensitive information in staging environment should be stored here."}},"type":"object","required":["background","user_models","nonsensitive_user_variables","sensitive_user_variables"],"title":"Request"},"amigo_lib__pydantic__base_model__StrippedNonemptyString__1":{"type":"string","minLength":1},"_NotSet":{"properties":{},"type":"object","title":"_NotSet","description":"A specific type to indicate that a field is not set in the request."},"StrippedNonemptyString_a-z___a-z0-9_______":{"type":"string","minLength":1,"pattern":"^[a-z_][a-z0-9_]+$"},"src__app__endpoints__simulation__create_simulation_persona_version__Response":{"properties":{"version":{"type":"integer","title":"Version","description":"The version number of the created simulation persona version."}},"type":"object","required":["version"],"title":"Response"}}},"paths":{"/v1/{organization}/simulation/persona/{simulation_persona_id}/version/":{"post":{"tags":["Simulation"],"summary":"Create a new simulation persona version","description":"Create a new version of the simulation persona.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Simulation:ModifySimulationPersona` for the simulation persona.","operationId":"create-simulation-persona-version","parameters":[{"name":"simulation_persona_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the simulation persona to create a version for.","title":"Simulation Persona Id"},"description":"The ID of the simulation persona to create a version for."},{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"version","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":1},{"type":"null"}],"description":"The version number of the new version. If specified, this endpoint throws an error if the next version in the database doesn't equal to the value of this parameter.","title":"Version"},"description":"The version number of the new version. If specified, this endpoint throws an error if the next version in the database doesn't equal to the value of this parameter."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__create_simulation_persona_version__Request"}}}},"responses":{"201":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__create_simulation_persona_version__Response"}}}},"400":{"description":"The specified version number is not the expected next version to be created."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"404":{"description":"The specified organization or simulation persona does not exist."},"422":{"description":"Invalid request path parameter, request query parameter, or request body failed validation."},"429":{"description":"The user has exceeded the rate limit of 100 requests per minute for this endpoint."},"503":{"description":"The service is going through temporary maintenance."}}}}}}
```

## Update a simulation persona

> Update a simulation persona.\
> \
> \#### Permissions\
> This endpoint requires the following permissions:\
> \* \`Simulation:ModifySimulationPersona\` for the persona to update.

```json
{"openapi":"3.1.0","info":{"title":"Amigo API","version":"0.1.0"},"servers":[{"url":"https://api.amigo.ai"},{"url":"https://internal-api.amigo.ai"},{"url":"https://api-eu-central-1.amigo.ai"},{"url":"https://api-ap-southeast-2.amigo.ai"},{"url":"https://api-ca-central-1.amigo.ai"}],"security":[{"Bearer-Authorization":[],"Bearer-Authorization-Organization":[],"Basic":[]}],"components":{"securitySchemes":{"Bearer-Authorization":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Amigo issued JWT token that identifies an user. It's issued either after logging in through the frontend, or manually through the [`SignInWithAPIKey`](sign-in-with-api-key) endpoint."}},"schemas":{"src__app__endpoints__simulation__update_simulation_persona__Request":{"properties":{"tags":{"anyOf":[{"additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/StrippedNonemptyString___w__s_____"},{"type":"null"}]},"propertyNames":{"$ref":"#/components/schemas/StrippedNonemptyString___w__s_____"},"type":"object","maxProperties":20},{"type":"null"}],"title":"Tags","description":"The tags of the simulation persona. Both the key and the value can only contain alphanumeric characters, underscores, or spaces."}},"type":"object","title":"Request"},"StrippedNonemptyString___w__s_____":{"type":"string","minLength":1,"pattern":"^[\\w\\s]+$"}}},"paths":{"/v1/{organization}/simulation/persona/{simulation_persona_id}/":{"post":{"tags":["Simulation"],"summary":"Update a simulation persona","description":"Update a simulation persona.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Simulation:ModifySimulationPersona` for the persona to update.","operationId":"update-simulation-persona","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"simulation_persona_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the simulation persona to update","title":"Simulation Persona Id"},"description":"The ID of the simulation persona to update"},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__update_simulation_persona__Request"}}}},"responses":{"204":{"description":"Succeeded."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"404":{"description":"The specified organization or simulation persona does not exist."},"422":{"description":"Invalid request path parameter or request body failed validation."},"429":{"description":"The user has exceeded the rate limit of 100 requests per minute for this endpoint."},"503":{"description":"The service is going through temporary maintenance."}}}}}}
```

## Delete a simulation persona

> Delete a simulation persona. This endpoint only soft-deletes the simulation persona so any existing references to it would still be valid.\
> However, they cannot be used in any new simulations.\
> \
> This endpoint will error if the simulation persona is used in any simulation unit tests.\
> \
> \#### Permissions\
> This endpoint requires the following permissions:\
> \* \`Simulation:DeleteSimulationPersona\` on the simulation persona to delete.

```json
{"openapi":"3.1.0","info":{"title":"Amigo API","version":"0.1.0"},"servers":[{"url":"https://api.amigo.ai"},{"url":"https://internal-api.amigo.ai"},{"url":"https://api-eu-central-1.amigo.ai"},{"url":"https://api-ap-southeast-2.amigo.ai"},{"url":"https://api-ca-central-1.amigo.ai"}],"security":[{"Bearer-Authorization":[],"Bearer-Authorization-Organization":[],"Basic":[]}],"components":{"securitySchemes":{"Bearer-Authorization":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Amigo issued JWT token that identifies an user. It's issued either after logging in through the frontend, or manually through the [`SignInWithAPIKey`](sign-in-with-api-key) endpoint."}}},"paths":{"/v1/{organization}/simulation/persona/{simulation_persona_id}/":{"delete":{"tags":["Simulation"],"summary":"Delete a simulation persona","description":"Delete a simulation persona. This endpoint only soft-deletes the simulation persona so any existing references to it would still be valid.\nHowever, they cannot be used in any new simulations.\n\nThis endpoint will error if the simulation persona is used in any simulation unit tests.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Simulation:DeleteSimulationPersona` on the simulation persona to delete.","operationId":"delete-simulation-persona","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"simulation_persona_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the simulation persona to delete.","title":"Simulation Persona Id"},"description":"The ID of the simulation persona to delete."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"204":{"description":"Succeeded."},"400":{"description":"The specified simulation persona is used in a simulation unit test."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"404":{"description":"The specified organization or simulation persona does not exist."},"422":{"description":"Invalid request path parameter failed validation."},"429":{"description":"The user has exceeded the rate limit of 100 requests per minute for this endpoint."},"503":{"description":"The service is going through temporary maintenance."}}}}}}
```

## Get simulation scenario versions

> Retrieve the versions of a simulation scenario.\
> \
> \#### Permissions\
> This endpoint requires the following permissions:\
> \- \`Simulation:GetSimulationScenario\` for the simulation scenario.

```json
{"openapi":"3.1.0","info":{"title":"Amigo API","version":"0.1.0"},"servers":[{"url":"https://api.amigo.ai"},{"url":"https://internal-api.amigo.ai"},{"url":"https://api-eu-central-1.amigo.ai"},{"url":"https://api-ap-southeast-2.amigo.ai"},{"url":"https://api-ca-central-1.amigo.ai"}],"security":[{"Bearer-Authorization":[],"Bearer-Authorization-Organization":[],"Basic":[]}],"components":{"securitySchemes":{"Bearer-Authorization":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Amigo issued JWT token that identifies an user. It's issued either after logging in through the frontend, or manually through the [`SignInWithAPIKey`](sign-in-with-api-key) endpoint."}},"schemas":{"src__app__endpoints__simulation__get_simulation_scenario_versions__Response":{"properties":{"simulation_scenario_versions":{"items":{"$ref":"#/components/schemas/SimulationScenarioVersion"},"type":"array","title":"Simulation Scenario Versions","description":"The list of simulation scenario versions."},"has_more":{"type":"boolean","title":"Has More","description":"Whether there are more simulation scenario versions to fetch."},"continuation_token":{"anyOf":[{},{"type":"null"}],"title":"Continuation Token","description":"A token to supply to the next request to retreive the next page of simulation scenario versions."}},"type":"object","required":["simulation_scenario_versions","has_more","continuation_token"],"title":"Response"},"SimulationScenarioVersion":{"properties":{"_id":{"type":"string","title":"Id","description":"The ID of the document."},"org_id":{"type":"string","title":"Org Id","description":"The ID of the organization."},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"simulation_scenario_id":{"type":"string","title":"Simulation Scenario Id","description":"The ID of the simulation scenario that this is a version of."},"version":{"type":"integer","title":"Version","description":"The version number of the simulation scenario."},"objective":{"type":"string","title":"Objective","description":"The objective of the simulation scenario."},"instructions":{"type":"string","title":"Instructions","description":"The instructions for the simulation scenario."},"initial_message_type":{"$ref":"#/components/schemas/InitialMessageType"},"conversation_starts_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Conversation Starts At","description":"The time at which the conversation starts. This must be a timestamp in UTC. If not specified, the current server time is used."},"creator":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_scenario_version__SimulationScenarioVersion__UserInfo","description":"The user who created this simulation scenario version."}},"type":"object","required":["_id","org_id","simulation_scenario_id","version","objective","instructions","initial_message_type","conversation_starts_at","creator"],"title":"SimulationScenarioVersion"},"InitialMessageType":{"type":"string","enum":["user-message","external-event","skip"]},"amigo_lib__mongo__collections__simulation_scenario_version__SimulationScenarioVersion__UserInfo":{"properties":{"org_id":{"type":"string","title":"Org Id"},"user_id":{"type":"string","title":"User Id"}},"type":"object","required":["org_id","user_id"],"title":"UserInfo"}}},"paths":{"/v1/{organization}/simulation/scenario/{simulation_scenario_id}/version/":{"get":{"tags":["Simulation"],"summary":"Get simulation scenario versions","description":"Retrieve the versions of a simulation scenario.\n\n#### Permissions\nThis endpoint requires the following permissions:\n- `Simulation:GetSimulationScenario` for the simulation scenario.","operationId":"get-simulation-scenario-versions","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"simulation_scenario_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the simulation scenario to get versions for.","title":"Simulation Scenario Id"},"description":"The ID of the simulation scenario to get versions for."},{"name":"version","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The versions of the simulation scenario to retrieve. One can specify an exact version to retrieve, which is either the version number or `latest`, which retrieves the latest version. Alternatively, one can specify a range of inclusive lower and upper bound for the version number separated by `-`, and every version within the range would be retrieved.","title":"Version"},"description":"The versions of the simulation scenario to retrieve. One can specify an exact version to retrieve, which is either the version number or `latest`, which retrieves the latest version. Alternatively, one can specify a range of inclusive lower and upper bound for the version number separated by `-`, and every version within the range would be retrieved."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":10,"exclusiveMinimum":0,"description":"The maximum number of simulation scenario versions to return.","default":10,"title":"Limit"},"description":"The maximum number of simulation scenario versions to return."},{"name":"continuation_token","in":"query","required":false,"schema":{"type":"integer","description":"The continuation token from the previous request used to retrieve the next page of simulation scenario version.","default":0,"title":"Continuation Token"},"description":"The continuation token from the previous request used to retrieve the next page of simulation scenario version."},{"name":"sort_by","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The fields to sort the versions by. Supported fields are `version`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties.","default":[],"title":"Sort By"},"description":"The fields to sort the versions by. Supported fields are `version`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__get_simulation_scenario_versions__Response"}}}},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"404":{"description":"The specified organization or simulation scenario does not exist."},"422":{"description":"Invalid request path parameter or request query parameter failed validation."},"429":{"description":"The user has exceeded the rate limit of 500 requests per minute for this endpoint."},"503":{"description":"The service is going through temporary maintenance."}}}}}}
```

## Create a new simulation scenario version

> Create a new version of the simulation scenario.\
> \
> \#### Permissions\
> This endpoint requires the following permissions:\
> \* \`Simulation:ModifySimulationScenario\` for the simulation scenario.

```json
{"openapi":"3.1.0","info":{"title":"Amigo API","version":"0.1.0"},"servers":[{"url":"https://api.amigo.ai"},{"url":"https://internal-api.amigo.ai"},{"url":"https://api-eu-central-1.amigo.ai"},{"url":"https://api-ap-southeast-2.amigo.ai"},{"url":"https://api-ca-central-1.amigo.ai"}],"security":[{"Bearer-Authorization":[],"Bearer-Authorization-Organization":[],"Basic":[]}],"components":{"securitySchemes":{"Bearer-Authorization":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Amigo issued JWT token that identifies an user. It's issued either after logging in through the frontend, or manually through the [`SignInWithAPIKey`](sign-in-with-api-key) endpoint."}},"schemas":{"src__app__endpoints__simulation__create_simulation_scenario_version__Request":{"properties":{"objective":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"The objective of the simulation scenario."},"instructions":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"The instructions of the simulation scenario."},"initial_message_type":{"$ref":"#/components/schemas/InitialMessageType","description":"The initial message type for the simulation scenario version."},"conversation_starts_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Conversation Starts At","description":"The time at which the conversation starts. This must be a timestamp in UTC. If not specified, the current server time is used."}},"type":"object","required":["objective","instructions","initial_message_type","conversation_starts_at"],"title":"Request"},"amigo_lib__pydantic__base_model__StrippedNonemptyString__1":{"type":"string","minLength":1},"InitialMessageType":{"type":"string","enum":["user-message","external-event","skip"]},"src__app__endpoints__simulation__create_simulation_scenario_version__Response":{"properties":{"version":{"type":"integer","title":"Version","description":"The version number of the created simulation scenario version."}},"type":"object","required":["version"],"title":"Response"}}},"paths":{"/v1/{organization}/simulation/scenario/{simulation_scenario_id}/version/":{"post":{"tags":["Simulation"],"summary":"Create a new simulation scenario version","description":"Create a new version of the simulation scenario.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Simulation:ModifySimulationScenario` for the simulation scenario.","operationId":"create-simulation-scenario-version","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"simulation_scenario_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the simulation scenario to create a version for.","title":"Simulation Scenario Id"},"description":"The ID of the simulation scenario to create a version for."},{"name":"version","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","exclusiveMinimum":1},{"type":"null"}],"description":"The version number of the new version. If specified, this endpoint throws an error if the next version in the database doesn't equal to the value of this parameter.","title":"Version"},"description":"The version number of the new version. If specified, this endpoint throws an error if the next version in the database doesn't equal to the value of this parameter."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__create_simulation_scenario_version__Request"}}}},"responses":{"201":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__create_simulation_scenario_version__Response"}}}},"400":{"description":"The specified version number is not the expected next version to be created."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"404":{"description":"The specified organization or simulation scenario does not exist."},"422":{"description":"Invalid request path parameter, request query parameter, or request body failed validation."},"429":{"description":"The user has exceeded the rate limit of 500 requests per minute for this endpoint."},"503":{"description":"The service is going through temporary maintenance."}}}}}}
```

## Get simulation scenarios

> Retrieve simulation scenarios that match the given filters.\
> \
> \#### Permissions\
> This endpoint may be impacted by the following permissions:\
> \* Only simulation scenarios that the authenticated user has \`Simulation:GetSimulationScenario\` permission for will be retrieved.

```json
{"openapi":"3.1.0","info":{"title":"Amigo API","version":"0.1.0"},"servers":[{"url":"https://api.amigo.ai"},{"url":"https://internal-api.amigo.ai"},{"url":"https://api-eu-central-1.amigo.ai"},{"url":"https://api-ap-southeast-2.amigo.ai"},{"url":"https://api-ca-central-1.amigo.ai"}],"security":[{"Bearer-Authorization":[],"Bearer-Authorization-Organization":[],"Basic":[]}],"components":{"securitySchemes":{"Bearer-Authorization":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Amigo issued JWT token that identifies an user. It's issued either after logging in through the frontend, or manually through the [`SignInWithAPIKey`](sign-in-with-api-key) endpoint."}},"schemas":{"src__app__endpoints__simulation__get_simulation_scenarios__Response":{"properties":{"simulation_scenarios":{"items":{"$ref":"#/components/schemas/SimulationScenarioInstance"},"type":"array","title":"Simulation Scenarios","description":"The list of simulation scenarios."},"has_more":{"type":"boolean","title":"Has More","description":"Whether there are more simulation scenarios to fetch."},"continuation_token":{"anyOf":[{},{"type":"null"}],"title":"Continuation Token","description":"The continuation token to use to retrieve the next page of simulation scenarios."},"filter_values":{"anyOf":[{"$ref":"#/components/schemas/src__app__endpoints__simulation__get_simulation_scenarios__Response__FilterValues"},{"type":"null"}],"description":"For each filter that this endpoint supports that can take on dynamic values, this field includes what these values are. This is only provided for the first page in the pagination results.\n\nNote that the values are counted assuming the authenticated user has access to all the simulation scenarios, so they might differ from how many scenarios are actually\nretrieved."}},"type":"object","required":["simulation_scenarios","has_more","continuation_token","filter_values"],"title":"Response"},"SimulationScenarioInstance":{"properties":{"id":{"type":"string","title":"Id","description":"The ID of the simulation scenario."},"name":{"type":"string","title":"Name","description":"The name of the simulation scenario."},"tags":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"object","title":"Tags","description":"The tags of the simulation scenario."},"is_deleted":{"type":"boolean","title":"Is Deleted","description":"Whether the simulation scenario is deleted."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The timestamp when the simulation scenario was created."},"creator":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_scenario__SimulationScenario__UserInfo","description":"The user who created the simulation scenario."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"The timestamp when the simulation scenario was last updated."},"updated_by":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_scenario__SimulationScenario__UserInfo","description":"The user who last updated the simulation scenario."}},"type":"object","required":["id","name","tags","is_deleted","created_at","creator","updated_at","updated_by"],"title":"SimulationScenarioInstance"},"amigo_lib__mongo__collections__simulation_scenario__SimulationScenario__UserInfo":{"properties":{"org_id":{"type":"string","title":"Org Id"},"user_id":{"type":"string","title":"User Id"}},"type":"object","required":["org_id","user_id"],"title":"UserInfo"},"src__app__endpoints__simulation__get_simulation_scenarios__Response__FilterValues":{"properties":{"creators":{"items":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_scenario__SimulationScenario__UserInfo"},"type":"array","title":"Creators","description":"The list of users who created the simulation scenarios."},"tags":{"items":{"type":"string"},"type":"array","title":"Tags","description":"The list of tags of the simulation scenarios."}},"type":"object","required":["creators","tags"],"title":"FilterValues"}}},"paths":{"/v1/{organization}/simulation/scenario/":{"get":{"tags":["Simulation"],"summary":"Get simulation scenarios","description":"Retrieve simulation scenarios that match the given filters.\n\n#### Permissions\nThis endpoint may be impacted by the following permissions:\n* Only simulation scenarios that the authenticated user has `Simulation:GetSimulationScenario` permission for will be retrieved.","operationId":"get-simulation-scenarios","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the simulation scenarios to retrieve.","default":[],"title":"Id"},"description":"The IDs of the simulation scenarios to retrieve."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":0,"description":"The maximum number of simulation scenarios to return.","default":50,"title":"Limit"},"description":"The maximum number of simulation scenarios to return."},{"name":"continuation_token","in":"query","required":false,"schema":{"type":"integer","description":"The continuation token from the previous request used to retrieve the next page of simulation scenarios.","default":0,"title":"Continuation Token"},"description":"The continuation token from the previous request used to retrieve the next page of simulation scenarios."},{"name":"is_deleted","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Whether the simulation scenario is deleted.","title":"Is Deleted"},"description":"Whether the simulation scenario is deleted."},{"name":"creator","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string"},"description":"The creators of the simulation scenarios. Each value must be of the format `org_id,user_id`.","default":[],"title":"Creator"},"description":"The creators of the simulation scenarios. Each value must be of the format `org_id,user_id`."},{"name":"tag","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The tags of the simulation scenarios. Must be specified using the syntax `key:value`, which means to match all sets with the given `key` and `value` pair among its tags. If `value` is `*`, it means to match any value. If `value` is empty, it matches against when the value is `None`.","default":[],"title":"Tag"},"description":"The tags of the simulation scenarios. Must be specified using the syntax `key:value`, which means to match all sets with the given `key` and `value` pair among its tags. If `value` is `*`, it means to match any value. If `value` is empty, it matches against when the value is `None`."},{"name":"sort_by","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The fields to sort the sets by. Supported fields are `updated_at`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties.","default":[],"title":"Sort By"},"description":"The fields to sort the sets by. Supported fields are `updated_at`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__get_simulation_scenarios__Response"}}}},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"404":{"description":"Specified organization is not found."},"422":{"description":"Invalid request path parameter or request query parameter failed validation."},"429":{"description":"The user has exceeded the rate limit of 200 requests per minute for this endpoint."},"503":{"description":"The service is going through temporary maintenance."}}}}}}
```

## Create a simulation scenario

> Create a simulation scenario.\
> \
> \#### Permissions\
> This endpoint requires the following permissions:\
> \* \`Simulation:CreateSimulationScenario\` for the simulation scenario.\
> \* \`Simulation:ModifySimulationScenario\` for the simulation scenario.

```json
{"openapi":"3.1.0","info":{"title":"Amigo API","version":"0.1.0"},"servers":[{"url":"https://api.amigo.ai"},{"url":"https://internal-api.amigo.ai"},{"url":"https://api-eu-central-1.amigo.ai"},{"url":"https://api-ap-southeast-2.amigo.ai"},{"url":"https://api-ca-central-1.amigo.ai"}],"security":[{"Bearer-Authorization":[],"Bearer-Authorization-Organization":[],"Basic":[]}],"components":{"securitySchemes":{"Bearer-Authorization":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Amigo issued JWT token that identifies an user. It's issued either after logging in through the frontend, or manually through the [`SignInWithAPIKey`](sign-in-with-api-key) endpoint."}},"schemas":{"src__app__endpoints__simulation__create_simulation_scenario__Request":{"properties":{"name":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"The name of the simulation scenario."},"tags":{"additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/StrippedNonemptyString___w__s_____"},{"type":"null"}]},"propertyNames":{"$ref":"#/components/schemas/StrippedNonemptyString___w__s_____"},"type":"object","maxProperties":20,"title":"Tags","description":"The tags of the simulation scenario. Both the key and the value can only contain alphanumeric characters, underscores, or spaces."},"initial_version":{"$ref":"#/components/schemas/src__app__endpoints__simulation__create_simulation_scenario__Request__InitialVersion","description":"The initial version of the simulation scenario."}},"type":"object","required":["name","tags","initial_version"],"title":"Request"},"amigo_lib__pydantic__base_model__StrippedNonemptyString__1":{"type":"string","minLength":1},"StrippedNonemptyString___w__s_____":{"type":"string","minLength":1,"pattern":"^[\\w\\s]+$"},"src__app__endpoints__simulation__create_simulation_scenario__Request__InitialVersion":{"properties":{"objective":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"The objective of the simulation scenario."},"instructions":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"The instructions of the simulation scenario."},"initial_message_type":{"$ref":"#/components/schemas/InitialMessageType","description":"The initial message type for the simulation scenario version."},"conversation_starts_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Conversation Starts At","description":"The time at which the conversation starts. This must be a timestamp in UTC. If not specified, the current server time is used."}},"type":"object","required":["objective","instructions","initial_message_type","conversation_starts_at"],"title":"InitialVersion"},"InitialMessageType":{"type":"string","enum":["user-message","external-event","skip"]},"src__app__endpoints__simulation__create_simulation_scenario__Response":{"properties":{"simulation_scenario_id":{"type":"string","title":"Simulation Scenario Id","description":"The ID of the created simulation scenario."}},"type":"object","required":["simulation_scenario_id"],"title":"Response"}}},"paths":{"/v1/{organization}/simulation/scenario/":{"post":{"tags":["Simulation"],"summary":"Create a simulation scenario","description":"Create a simulation scenario.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Simulation:CreateSimulationScenario` for the simulation scenario.\n* `Simulation:ModifySimulationScenario` for the simulation scenario.","operationId":"create-simulation-scenario","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__create_simulation_scenario__Request"}}}},"responses":{"201":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__create_simulation_scenario__Response"}}}},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"404":{"description":"The specified organization was not found."},"409":{"description":"A simulation scenario with this name already exists."},"422":{"description":"Invalid request path parameter or request body failed validation."},"429":{"description":"The user has exceeded the rate limit of 500 requests per minute for this endpoint."},"503":{"description":"The service is going through temporary maintenance."}}}}}}
```

## Update a simulation scenario

> Update a simulation scenario.\
> \
> \#### Permissions\
> This endpoint requires the following permissions:\
> \* \`Simulation:ModifySimulationScenario\` on the simulation scenario.

```json
{"openapi":"3.1.0","info":{"title":"Amigo API","version":"0.1.0"},"servers":[{"url":"https://api.amigo.ai"},{"url":"https://internal-api.amigo.ai"},{"url":"https://api-eu-central-1.amigo.ai"},{"url":"https://api-ap-southeast-2.amigo.ai"},{"url":"https://api-ca-central-1.amigo.ai"}],"security":[{"Bearer-Authorization":[],"Bearer-Authorization-Organization":[],"Basic":[]}],"components":{"securitySchemes":{"Bearer-Authorization":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Amigo issued JWT token that identifies an user. It's issued either after logging in through the frontend, or manually through the [`SignInWithAPIKey`](sign-in-with-api-key) endpoint."}},"schemas":{"src__app__endpoints__simulation__update_simulation_scenario__Request":{"properties":{"tags":{"anyOf":[{"additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/StrippedNonemptyString___w__s_____"},{"type":"null"}]},"propertyNames":{"$ref":"#/components/schemas/StrippedNonemptyString___w__s_____"},"type":"object","maxProperties":20},{"type":"null"}],"title":"Tags","description":"The tags of the simulation persona. Both the key and the value can only contain alphanumeric characters, underscores, or spaces."}},"type":"object","title":"Request"},"StrippedNonemptyString___w__s_____":{"type":"string","minLength":1,"pattern":"^[\\w\\s]+$"}}},"paths":{"/v1/{organization}/simulation/scenario/{simulation_scenario_id}/":{"post":{"tags":["Simulation"],"summary":"Update a simulation scenario","description":"Update a simulation scenario.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Simulation:ModifySimulationScenario` on the simulation scenario.","operationId":"update-simulation-scenario","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"simulation_scenario_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the simulation scenario to update.","title":"Simulation Scenario Id"},"description":"The ID of the simulation scenario to update."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__update_simulation_scenario__Request"}}}},"responses":{"204":{"description":"Succeeded."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"404":{"description":"The specified organization or simulation scenario does not exist."},"422":{"description":"Invalid request path parameter or request body failed validation."},"429":{"description":"The user has exceeded the rate limit of 500 requests per minute for this endpoint."},"503":{"description":"The service is going through temporary maintenance."}}}}}}
```

## Delete a simulation scenario

> Delete a simulation scenario. This endpoint only soft-deletes the simulation scenario so any existing references to it would still be valid.\
> However, they cannot be used in any new simulations.\
> \
> This endpoint will error if the simulation scenario is used in any simulation unit tests.\
> \
> \#### Permissions\
> This endpoint requires the following permissions:\
> \* \`Simulation:DeleteSimulationScenario\` on the simulation scenario to delete.

```json
{"openapi":"3.1.0","info":{"title":"Amigo API","version":"0.1.0"},"servers":[{"url":"https://api.amigo.ai"},{"url":"https://internal-api.amigo.ai"},{"url":"https://api-eu-central-1.amigo.ai"},{"url":"https://api-ap-southeast-2.amigo.ai"},{"url":"https://api-ca-central-1.amigo.ai"}],"security":[{"Bearer-Authorization":[],"Bearer-Authorization-Organization":[],"Basic":[]}],"components":{"securitySchemes":{"Bearer-Authorization":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Amigo issued JWT token that identifies an user. It's issued either after logging in through the frontend, or manually through the [`SignInWithAPIKey`](sign-in-with-api-key) endpoint."}}},"paths":{"/v1/{organization}/simulation/scenario/{simulation_scenario_id}/":{"delete":{"tags":["Simulation"],"summary":"Delete a simulation scenario","description":"Delete a simulation scenario. This endpoint only soft-deletes the simulation scenario so any existing references to it would still be valid.\nHowever, they cannot be used in any new simulations.\n\nThis endpoint will error if the simulation scenario is used in any simulation unit tests.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Simulation:DeleteSimulationScenario` on the simulation scenario to delete.","operationId":"delete-simulation-scenario","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"simulation_scenario_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the simulation scenario to delete.","title":"Simulation Scenario Id"},"description":"The ID of the simulation scenario to delete."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"204":{"description":"Succeeded"},"400":{"description":"The specified simulation scenario is used in a simulation unit test."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"404":{"description":"The specified organization or simulation scenario does not exist."},"422":{"description":"Invalid request path parameter failed validation."},"429":{"description":"The user has exceeded the rate limit of 500 requests per minute for this endpoint."},"503":{"description":"The service is going through temporary maintenance."}}}}}}
```

## Search simulation personas

> Search for simulation personas that match the given filters and contain the given query in its name and the background of its latest version. Only the top 50 results will be returned. The results\
> will be sorted by the relevance of the search query.\
> \
> \#### Permissions\
> This endpoint may be impacted by the following permissions:\
> \* Only simulation personas that the authenticated user has \`Simulation:GetSimulationPersona\` permission for will be retrieved.

```json
{"openapi":"3.1.0","info":{"title":"Amigo API","version":"0.1.0"},"servers":[{"url":"https://api.amigo.ai"},{"url":"https://internal-api.amigo.ai"},{"url":"https://api-eu-central-1.amigo.ai"},{"url":"https://api-ap-southeast-2.amigo.ai"},{"url":"https://api-ca-central-1.amigo.ai"}],"security":[{"Bearer-Authorization":[],"Bearer-Authorization-Organization":[],"Basic":[]}],"components":{"securitySchemes":{"Bearer-Authorization":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Amigo issued JWT token that identifies an user. It's issued either after logging in through the frontend, or manually through the [`SignInWithAPIKey`](sign-in-with-api-key) endpoint."}},"schemas":{"amigo_lib__pydantic__base_model__StrippedNonemptyString__1":{"type":"string","minLength":1},"src__app__endpoints__simulation__search_simulation_personas__Response":{"properties":{"simulation_personas":{"items":{"$ref":"#/components/schemas/SimulationPersonaInstance"},"type":"array","title":"Simulation Personas","description":"The list of simulation personas."}},"type":"object","required":["simulation_personas"],"title":"Response"},"SimulationPersonaInstance":{"properties":{"id":{"type":"string","title":"Id","description":"The ID of the simulation persona."},"name":{"type":"string","title":"Name","description":"The name of the simulation persona."},"role":{"type":"string","title":"Role","description":"The role of the simulation persona."},"tags":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"object","title":"Tags","description":"The tags of the simulation persona."},"is_deleted":{"type":"boolean","title":"Is Deleted","description":"Whether the simulation persona is deleted."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The timestamp when the simulation persona was created."},"creator":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_persona__SimulationPersona__UserInfo","description":"The user who created the simulation persona."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"The timestamp when the simulation persona was last updated."},"updated_by":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_persona__SimulationPersona__UserInfo","description":"The user who last updated the simulation persona."}},"type":"object","required":["id","name","role","tags","is_deleted","created_at","creator","updated_at","updated_by"],"title":"SimulationPersonaInstance"},"amigo_lib__mongo__collections__simulation_persona__SimulationPersona__UserInfo":{"properties":{"org_id":{"type":"string","title":"Org Id"},"user_id":{"type":"string","title":"User Id"}},"type":"object","required":["org_id","user_id"],"title":"UserInfo"}}},"paths":{"/v1/{organization}/simulation/persona/search":{"get":{"tags":["Simulation"],"summary":"Search simulation personas","description":"Search for simulation personas that match the given filters and contain the given query in its name and the background of its latest version. Only the top 50 results will be returned. The results\nwill be sorted by the relevance of the search query.\n\n#### Permissions\nThis endpoint may be impacted by the following permissions:\n* Only simulation personas that the authenticated user has `Simulation:GetSimulationPersona` permission for will be retrieved.","operationId":"search-simulation-personas","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"query","in":"query","required":true,"schema":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"The query to search for. Any simulation personas containing the terms in its name and the background of its latest version would be returned."},"description":"The query to search for. Any simulation personas containing the terms in its name and the background of its latest version would be returned."},{"name":"role","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string"},"description":"The roles of the simulation personas.","default":[],"title":"Role"},"description":"The roles of the simulation personas."},{"name":"creator","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string"},"description":"The creators of the simulation personas. Each value must be of the format `org_id,user_id`.","default":[],"title":"Creator"},"description":"The creators of the simulation personas. Each value must be of the format `org_id,user_id`."},{"name":"tag","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The tags of the simulation personas. Must be specified using the syntax `key:value`, which means to match all sets with the given `key` and `value` pair among its tags. If `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`.","default":[],"title":"Tag"},"description":"The tags of the simulation personas. Must be specified using the syntax `key:value`, which means to match all sets with the given `key` and `value` pair among its tags. If `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__search_simulation_personas__Response"}}}},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"404":{"description":"Specified organization is not found."},"422":{"description":"Invalid request path parameter or request query parameter failed validation."},"429":{"description":"The user has exceeded the rate limit of 50 requests per minute for this endpoint."},"503":{"description":"The service is going through temporary maintenance."}}}}}}
```

## Search simulation scenarios

> Search for simulation scenarios that match the given filters and contain the given query in its name. Only the top 50 results will be returned. The results\
> will be sorted by the relevance of the search query.\
> \
> \#### Permissions\
> This endpoint may be impacted by the following permissions:\
> \* Only simulation scenarios that the authenticated user has \`Simulation:GetSimulationScenario\` permission for will be retrieved.

```json
{"openapi":"3.1.0","info":{"title":"Amigo API","version":"0.1.0"},"servers":[{"url":"https://api.amigo.ai"},{"url":"https://internal-api.amigo.ai"},{"url":"https://api-eu-central-1.amigo.ai"},{"url":"https://api-ap-southeast-2.amigo.ai"},{"url":"https://api-ca-central-1.amigo.ai"}],"security":[{"Bearer-Authorization":[],"Bearer-Authorization-Organization":[],"Basic":[]}],"components":{"securitySchemes":{"Bearer-Authorization":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Amigo issued JWT token that identifies an user. It's issued either after logging in through the frontend, or manually through the [`SignInWithAPIKey`](sign-in-with-api-key) endpoint."}},"schemas":{"amigo_lib__pydantic__base_model__StrippedNonemptyString__1":{"type":"string","minLength":1},"src__app__endpoints__simulation__search_simulation_scenarios__Response":{"properties":{"simulation_scenarios":{"items":{"$ref":"#/components/schemas/SimulationScenarioInstance"},"type":"array","title":"Simulation Scenarios","description":"The list of simulation scenarios."}},"type":"object","required":["simulation_scenarios"],"title":"Response"},"SimulationScenarioInstance":{"properties":{"id":{"type":"string","title":"Id","description":"The ID of the simulation scenario."},"name":{"type":"string","title":"Name","description":"The name of the simulation scenario."},"tags":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"object","title":"Tags","description":"The tags of the simulation scenario."},"is_deleted":{"type":"boolean","title":"Is Deleted","description":"Whether the simulation scenario is deleted."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The timestamp when the simulation scenario was created."},"creator":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_scenario__SimulationScenario__UserInfo","description":"The user who created the simulation scenario."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"The timestamp when the simulation scenario was last updated."},"updated_by":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_scenario__SimulationScenario__UserInfo","description":"The user who last updated the simulation scenario."}},"type":"object","required":["id","name","tags","is_deleted","created_at","creator","updated_at","updated_by"],"title":"SimulationScenarioInstance"},"amigo_lib__mongo__collections__simulation_scenario__SimulationScenario__UserInfo":{"properties":{"org_id":{"type":"string","title":"Org Id"},"user_id":{"type":"string","title":"User Id"}},"type":"object","required":["org_id","user_id"],"title":"UserInfo"}}},"paths":{"/v1/{organization}/simulation/scenario/search":{"get":{"tags":["Simulation"],"summary":"Search simulation scenarios","description":"Search for simulation scenarios that match the given filters and contain the given query in its name. Only the top 50 results will be returned. The results\nwill be sorted by the relevance of the search query.\n\n#### Permissions\nThis endpoint may be impacted by the following permissions:\n* Only simulation scenarios that the authenticated user has `Simulation:GetSimulationScenario` permission for will be retrieved.","operationId":"search-simulation-scenarios","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"query","in":"query","required":true,"schema":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"The query to search for. Any simulation scenarios containing the terms in its name would be returned."},"description":"The query to search for. Any simulation scenarios containing the terms in its name would be returned."},{"name":"creator","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string"},"description":"The creators of the simulation scenarios. Each value must be of the format `org_id,user_id`.","default":[],"title":"Creator"},"description":"The creators of the simulation scenarios. Each value must be of the format `org_id,user_id`."},{"name":"tag","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The tags of the simulation scenarios. Must be specified using the syntax `key:value`, which means to match all sets with the given `key` and `value` pair among its tags. If `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`.","default":[],"title":"Tag"},"description":"The tags of the simulation scenarios. Must be specified using the syntax `key:value`, which means to match all sets with the given `key` and `value` pair among its tags. If `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__search_simulation_scenarios__Response"}}}},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"404":{"description":"Specified organization is not found."},"422":{"description":"Invalid request path parameter or request query parameter failed validation."},"429":{"description":"The user has exceeded the rate limit of 50 requests per minute for this endpoint."},"503":{"description":"The service is going through temporary maintenance."}}}}}}
```

## Get simulation unit tests

> Retrieve the simulation unit tests that match the given filters.\
> \
> \#### Permissions\
> This endpoint may be impacted by the following permissions:\
> \* Only simulation unit tests that the authenticated user has \`Simulation:GetSimulationUnitTest\` permission for will be retrieved.

```json
{"openapi":"3.1.0","info":{"title":"Amigo API","version":"0.1.0"},"servers":[{"url":"https://api.amigo.ai"},{"url":"https://internal-api.amigo.ai"},{"url":"https://api-eu-central-1.amigo.ai"},{"url":"https://api-ap-southeast-2.amigo.ai"},{"url":"https://api-ca-central-1.amigo.ai"}],"security":[{"Bearer-Authorization":[],"Bearer-Authorization-Organization":[],"Basic":[]}],"components":{"securitySchemes":{"Bearer-Authorization":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Amigo issued JWT token that identifies an user. It's issued either after logging in through the frontend, or manually through the [`SignInWithAPIKey`](sign-in-with-api-key) endpoint."}},"schemas":{"src__app__endpoints__simulation__get_simulation_unit_tests__Response":{"properties":{"simulation_unit_tests":{"items":{"$ref":"#/components/schemas/SimulationUnitTestInstance"},"type":"array","title":"Simulation Unit Tests","description":"The retrieved simulation unit tests."},"has_more":{"type":"boolean","title":"Has More","description":"Whether there are more simulation unit tests to retrieve."},"continuation_token":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Continuation Token","description":"The continuation token to use to retrieve the next page of simulation unit tests."},"filter_values":{"anyOf":[{"$ref":"#/components/schemas/src__app__endpoints__simulation__get_simulation_unit_tests__Response__FilterValues"},{"type":"null"}],"description":"For each filter that this endpoint supports that can take on dynamic values, this field includes what these values are. This is only provided for the first page in the pagination results.\n\nNote that the values are counted assuming the authenticated user has access to all the simulation unit tests, so they might differ from how many sets are actually\nretrieved."}},"type":"object","required":["simulation_unit_tests","has_more","continuation_token","filter_values"],"title":"Response"},"SimulationUnitTestInstance":{"properties":{"id":{"type":"string","title":"Id"},"org_id":{"type":"string","title":"Org Id","description":"The ID of the organization."},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"name":{"type":"string","title":"Name","description":"The name of the unit test."},"description":{"type":"string","title":"Description","description":"A description of the unit test."},"service_id":{"type":"string","title":"Service Id","description":"The service that the unit test runs on."},"service_version_set_name":{"type":"string","title":"Service Version Set Name","description":"The version set of the service that the unit test runs on."},"persona_id":{"type":"string","title":"Persona Id","description":"The persona that unit test uses."},"scenario_id":{"type":"string","title":"Scenario Id","description":"The scenario that the unit test uses."},"max_interactions":{"type":"integer","title":"Max Interactions","description":"The max number of interactions after which the unit test fails."},"success_criterions":{"items":{"$ref":"#/components/schemas/SuccessCriterion-Output"},"type":"array","title":"Success Criterions","description":"The success criterions for the unit test."},"is_deleted":{"type":"boolean","title":"Is Deleted","description":"Whether the unit test has been deleted."},"tags":{"items":{"$ref":"#/components/schemas/Tag"},"type":"array","title":"Tags","description":"The tags of the simulation persona."},"creator":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_unit_test__SimulationUnitTest__UserInfo"},"updated_by":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_unit_test__SimulationUnitTest__UserInfo"}},"type":"object","required":["id","org_id","name","description","service_id","service_version_set_name","persona_id","scenario_id","max_interactions","success_criterions","is_deleted","tags","creator","updated_by"],"title":"SimulationUnitTestInstance"},"SuccessCriterion-Output":{"properties":{"name":{"type":"string","title":"Name"},"metric_id":{"type":"string","title":"Metric Id"},"criterion":{"$ref":"#/components/schemas/SuccessCriterionDescription-Output"}},"type":"object","required":["name","metric_id","criterion"],"title":"SuccessCriterion"},"SuccessCriterionDescription-Output":{"oneOf":[{"$ref":"#/components/schemas/BooleanMetricSuccessCriterion"},{"$ref":"#/components/schemas/NumericalMetricSuccessCriterion"},{"$ref":"#/components/schemas/CategoricalMetricSuccessCriterion-Output"}],"discriminator":{"propertyName":"type","mapping":{"boolean":"#/components/schemas/BooleanMetricSuccessCriterion","categorical":"#/components/schemas/CategoricalMetricSuccessCriterion-Output","numerical":"#/components/schemas/NumericalMetricSuccessCriterion"}}},"BooleanMetricSuccessCriterion":{"properties":{"type":{"type":"string","const":"boolean","title":"Type"},"expected_value":{"type":"boolean","title":"Expected Value"}},"type":"object","required":["type","expected_value"],"title":"BooleanMetricSuccessCriterion"},"NumericalMetricSuccessCriterion":{"properties":{"type":{"type":"string","const":"numerical","title":"Type"},"verb":{"$ref":"#/components/schemas/Verb"},"threshold":{"type":"number","title":"Threshold"}},"type":"object","required":["type","verb","threshold"],"title":"NumericalMetricSuccessCriterion"},"Verb":{"type":"string","enum":["==","!=","<=","<",">=",">"]},"CategoricalMetricSuccessCriterion-Output":{"properties":{"type":{"type":"string","const":"categorical","title":"Type"},"expected_values":{"items":{"type":"string"},"type":"array","title":"Expected Values"}},"type":"object","required":["type","expected_values"],"title":"CategoricalMetricSuccessCriterion"},"Tag":{"properties":{"key":{"type":"string","title":"Key"},"value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Value"}},"type":"object","required":["key","value"],"title":"Tag"},"amigo_lib__mongo__collections__simulation_unit_test__SimulationUnitTest__UserInfo":{"properties":{"org_id":{"type":"string","title":"Org Id"},"user_id":{"type":"string","title":"User Id"}},"type":"object","required":["org_id","user_id"],"title":"UserInfo"},"src__app__endpoints__simulation__get_simulation_unit_tests__Response__FilterValues":{"properties":{"creators":{"items":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_unit_test__SimulationUnitTest__UserInfo"},"type":"array","title":"Creators","description":"A set of creator infos that created the simulation unit tests under the current filters."},"tags":{"items":{"type":"string"},"type":"array","title":"Tags","description":"A set of tag keys that exist in the simulation unit tests under the current filters."},"service_ids":{"items":{"type":"string"},"type":"array","title":"Service Ids","description":"A set of service IDs that the simulation unit tests run on."},"persona_ids":{"items":{"type":"string"},"type":"array","title":"Persona Ids","description":"A set of persona IDs that the simulation unit tests use."},"scenario_ids":{"items":{"type":"string"},"type":"array","title":"Scenario Ids","description":"A set of scenario IDs that the simulation unit tests use."},"metric_ids":{"items":{"type":"string"},"type":"array","title":"Metric Ids","description":"A set of metric IDs that the simulation unit tests use."}},"type":"object","required":["creators","tags","service_ids","persona_ids","scenario_ids","metric_ids"],"title":"FilterValues"}}},"paths":{"/v1/{organization}/simulation/unit_test/":{"get":{"tags":["Simulation"],"summary":"Get simulation unit tests","description":"Retrieve the simulation unit tests that match the given filters.\n\n#### Permissions\nThis endpoint may be impacted by the following permissions:\n* Only simulation unit tests that the authenticated user has `Simulation:GetSimulationUnitTest` permission for will be retrieved.","operationId":"get-simulation-unit-tests","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the simulation unit tests to retrieve.","default":[],"title":"Id"},"description":"The IDs of the simulation unit tests to retrieve."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":0,"description":"The maximum number of simulation unit tests to return.","default":50,"title":"Limit"},"description":"The maximum number of simulation unit tests to return."},{"name":"continuation_token","in":"query","required":false,"schema":{"type":"integer","description":"The continuation token from the previous request used to retrieve the next page of simulation unit tests.","default":0,"title":"Continuation Token"},"description":"The continuation token from the previous request used to retrieve the next page of simulation unit tests."},{"name":"is_deleted","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Whether the simulation unit test is deleted.","title":"Is Deleted"},"description":"Whether the simulation unit test is deleted."},{"name":"service_id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the services that the simulation unit tests run on.","default":[],"title":"Service Id"},"description":"The IDs of the services that the simulation unit tests run on."},{"name":"persona_id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the personas that the simulation unit tests use.","default":[],"title":"Persona Id"},"description":"The IDs of the personas that the simulation unit tests use."},{"name":"scenario_id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the scenarios that the simulation unit tests use.","default":[],"title":"Scenario Id"},"description":"The IDs of the scenarios that the simulation unit tests use."},{"name":"metric_id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the metrics that the simulation unit tests use.","default":[],"title":"Metric Id"},"description":"The IDs of the metrics that the simulation unit tests use."},{"name":"creator","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string"},"description":"The creators of the simulation unit tests. Each value must be of the format `org_id,user_id`.","default":[],"title":"Creator"},"description":"The creators of the simulation unit tests. Each value must be of the format `org_id,user_id`."},{"name":"tag","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The tags of the simulation unit tests. Must be specified using the syntax `key:value`, which means to match all sets with the given `key` and `value` pair among its tags. If `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`.","default":[],"title":"Tag"},"description":"The tags of the simulation unit tests. Must be specified using the syntax `key:value`, which means to match all sets with the given `key` and `value` pair among its tags. If `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`."},{"name":"sort_by","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The fields to sort the sets by. Supported fields are `updated_at`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties.","default":[],"title":"Sort By"},"description":"The fields to sort the sets by. Supported fields are `updated_at`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__get_simulation_unit_tests__Response"}}}},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"404":{"description":"Specified organization is not found."},"422":{"description":"Invalid request path parameter or request query parameter failed validation."},"429":{"description":"The user has exceeded the rate limit of 200 requests per minute for this endpoint."},"503":{"description":"The service is going through temporary maintenance."}}}}}}
```

## Create a simulation unit test

> Create a new simulation unit test.\
> \
> \#### Permissions\
> This endpoint requires the following permissions:\
> \* \`Simulation:CreateSimulationUnitTest\` for the unit test to create.

```json
{"openapi":"3.1.0","info":{"title":"Amigo API","version":"0.1.0"},"servers":[{"url":"https://api.amigo.ai"},{"url":"https://internal-api.amigo.ai"},{"url":"https://api-eu-central-1.amigo.ai"},{"url":"https://api-ap-southeast-2.amigo.ai"},{"url":"https://api-ca-central-1.amigo.ai"}],"security":[{"Bearer-Authorization":[],"Bearer-Authorization-Organization":[],"Basic":[]}],"components":{"securitySchemes":{"Bearer-Authorization":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Amigo issued JWT token that identifies an user. It's issued either after logging in through the frontend, or manually through the [`SignInWithAPIKey`](sign-in-with-api-key) endpoint."}},"schemas":{"src__app__endpoints__simulation__create_simulation_unit_test__Request":{"properties":{"name":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"The name of the unit test."},"description":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"A description of the unit test."},"service_id":{"type":"string","pattern":"^[a-f0-9]{24}$","title":"Service Id","description":"The service that the unit test runs on."},"service_version_set_name":{"type":"string","title":"Service Version Set Name","description":"The version set of the service that the unit test runs on."},"persona_id":{"type":"string","pattern":"^[a-f0-9]{24}$","title":"Persona Id","description":"The persona that unit test uses."},"scenario_id":{"type":"string","pattern":"^[a-f0-9]{24}$","title":"Scenario Id","description":"The scenario that the unit test uses."},"max_interactions":{"type":"integer","maximum":100,"exclusiveMinimum":0,"title":"Max Interactions","description":"The max number of interactions after which the unit test fails."},"success_criterions":{"items":{"$ref":"#/components/schemas/src__app__endpoints__simulation__create_simulation_unit_test__Request__SuccessCriterion"},"type":"array","minItems":1,"title":"Success Criterions","description":"The success criterions for the unit test."},"tags":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"object","title":"Tags","description":"The tags of the simulation persona."}},"type":"object","required":["name","description","service_id","service_version_set_name","persona_id","scenario_id","max_interactions","success_criterions","tags"],"title":"Request"},"amigo_lib__pydantic__base_model__StrippedNonemptyString__1":{"type":"string","minLength":1},"src__app__endpoints__simulation__create_simulation_unit_test__Request__SuccessCriterion":{"properties":{"name":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"metric_id":{"type":"string","pattern":"^[a-f0-9]{24}$","title":"Metric Id"},"criterion":{"$ref":"#/components/schemas/SuccessCriterionDescription-Input"}},"type":"object","required":["name","metric_id","criterion"],"title":"SuccessCriterion"},"SuccessCriterionDescription-Input":{"oneOf":[{"$ref":"#/components/schemas/NumericalMetricSuccessCriterion"},{"$ref":"#/components/schemas/BooleanMetricSuccessCriterion"},{"$ref":"#/components/schemas/CategoricalMetricSuccessCriterion-Input"}],"discriminator":{"propertyName":"type","mapping":{"boolean":"#/components/schemas/BooleanMetricSuccessCriterion","categorical":"#/components/schemas/CategoricalMetricSuccessCriterion-Input","numerical":"#/components/schemas/NumericalMetricSuccessCriterion"}}},"NumericalMetricSuccessCriterion":{"properties":{"type":{"type":"string","const":"numerical","title":"Type"},"verb":{"$ref":"#/components/schemas/Verb"},"threshold":{"type":"number","title":"Threshold"}},"type":"object","required":["type","verb","threshold"],"title":"NumericalMetricSuccessCriterion"},"Verb":{"type":"string","enum":["==","!=","<=","<",">=",">"]},"BooleanMetricSuccessCriterion":{"properties":{"type":{"type":"string","const":"boolean","title":"Type"},"expected_value":{"type":"boolean","title":"Expected Value"}},"type":"object","required":["type","expected_value"],"title":"BooleanMetricSuccessCriterion"},"CategoricalMetricSuccessCriterion-Input":{"properties":{"type":{"type":"string","const":"categorical","title":"Type"},"expected_values":{"items":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"type":"array","minItems":1,"title":"Expected Values"}},"type":"object","required":["type","expected_values"],"title":"CategoricalMetricSuccessCriterion"},"src__app__endpoints__simulation__create_simulation_unit_test__Response":{"properties":{"simulation_unit_test_id":{"type":"string","title":"Simulation Unit Test Id","description":"The ID of the created simulation unit test."}},"type":"object","required":["simulation_unit_test_id"],"title":"Response"}}},"paths":{"/v1/{organization}/simulation/unit_test/":{"post":{"tags":["Simulation"],"summary":"Create a simulation unit test","description":"Create a new simulation unit test.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Simulation:CreateSimulationUnitTest` for the unit test to create.","operationId":"create-simulation-unit-test","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__create_simulation_unit_test__Request"}}}},"responses":{"201":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__create_simulation_unit_test__Response"}}}},"400":{"description":"The metric type of the success criterion does not match the metric type of the metric."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"404":{"description":"The specified organization, service, persona, scenario, metric, or service version set was not found."},"409":{"description":"A unit test with this name already exists."},"422":{"description":"Invalid request path parameter or request body failed validation."},"429":{"description":"The user has exceeded the rate limit of 500 requests per minute for this endpoint."},"503":{"description":"The service is going through temporary maintenance."}}}}}}
```

## Update a simulation unit test

> Modify the specified simulation unit test.\
> \
> \#### Permissions\
> \* \`Simulation:ModifySimulationUnitTest\` for the unit test to update.

```json
{"openapi":"3.1.0","info":{"title":"Amigo API","version":"0.1.0"},"servers":[{"url":"https://api.amigo.ai"},{"url":"https://internal-api.amigo.ai"},{"url":"https://api-eu-central-1.amigo.ai"},{"url":"https://api-ap-southeast-2.amigo.ai"},{"url":"https://api-ca-central-1.amigo.ai"}],"security":[{"Bearer-Authorization":[],"Bearer-Authorization-Organization":[],"Basic":[]}],"components":{"securitySchemes":{"Bearer-Authorization":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Amigo issued JWT token that identifies an user. It's issued either after logging in through the frontend, or manually through the [`SignInWithAPIKey`](sign-in-with-api-key) endpoint."}},"schemas":{"src__app__endpoints__simulation__update_simulation_unit_test__Request":{"properties":{"description":{"anyOf":[{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},{"type":"null"}],"description":"A description of the unit test."},"service_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{24}$"},{"type":"null"}],"title":"Service Id","description":"The service that the unit test runs on."},"service_version_set_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Service Version Set Name","description":"The version set of the service that the unit test runs on."},"persona_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{24}$"},{"type":"null"}],"title":"Persona Id","description":"The persona that unit test uses."},"scenario_id":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{24}$"},{"type":"null"}],"title":"Scenario Id","description":"The scenario that the unit test uses."},"max_interactions":{"anyOf":[{"type":"integer","maximum":100,"exclusiveMinimum":0},{"type":"null"}],"title":"Max Interactions","description":"The max number of interactions after which the unit test fails."},"success_criterions":{"anyOf":[{"items":{"$ref":"#/components/schemas/src__app__endpoints__simulation__update_simulation_unit_test__Request__SuccessCriterion"},"type":"array","minItems":1},{"type":"null"}],"title":"Success Criterions","description":"The success criterions for the unit test."},"run_count":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}],"title":"Run Count","description":"Each time this unit test is run, the number of sessions to simulate."},"tags":{"anyOf":[{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"object"},{"type":"null"}],"title":"Tags","description":"The tags of the simulation persona."}},"type":"object","title":"Request"},"amigo_lib__pydantic__base_model__StrippedNonemptyString__1":{"type":"string","minLength":1},"src__app__endpoints__simulation__update_simulation_unit_test__Request__SuccessCriterion":{"properties":{"name":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"metric_id":{"type":"string","pattern":"^[a-f0-9]{24}$","title":"Metric Id"},"criterion":{"$ref":"#/components/schemas/SuccessCriterionDescription-Input"}},"type":"object","required":["name","metric_id","criterion"],"title":"SuccessCriterion"},"SuccessCriterionDescription-Input":{"oneOf":[{"$ref":"#/components/schemas/NumericalMetricSuccessCriterion"},{"$ref":"#/components/schemas/BooleanMetricSuccessCriterion"},{"$ref":"#/components/schemas/CategoricalMetricSuccessCriterion-Input"}],"discriminator":{"propertyName":"type","mapping":{"boolean":"#/components/schemas/BooleanMetricSuccessCriterion","categorical":"#/components/schemas/CategoricalMetricSuccessCriterion-Input","numerical":"#/components/schemas/NumericalMetricSuccessCriterion"}}},"NumericalMetricSuccessCriterion":{"properties":{"type":{"type":"string","const":"numerical","title":"Type"},"verb":{"$ref":"#/components/schemas/Verb"},"threshold":{"type":"number","title":"Threshold"}},"type":"object","required":["type","verb","threshold"],"title":"NumericalMetricSuccessCriterion"},"Verb":{"type":"string","enum":["==","!=","<=","<",">=",">"]},"BooleanMetricSuccessCriterion":{"properties":{"type":{"type":"string","const":"boolean","title":"Type"},"expected_value":{"type":"boolean","title":"Expected Value"}},"type":"object","required":["type","expected_value"],"title":"BooleanMetricSuccessCriterion"},"CategoricalMetricSuccessCriterion-Input":{"properties":{"type":{"type":"string","const":"categorical","title":"Type"},"expected_values":{"items":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},"type":"array","minItems":1,"title":"Expected Values"}},"type":"object","required":["type","expected_values"],"title":"CategoricalMetricSuccessCriterion"}}},"paths":{"/v1/{organization}/simulation/unit_test/{simulation_unit_test_id}/":{"post":{"tags":["Simulation"],"summary":"Update a simulation unit test","description":"Modify the specified simulation unit test.\n\n#### Permissions\n* `Simulation:ModifySimulationUnitTest` for the unit test to update.","operationId":"update-simulation-unit-test","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"simulation_unit_test_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the simulation unit test to update.","title":"Simulation Unit Test Id"},"description":"The ID of the simulation unit test to update."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__update_simulation_unit_test__Request"}}}},"responses":{"204":{"description":"Succeeded."},"400":{"description":"The metric type of the success criterion does not match the metric type of the metric."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"404":{"description":"The specified organization, simulation unit test, service, persona, scenario, metric, or service version set was not found."},"422":{"description":"Invalid request path parameter or request body failed validation."},"429":{"description":"The user has exceeded the rate limit of 500 requests per minute for this endpoint."},"503":{"description":"The service is going through temporary maintenance."}}}}}}
```

## Delete a simulation unit test

> Delete a simulation unit test. The unit test is soft-deleted and all references to it are still valid. Any scheduled unit test runs\
> would still continue as expected, but no new run can be created.\
> \
> This endpoint will error if the simulation unit test is used in any simulation unit test set.\
> \
> \#### Permissions\
> This endpoint requires the following permissions:\
> \* \`Simulation:DeleteSimulationUnitTest\` for the simulation unit test to delete.

```json
{"openapi":"3.1.0","info":{"title":"Amigo API","version":"0.1.0"},"servers":[{"url":"https://api.amigo.ai"},{"url":"https://internal-api.amigo.ai"},{"url":"https://api-eu-central-1.amigo.ai"},{"url":"https://api-ap-southeast-2.amigo.ai"},{"url":"https://api-ca-central-1.amigo.ai"}],"security":[{"Bearer-Authorization":[],"Bearer-Authorization-Organization":[],"Basic":[]}],"components":{"securitySchemes":{"Bearer-Authorization":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Amigo issued JWT token that identifies an user. It's issued either after logging in through the frontend, or manually through the [`SignInWithAPIKey`](sign-in-with-api-key) endpoint."}}},"paths":{"/v1/{organization}/simulation/unit_test/{simulation_unit_test_id}/":{"delete":{"tags":["Simulation"],"summary":"Delete a simulation unit test","description":"Delete a simulation unit test. The unit test is soft-deleted and all references to it are still valid. Any scheduled unit test runs\nwould still continue as expected, but no new run can be created.\n\nThis endpoint will error if the simulation unit test is used in any simulation unit test set.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Simulation:DeleteSimulationUnitTest` for the simulation unit test to delete.","operationId":"delete-simulation-unit-test","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"simulation_unit_test_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the simulation unit test to delete.","title":"Simulation Unit Test Id"},"description":"The ID of the simulation unit test to delete."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"204":{"description":"Succeeded."},"400":{"description":"The specified simulation unit test is used in a simulation unit test set."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"404":{"description":"The specified organization or simulation unit test was not found or is inactive."},"422":{"description":"Invalid request path parameter failed validation."},"429":{"description":"The user has exceeded the rate limit of 500 requests per minute for this endpoint."},"503":{"description":"The service is going through temporary maintenance."}}}}}}
```

## Search simulation unit tests

> Search for simulation unit tests that match the given filters and whose name or description contains the specified query.\
> \
> \#### Permissions\
> This endpoint may be impacted by the following permissions:\
> \* Only simulation unit tests that the authenticated user has \`Simulation:GetSimulationUnitTest\` permission for will be retrieved.

```json
{"openapi":"3.1.0","info":{"title":"Amigo API","version":"0.1.0"},"servers":[{"url":"https://api.amigo.ai"},{"url":"https://internal-api.amigo.ai"},{"url":"https://api-eu-central-1.amigo.ai"},{"url":"https://api-ap-southeast-2.amigo.ai"},{"url":"https://api-ca-central-1.amigo.ai"}],"security":[{"Bearer-Authorization":[],"Bearer-Authorization-Organization":[],"Basic":[]}],"components":{"securitySchemes":{"Bearer-Authorization":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Amigo issued JWT token that identifies an user. It's issued either after logging in through the frontend, or manually through the [`SignInWithAPIKey`](sign-in-with-api-key) endpoint."}},"schemas":{"amigo_lib__pydantic__base_model__StrippedNonemptyString__1":{"type":"string","minLength":1},"src__app__endpoints__simulation__search_simulation_unit_tests__Response":{"properties":{"simulation_unit_tests":{"items":{"$ref":"#/components/schemas/SimulationUnitTest"},"type":"array","title":"Simulation Unit Tests","description":"The retrieved simulation unit tests."}},"type":"object","required":["simulation_unit_tests"],"title":"Response"},"SimulationUnitTest":{"properties":{"_id":{"type":"string","title":"Id","description":"The ID of the document."},"org_id":{"type":"string","title":"Org Id","description":"The ID of the organization."},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"name":{"type":"string","title":"Name","description":"The name of the unit test."},"description":{"type":"string","title":"Description","description":"A description of the unit test."},"service_id":{"type":"string","title":"Service Id","description":"The service that the unit test runs on."},"service_version_set_name":{"type":"string","title":"Service Version Set Name","description":"The version set of the service that the unit test runs on."},"persona_id":{"type":"string","title":"Persona Id","description":"The persona that unit test uses."},"scenario_id":{"type":"string","title":"Scenario Id","description":"The scenario that the unit test uses."},"max_interactions":{"type":"integer","title":"Max Interactions","description":"The max number of interactions after which the unit test fails."},"success_criterions":{"items":{"$ref":"#/components/schemas/SuccessCriterion-Output"},"type":"array","title":"Success Criterions","description":"The success criterions for the unit test."},"is_deleted":{"type":"boolean","title":"Is Deleted","description":"Whether the unit test has been deleted."},"tags":{"items":{"$ref":"#/components/schemas/Tag"},"type":"array","title":"Tags","description":"The tags of the simulation persona."},"creator":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_unit_test__SimulationUnitTest__UserInfo"},"updated_by":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_unit_test__SimulationUnitTest__UserInfo"}},"type":"object","required":["_id","org_id","name","description","service_id","service_version_set_name","persona_id","scenario_id","max_interactions","success_criterions","is_deleted","tags","creator","updated_by"],"title":"SimulationUnitTest"},"SuccessCriterion-Output":{"properties":{"name":{"type":"string","title":"Name"},"metric_id":{"type":"string","title":"Metric Id"},"criterion":{"$ref":"#/components/schemas/SuccessCriterionDescription-Output"}},"type":"object","required":["name","metric_id","criterion"],"title":"SuccessCriterion"},"SuccessCriterionDescription-Output":{"oneOf":[{"$ref":"#/components/schemas/BooleanMetricSuccessCriterion"},{"$ref":"#/components/schemas/NumericalMetricSuccessCriterion"},{"$ref":"#/components/schemas/CategoricalMetricSuccessCriterion-Output"}],"discriminator":{"propertyName":"type","mapping":{"boolean":"#/components/schemas/BooleanMetricSuccessCriterion","categorical":"#/components/schemas/CategoricalMetricSuccessCriterion-Output","numerical":"#/components/schemas/NumericalMetricSuccessCriterion"}}},"BooleanMetricSuccessCriterion":{"properties":{"type":{"type":"string","const":"boolean","title":"Type"},"expected_value":{"type":"boolean","title":"Expected Value"}},"type":"object","required":["type","expected_value"],"title":"BooleanMetricSuccessCriterion"},"NumericalMetricSuccessCriterion":{"properties":{"type":{"type":"string","const":"numerical","title":"Type"},"verb":{"$ref":"#/components/schemas/Verb"},"threshold":{"type":"number","title":"Threshold"}},"type":"object","required":["type","verb","threshold"],"title":"NumericalMetricSuccessCriterion"},"Verb":{"type":"string","enum":["==","!=","<=","<",">=",">"]},"CategoricalMetricSuccessCriterion-Output":{"properties":{"type":{"type":"string","const":"categorical","title":"Type"},"expected_values":{"items":{"type":"string"},"type":"array","title":"Expected Values"}},"type":"object","required":["type","expected_values"],"title":"CategoricalMetricSuccessCriterion"},"Tag":{"properties":{"key":{"type":"string","title":"Key"},"value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Value"}},"type":"object","required":["key","value"],"title":"Tag"},"amigo_lib__mongo__collections__simulation_unit_test__SimulationUnitTest__UserInfo":{"properties":{"org_id":{"type":"string","title":"Org Id"},"user_id":{"type":"string","title":"User Id"}},"type":"object","required":["org_id","user_id"],"title":"UserInfo"}}},"paths":{"/v1/{organization}/simulation/unit_test/search/":{"get":{"tags":["Simulation"],"summary":"Search simulation unit tests","description":"Search for simulation unit tests that match the given filters and whose name or description contains the specified query.\n\n#### Permissions\nThis endpoint may be impacted by the following permissions:\n* Only simulation unit tests that the authenticated user has `Simulation:GetSimulationUnitTest` permission for will be retrieved.","operationId":"search-simulation-unit-tests","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"query","in":"query","required":true,"schema":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"The query to search for. Any simulation unit tests containing the terms in its name would be returned."},"description":"The query to search for. Any simulation unit tests containing the terms in its name would be returned."},{"name":"creator","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string"},"description":"The creators of the simulation unit tests. Each value must be of the format `org_id,user_id`.","default":[],"title":"Creator"},"description":"The creators of the simulation unit tests. Each value must be of the format `org_id,user_id`."},{"name":"tag","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The tags of the simulation unit tests. Must be specified using the syntax `key:value`, which means to match all sets with the given `key` and `value` pair among its tags. If `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`.","default":[],"title":"Tag"},"description":"The tags of the simulation unit tests. Must be specified using the syntax `key:value`, which means to match all sets with the given `key` and `value` pair among its tags. If `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`."},{"name":"service_id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the services that the simulation unit tests run on.","default":[],"title":"Service Id"},"description":"The IDs of the services that the simulation unit tests run on."},{"name":"persona_id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the personas that the simulation unit tests use.","default":[],"title":"Persona Id"},"description":"The IDs of the personas that the simulation unit tests use."},{"name":"scenario_id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the scenarios that the simulation unit tests use.","default":[],"title":"Scenario Id"},"description":"The IDs of the scenarios that the simulation unit tests use."},{"name":"metric_id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the metrics that the simulation unit tests use.","default":[],"title":"Metric Id"},"description":"The IDs of the metrics that the simulation unit tests use."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__search_simulation_unit_tests__Response"}}}},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"404":{"description":"Specified organization is not found."},"422":{"description":"Invalid request path parameter or request query parameter failed validation."},"429":{"description":"The user has exceeded the rate limit of 50 requests per minute for this endpoint."},"503":{"description":"The service is going through temporary maintenance."}}}}}}
```

## Get simulation unit test sets

> Retrieve the simulation unit test sets that match the given filters.\
> \
> \#### Permissions\
> This endpoint may be impacted by the following permissions:\
> \* Only simulation unit test sets that the authenticated user has \`Simulation:GetSimulationUnitTestSet\` permission for will be retrieved.

```json
{"openapi":"3.1.0","info":{"title":"Amigo API","version":"0.1.0"},"servers":[{"url":"https://api.amigo.ai"},{"url":"https://internal-api.amigo.ai"},{"url":"https://api-eu-central-1.amigo.ai"},{"url":"https://api-ap-southeast-2.amigo.ai"},{"url":"https://api-ca-central-1.amigo.ai"}],"security":[{"Bearer-Authorization":[],"Bearer-Authorization-Organization":[],"Basic":[]}],"components":{"securitySchemes":{"Bearer-Authorization":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Amigo issued JWT token that identifies an user. It's issued either after logging in through the frontend, or manually through the [`SignInWithAPIKey`](sign-in-with-api-key) endpoint."}},"schemas":{"src__app__endpoints__simulation__get_simulation_unit_test_sets__Response":{"properties":{"simulation_unit_test_sets":{"items":{"$ref":"#/components/schemas/SimulationUnitTestSetInstance"},"type":"array","title":"Simulation Unit Test Sets","description":"The retrieved simulation unit test sets."},"has_more":{"type":"boolean","title":"Has More","description":"Whether there are more simulation unit test sets to retrieve."},"continuation_token":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Continuation Token","description":"The continuation token to use to retrieve the next page of simulation unit test sets."},"filter_values":{"anyOf":[{"$ref":"#/components/schemas/src__app__endpoints__simulation__get_simulation_unit_test_sets__Response__FilterValues"},{"type":"null"}],"description":"For each filter that this endpoint supports that can take on dynamic values, this field includes what these values are. This is only provided for the first page in the pagination results.\n\nNote that the values are counted assuming the authenticated user has access to all the simulation unit test sets, so they might differ from how many sets are actually\nretrieved."}},"type":"object","required":["simulation_unit_test_sets","has_more","continuation_token","filter_values"],"title":"Response"},"SimulationUnitTestSetInstance":{"properties":{"id":{"type":"string","title":"Id"},"org_id":{"type":"string","title":"Org Id","description":"The ID of the organization."},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"name":{"type":"string","title":"Name","description":"The name of the simulation unit test set."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"The description of the simulation unit test set."},"unit_test_runs":{"items":{"$ref":"#/components/schemas/UnitTestRunDescriptor-Output"},"type":"array","title":"Unit Test Runs","description":"The unit test runs that are part of this set."},"last_triggered_run_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Triggered Run Id","description":"The last unit test set run that was triggered."},"is_deleted":{"type":"boolean","title":"Is Deleted","description":"Whether the unit test set has been deleted."},"tags":{"items":{"$ref":"#/components/schemas/Tag"},"type":"array","title":"Tags","description":"The tags of the simulation unit test set."},"creator":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_unit_test_set__SimulationUnitTestSet__UserInfo"},"updated_by":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_unit_test_set__SimulationUnitTestSet__UserInfo"}},"type":"object","required":["id","org_id","name","description","unit_test_runs","last_triggered_run_id","is_deleted","tags","creator","updated_by"],"title":"SimulationUnitTestSetInstance"},"UnitTestRunDescriptor-Output":{"properties":{"unit_test_id":{"type":"string","title":"Unit Test Id"},"run_count":{"type":"integer","title":"Run Count"}},"type":"object","required":["unit_test_id","run_count"],"title":"UnitTestRunDescriptor"},"Tag":{"properties":{"key":{"type":"string","title":"Key"},"value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Value"}},"type":"object","required":["key","value"],"title":"Tag"},"amigo_lib__mongo__collections__simulation_unit_test_set__SimulationUnitTestSet__UserInfo":{"properties":{"org_id":{"type":"string","title":"Org Id"},"user_id":{"type":"string","title":"User Id"}},"type":"object","required":["org_id","user_id"],"title":"UserInfo"},"src__app__endpoints__simulation__get_simulation_unit_test_sets__Response__FilterValues":{"properties":{"creators":{"items":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_unit_test_set__SimulationUnitTestSet__UserInfo"},"type":"array","title":"Creators","description":"A set of creator infos that created the simulation unit test sets under the current filters."},"unit_test_ids":{"items":{"type":"string"},"type":"array","title":"Unit Test Ids","description":"A set of unit test IDs that are used in the simulation unit test sets under the current filters."},"tags":{"items":{"type":"string"},"type":"array","title":"Tags","description":"A set of tag keys that exist in the simulation unit test sets under the current filters."}},"type":"object","required":["creators","unit_test_ids","tags"],"title":"FilterValues"}}},"paths":{"/v1/{organization}/simulation/unit_test_set/":{"get":{"tags":["Simulation"],"summary":"Get simulation unit test sets","description":"Retrieve the simulation unit test sets that match the given filters.\n\n#### Permissions\nThis endpoint may be impacted by the following permissions:\n* Only simulation unit test sets that the authenticated user has `Simulation:GetSimulationUnitTestSet` permission for will be retrieved.","operationId":"get-simulation-unit-test-sets","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the simulation unit test sets to retrieve.","default":[],"title":"Id"},"description":"The IDs of the simulation unit test sets to retrieve."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":20,"minimum":0,"description":"The maximum number of simulation unit test sets to return.","default":20,"title":"Limit"},"description":"The maximum number of simulation unit test sets to return."},{"name":"continuation_token","in":"query","required":false,"schema":{"type":"integer","description":"The continuation token from the previous request used to retrieve the next page of simulation unit test sets.","default":0,"title":"Continuation Token"},"description":"The continuation token from the previous request used to retrieve the next page of simulation unit test sets."},{"name":"is_deleted","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Whether the simulation unit test set is deleted.","title":"Is Deleted"},"description":"Whether the simulation unit test set is deleted."},{"name":"unit_test_id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the unit tests that are part of the simulation unit test sets.","default":[],"title":"Unit Test Id"},"description":"The IDs of the unit tests that are part of the simulation unit test sets."},{"name":"creator","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string"},"description":"The creators of the simulation unit test sets.","default":[],"title":"Creator"},"description":"The creators of the simulation unit test sets."},{"name":"tag","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The tags of the simulation unit test sets. Must be specified using the syntax `key:value`, which means to match all sets with the given `key` and `value` pair among its tags. If `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`.","default":[],"title":"Tag"},"description":"The tags of the simulation unit test sets. Must be specified using the syntax `key:value`, which means to match all sets with the given `key` and `value` pair among its tags. If `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`."},{"name":"sort_by","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The fields to sort the sets by. Supported fields are `updated_at`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties.","default":[],"title":"Sort By"},"description":"The fields to sort the sets by. Supported fields are `updated_at`. Specify a `+` before the field name to indicate ascending sorting and `-` for descending sorting. Multiple fields can be specified to break ties."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__get_simulation_unit_test_sets__Response"}}}},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"404":{"description":"Specified organization is not found."},"422":{"description":"Invalid request path parameter or request query parameter failed validation."},"429":{"description":"The user has exceeded the rate limit of 50 requests per minute for this endpoint."},"503":{"description":"The service is going through temporary maintenance."}}}}}}
```

## Create a simulation unit test set

> Create a new simulation unit test set.\
> \
> \#### Permissions\
> This endpoint requires the following permissions:\
> \* \`Simulation:CreateSimulationUnitTestSet\` for the simulation unit test set.

```json
{"openapi":"3.1.0","info":{"title":"Amigo API","version":"0.1.0"},"servers":[{"url":"https://api.amigo.ai"},{"url":"https://internal-api.amigo.ai"},{"url":"https://api-eu-central-1.amigo.ai"},{"url":"https://api-ap-southeast-2.amigo.ai"},{"url":"https://api-ca-central-1.amigo.ai"}],"security":[{"Bearer-Authorization":[],"Bearer-Authorization-Organization":[],"Basic":[]}],"components":{"securitySchemes":{"Bearer-Authorization":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Amigo issued JWT token that identifies an user. It's issued either after logging in through the frontend, or manually through the [`SignInWithAPIKey`](sign-in-with-api-key) endpoint."}},"schemas":{"src__app__endpoints__simulation__create_simulation_unit_test_set__Request":{"properties":{"name":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"The name of the simulation unit test set."},"description":{"anyOf":[{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},{"type":"null"}],"description":"The description of the simulation unit test set."},"unit_test_runs":{"items":{"$ref":"#/components/schemas/UnitTestRunDescriptor-Input"},"type":"array","minItems":1,"title":"Unit Test Runs","description":"The unit test runs that are part of this set."},"tags":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"object","title":"Tags","description":"The tags of the simulation unit test set."}},"type":"object","required":["name","description","unit_test_runs","tags"],"title":"Request"},"amigo_lib__pydantic__base_model__StrippedNonemptyString__1":{"type":"string","minLength":1},"UnitTestRunDescriptor-Input":{"properties":{"unit_test_id":{"type":"string","pattern":"^[a-f0-9]{24}$","title":"Unit Test Id"},"run_count":{"type":"integer","exclusiveMinimum":0,"title":"Run Count","description":"The number of times to run the unit test."}},"type":"object","required":["unit_test_id","run_count"],"title":"UnitTestRunDescriptor"},"src__app__endpoints__simulation__create_simulation_unit_test_set__Response":{"properties":{"simulation_unit_test_set_id":{"type":"string","title":"Simulation Unit Test Set Id","description":"The ID of the simulation unit test set that was created."}},"type":"object","required":["simulation_unit_test_set_id"],"title":"Response"}}},"paths":{"/v1/{organization}/simulation/unit_test_set/":{"post":{"tags":["Simulation"],"summary":"Create a simulation unit test set","description":"Create a new simulation unit test set.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Simulation:CreateSimulationUnitTestSet` for the simulation unit test set.","operationId":"create-simulation-unit-test-set","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__create_simulation_unit_test_set__Request"}}}},"responses":{"201":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__create_simulation_unit_test_set__Response"}}}},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"404":{"description":"The specified organization or unit test was not found."},"409":{"description":"A simulation unit test set with the same name already exists."},"422":{"description":"Invalid request path parameter or request body failed validation."},"429":{"description":"The user has exceeded the rate limit of 50 requests per minute for this endpoint."},"503":{"description":"The service is going through temporary maintenance."}}}}}}
```

## Search simulation unit test sets

> Search for simulation unit test sets that match the given filters and whose name or description contains the specified query.\
> \
> \#### Permissions\
> This endpoint may be impacted by the following permissions:\
> \* Only simulation unit test sets that the authenticated user has \`Simulation:GetSimulationUnitTestSet\` permission for will be retrieved.

```json
{"openapi":"3.1.0","info":{"title":"Amigo API","version":"0.1.0"},"servers":[{"url":"https://api.amigo.ai"},{"url":"https://internal-api.amigo.ai"},{"url":"https://api-eu-central-1.amigo.ai"},{"url":"https://api-ap-southeast-2.amigo.ai"},{"url":"https://api-ca-central-1.amigo.ai"}],"security":[{"Bearer-Authorization":[],"Bearer-Authorization-Organization":[],"Basic":[]}],"components":{"securitySchemes":{"Bearer-Authorization":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Amigo issued JWT token that identifies an user. It's issued either after logging in through the frontend, or manually through the [`SignInWithAPIKey`](sign-in-with-api-key) endpoint."}},"schemas":{"amigo_lib__pydantic__base_model__StrippedNonemptyString__1":{"type":"string","minLength":1},"src__app__endpoints__simulation__search_simulation_unit_test_set__Response":{"properties":{"simulation_unit_test_sets":{"items":{"$ref":"#/components/schemas/SimulationUnitTestSet"},"type":"array","title":"Simulation Unit Test Sets","description":"The retrieved simulation unit test sets."}},"type":"object","required":["simulation_unit_test_sets"],"title":"Response"},"SimulationUnitTestSet":{"properties":{"_id":{"type":"string","title":"Id","description":"The ID of the document."},"org_id":{"type":"string","title":"Org Id","description":"The ID of the organization."},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"name":{"type":"string","title":"Name","description":"The name of the simulation unit test set."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"The description of the simulation unit test set."},"unit_test_runs":{"items":{"$ref":"#/components/schemas/UnitTestRunDescriptor-Output"},"type":"array","title":"Unit Test Runs","description":"The unit test runs that are part of this set."},"last_triggered_run_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Triggered Run Id","description":"The last unit test set run that was triggered."},"is_deleted":{"type":"boolean","title":"Is Deleted","description":"Whether the unit test set has been deleted."},"tags":{"items":{"$ref":"#/components/schemas/Tag"},"type":"array","title":"Tags","description":"The tags of the simulation unit test set."},"creator":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_unit_test_set__SimulationUnitTestSet__UserInfo"},"updated_by":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_unit_test_set__SimulationUnitTestSet__UserInfo"}},"type":"object","required":["_id","org_id","name","description","unit_test_runs","last_triggered_run_id","is_deleted","tags","creator","updated_by"],"title":"SimulationUnitTestSet"},"UnitTestRunDescriptor-Output":{"properties":{"unit_test_id":{"type":"string","title":"Unit Test Id"},"run_count":{"type":"integer","title":"Run Count"}},"type":"object","required":["unit_test_id","run_count"],"title":"UnitTestRunDescriptor"},"Tag":{"properties":{"key":{"type":"string","title":"Key"},"value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Value"}},"type":"object","required":["key","value"],"title":"Tag"},"amigo_lib__mongo__collections__simulation_unit_test_set__SimulationUnitTestSet__UserInfo":{"properties":{"org_id":{"type":"string","title":"Org Id"},"user_id":{"type":"string","title":"User Id"}},"type":"object","required":["org_id","user_id"],"title":"UserInfo"}}},"paths":{"/v1/{organization}/simulation/unit_test_set/search/":{"get":{"tags":["Simulation"],"summary":"Search simulation unit test sets","description":"Search for simulation unit test sets that match the given filters and whose name or description contains the specified query.\n\n#### Permissions\nThis endpoint may be impacted by the following permissions:\n* Only simulation unit test sets that the authenticated user has `Simulation:GetSimulationUnitTestSet` permission for will be retrieved.","operationId":"search-simulation-unit-test-sets","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"query","in":"query","required":true,"schema":{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1","description":"The query to search for. Any simulation unit test sets containing the terms in its name or description would be returned."},"description":"The query to search for. Any simulation unit test sets containing the terms in its name or description would be returned."},{"name":"creator","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string"},"description":"The creators of the simulation unit test sets. Each value must be of the format `org_id,user_id`.","default":[],"title":"Creator"},"description":"The creators of the simulation unit test sets. Each value must be of the format `org_id,user_id`."},{"name":"tag","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The tags of the simulation unit test sets. Must be specified using the syntax `key:value`, which means to match all sets with the given `key` and `value` pair among its tags. If `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`.","default":[],"title":"Tag"},"description":"The tags of the simulation unit test sets. Must be specified using the syntax `key:value`, which means to match all sets with the given `key` and `value` pair among its tags. If `value` is `*`, it means the `value` does not matter. If `value` is empty, it matches against when the value is `None`."},{"name":"unit_test_id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the unit tests that are part of the simulation unit test sets.","default":[],"title":"Unit Test Id"},"description":"The IDs of the unit tests that are part of the simulation unit test sets."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__search_simulation_unit_test_set__Response"}}}},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"404":{"description":"Specified organization is not found."},"422":{"description":"Invalid request path parameter or request query parameter failed validation."},"429":{"description":"The user has exceeded the rate limit of 50 requests per minute for this endpoint."},"503":{"description":"The service is going through temporary maintenance."}}}}}}
```

## Update a simulation unit test set

> Update a simulation unit test set.\
> \
> \#### Permissions\
> This endpoint requires the following permissions:\
> \* \`Simulation:ModifySimulationUnitTestSet\` for the simulation unit test set.

```json
{"openapi":"3.1.0","info":{"title":"Amigo API","version":"0.1.0"},"servers":[{"url":"https://api.amigo.ai"},{"url":"https://internal-api.amigo.ai"},{"url":"https://api-eu-central-1.amigo.ai"},{"url":"https://api-ap-southeast-2.amigo.ai"},{"url":"https://api-ca-central-1.amigo.ai"}],"security":[{"Bearer-Authorization":[],"Bearer-Authorization-Organization":[],"Basic":[]}],"components":{"securitySchemes":{"Bearer-Authorization":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Amigo issued JWT token that identifies an user. It's issued either after logging in through the frontend, or manually through the [`SignInWithAPIKey`](sign-in-with-api-key) endpoint."}},"schemas":{"src__app__endpoints__simulation__update_simulation_unit_test_set__Request":{"properties":{"name":{"anyOf":[{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},{"type":"null"}],"description":"The name of the simulation unit test set."},"description":{"anyOf":[{"$ref":"#/components/schemas/amigo_lib__pydantic__base_model__StrippedNonemptyString__1"},{"$ref":"#/components/schemas/_NotSet"},{"type":"null"}],"title":"Description","description":"The description of the simulation unit test set. If not specified or an empty object is provided, the description will not be updated.","default":{}},"unit_test_runs":{"anyOf":[{"items":{"$ref":"#/components/schemas/UnitTestRunDescriptor-Input"},"type":"array","minItems":1},{"type":"null"}],"title":"Unit Test Runs","description":"The unit test runs that are part of this set."},"tags":{"anyOf":[{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"object"},{"type":"null"}],"title":"Tags","description":"The tags of the simulation unit test set."}},"type":"object","title":"Request"},"amigo_lib__pydantic__base_model__StrippedNonemptyString__1":{"type":"string","minLength":1},"_NotSet":{"properties":{},"type":"object","title":"_NotSet","description":"A specific type to indicate that a field is not set in the request."},"UnitTestRunDescriptor-Input":{"properties":{"unit_test_id":{"type":"string","pattern":"^[a-f0-9]{24}$","title":"Unit Test Id"},"run_count":{"type":"integer","exclusiveMinimum":0,"title":"Run Count","description":"The number of times to run the unit test."}},"type":"object","required":["unit_test_id","run_count"],"title":"UnitTestRunDescriptor"}}},"paths":{"/v1/{organization}/simulation/unit_test_set/{simulation_unit_test_set_id}":{"post":{"tags":["Simulation"],"summary":"Update a simulation unit test set","description":"Update a simulation unit test set.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Simulation:ModifySimulationUnitTestSet` for the simulation unit test set.","operationId":"update-simulation-unit-test-set","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"simulation_unit_test_set_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the simulation unit test set to update.","title":"Simulation Unit Test Set Id"},"description":"The ID of the simulation unit test set to update."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__update_simulation_unit_test_set__Request"}}}},"responses":{"204":{"description":"Succeeded."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"404":{"description":"The specified organization or simulation unit test set was not found"},"409":{"description":"A simulation unit test set with this name already exists."},"422":{"description":"Invalid request path parameter or request body failed validation."},"429":{"description":"The user has exceeded the rate limit of 50 requests per minute for this endpoint."},"503":{"description":"The service is going through temporary maintenance."}}}}}}
```

## Delete a simulation unit test set

> Delete a simulation unit test set.\
> \
> \#### Permissions\
> This endpoint requires the following permissions:\
> \* \`Simulation:DeleteSimulationUnitTestSet\` for the simulation unit test set.

```json
{"openapi":"3.1.0","info":{"title":"Amigo API","version":"0.1.0"},"servers":[{"url":"https://api.amigo.ai"},{"url":"https://internal-api.amigo.ai"},{"url":"https://api-eu-central-1.amigo.ai"},{"url":"https://api-ap-southeast-2.amigo.ai"},{"url":"https://api-ca-central-1.amigo.ai"}],"security":[{"Bearer-Authorization":[],"Bearer-Authorization-Organization":[],"Basic":[]}],"components":{"securitySchemes":{"Bearer-Authorization":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Amigo issued JWT token that identifies an user. It's issued either after logging in through the frontend, or manually through the [`SignInWithAPIKey`](sign-in-with-api-key) endpoint."}}},"paths":{"/v1/{organization}/simulation/unit_test_set/{simulation_unit_test_set_id}":{"delete":{"tags":["Simulation"],"summary":"Delete a simulation unit test set","description":"Delete a simulation unit test set.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Simulation:DeleteSimulationUnitTestSet` for the simulation unit test set.","operationId":"delete-simulation-unit-test-set","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"simulation_unit_test_set_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the simulation unit test set to delete.","title":"Simulation Unit Test Set Id"},"description":"The ID of the simulation unit test set to delete."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"204":{"description":"Succeeded."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"404":{"description":"The specified organization or simulation unit test set was not found"},"422":{"description":"Invalid request path parameter failed validation."},"429":{"description":"The user has exceeded the rate limit of 50 requests per minute for this endpoint."},"503":{"description":"The service is going through temporary maintenance."}}}}}}
```

## Get simulation unit test set runs

> Retrieves simulation unit test set runs.\
> \
> This endpoint may be impacted by the following permissions:\
> \* Only the runs that the authenticated user has the \`Simulation:GetSimulationUnitTestSetRun\` permission for will be returned.\
> \* The \`unit\_test\_run\_specs\` and \`unit\_test\_run\_results\` fields are only populated if the authenticated user has the \`Simulation:GetSimulationUnitTestSet\` permission.\
> \* The fields \`scenario\_version\_info\`, \`persona\_version\_info\`, \`metrics\_to\_evaluate\` in \`unit\_test\_run\_specs\` and the field \`metric\_evaluation\_results\` in \`unit\_test\_run\_results\` are only populated if the authenticated user has the \`Simulation:GetSimulationUnitTest\` permission.

```json
{"openapi":"3.1.0","info":{"title":"Amigo API","version":"0.1.0"},"servers":[{"url":"https://api.amigo.ai"},{"url":"https://internal-api.amigo.ai"},{"url":"https://api-eu-central-1.amigo.ai"},{"url":"https://api-ap-southeast-2.amigo.ai"},{"url":"https://api-ca-central-1.amigo.ai"}],"security":[{"Bearer-Authorization":[],"Bearer-Authorization-Organization":[],"Basic":[]}],"components":{"securitySchemes":{"Bearer-Authorization":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Amigo issued JWT token that identifies an user. It's issued either after logging in through the frontend, or manually through the [`SignInWithAPIKey`](sign-in-with-api-key) endpoint."}},"schemas":{"src__app__endpoints__simulation__get_simulation_unit_test_set_runs__Response":{"properties":{"simulation_unit_test_set_runs":{"items":{"$ref":"#/components/schemas/SimulationUnitTestSetRunInstance"},"type":"array","title":"Simulation Unit Test Set Runs","description":"The retrieved simulation unit test set runs."},"has_more":{"type":"boolean","title":"Has More","description":"Whether there are more simulation unit test set runs to retrieve."},"continuation_token":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Continuation Token","description":"The continuation token to use to retrieve the next page of simulation unit test set runs."},"filter_values":{"anyOf":[{"$ref":"#/components/schemas/src__app__endpoints__simulation__get_simulation_unit_test_set_runs__Response__FilterValues"},{"type":"null"}],"description":"For each filter that this endpoint supports that can take on dynamic values, this field includes what these values are. This is only provided for the first page in the pagination results.\n\nNote that the values are counted assuming the authenticated user has access to all the simulation unit test set runs, so they might differ from how many sets are actually\nretrieved."}},"type":"object","required":["simulation_unit_test_set_runs","has_more","continuation_token","filter_values"],"title":"Response"},"SimulationUnitTestSetRunInstance":{"properties":{"org_id":{"type":"string","title":"Org Id"},"id":{"type":"string","title":"Id"},"is_completed":{"type":"boolean","title":"Is Completed","description":"Whether the simulation unit test set run is completed."},"simulation_unit_test_set_id":{"type":"string","title":"Simulation Unit Test Set Id","description":"The simulation unit test set that this run belongs to."},"failed_metrics":{"type":"boolean","title":"Failed Metrics","description":"Whether the unit test run has failed. If any of the unit test runs have failed, the unit test set run will be marked as failed, even if others might still be ongoing."},"errored":{"type":"boolean","title":"Errored","description":"Whether the unit test set run has encountered an error."},"artifacts_generated":{"type":"boolean","title":"Artifacts Generated","description":"Whether the artifacts for this unit test set run have been generated."},"unit_test_run_specs":{"items":{"$ref":"#/components/schemas/UnitTestRunSpec"},"type":"array","title":"Unit Test Run Specs","description":"The unit test run specs for the unit test set run. This field is only populated if the authenticated user has the `Simulation:GetSimulationUnitTestSet` permission. Otherwise, it is an empty list."},"unit_test_run_results":{"items":{"anyOf":[{"$ref":"#/components/schemas/UnitTestRunResult"},{"type":"null"}]},"type":"array","title":"Unit Test Run Results","description":"The unit test run results for the unit test set run. This field is only populated if the authenticated user has the `Simulation:GetSimulationUnitTestSet` permission. Otherwise, it is an empty list."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The date and time when the unit test set run was created."},"creator":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_unit_test_set_run__SimulationUnitTestSetRun__UserInfo","description":"The user who created the unit test set run."}},"type":"object","required":["org_id","id","is_completed","simulation_unit_test_set_id","failed_metrics","errored","artifacts_generated","unit_test_run_specs","unit_test_run_results","created_at","creator"],"title":"SimulationUnitTestSetRunInstance"},"UnitTestRunSpec":{"properties":{"unit_test_id":{"type":"string","title":"Unit Test Id","description":"ID of the unit test to run."},"run_count":{"type":"integer","title":"Run Count","description":"The number of times to run the unit test."},"service_hierarchical_state_machine_version_info":{"prefixItems":[{"type":"string"},{"type":"integer"}],"type":"array","maxItems":2,"minItems":2,"title":"Service Hierarchical State Machine Version Info","description":"The version of the service hierarchical state machine that the unit test runs on."},"agent_version_info":{"prefixItems":[{"type":"string"},{"type":"integer"}],"type":"array","maxItems":2,"minItems":2,"title":"Agent Version Info","description":"The version of the agent that the unit test runs on."},"scenario_version_info":{"anyOf":[{"prefixItems":[{"type":"string"},{"type":"integer"}],"type":"array","maxItems":2,"minItems":2},{"type":"null"}],"title":"Scenario Version Info","description":"The version of the scenario that the unit test runs on. This field is only populated if the authenticated user has the `Simulation:GetSimulationUnitTest` permission."},"persona_version_info":{"anyOf":[{"prefixItems":[{"type":"string"},{"type":"integer"}],"type":"array","maxItems":2,"minItems":2},{"type":"null"}],"title":"Persona Version Info","description":"The version of the persona that the unit test runs on. This field is only populated if the authenticated user has the `Simulation:GetSimulationUnitTest` permission."},"llm_model_preferences":{"additionalProperties":{"$ref":"#/components/schemas/LLMConfig-Output"},"type":"object","title":"Llm Model Preferences","description":"The LLM model preferences for the unit test run."},"max_interactions":{"type":"integer","title":"Max Interactions","description":"The max number of interactions after which the unit test fails."},"metrics_to_evaluate":{"items":{"$ref":"#/components/schemas/MetricToEvaluate"},"type":"array","title":"Metrics To Evaluate","description":"The metrics to evaluate for the unit test run. This field is only populated if the authenticated user has the `Simulation:GetSimulationUnitTest` permission. Otherwise, it is an empty list."}},"type":"object","required":["unit_test_id","run_count","service_hierarchical_state_machine_version_info","agent_version_info","scenario_version_info","persona_version_info","llm_model_preferences","max_interactions","metrics_to_evaluate"],"title":"UnitTestRunSpec"},"LLMConfig-Output":{"properties":{"llm_name":{"type":"string","title":"Llm Name","description":"The name of the LLM to use."},"params":{"additionalProperties":true,"type":"object","title":"Params","description":"LLM-specific parameters to use.","default":{}}},"type":"object","required":["llm_name"],"title":"LLMConfig"},"MetricToEvaluate":{"properties":{"metric_id":{"type":"string","title":"Metric Id"},"success_criterion_name":{"type":"string","title":"Success Criterion Name","description":"The name of the success criterion."},"success_criterion":{"$ref":"#/components/schemas/SuccessCriterionDescription-Output","description":"The description of the success criterion."}},"type":"object","required":["metric_id","success_criterion_name","success_criterion"],"title":"MetricToEvaluate"},"SuccessCriterionDescription-Output":{"oneOf":[{"$ref":"#/components/schemas/BooleanMetricSuccessCriterion"},{"$ref":"#/components/schemas/NumericalMetricSuccessCriterion"},{"$ref":"#/components/schemas/CategoricalMetricSuccessCriterion-Output"}],"discriminator":{"propertyName":"type","mapping":{"boolean":"#/components/schemas/BooleanMetricSuccessCriterion","categorical":"#/components/schemas/CategoricalMetricSuccessCriterion-Output","numerical":"#/components/schemas/NumericalMetricSuccessCriterion"}}},"BooleanMetricSuccessCriterion":{"properties":{"type":{"type":"string","const":"boolean","title":"Type"},"expected_value":{"type":"boolean","title":"Expected Value"}},"type":"object","required":["type","expected_value"],"title":"BooleanMetricSuccessCriterion"},"NumericalMetricSuccessCriterion":{"properties":{"type":{"type":"string","const":"numerical","title":"Type"},"verb":{"$ref":"#/components/schemas/Verb"},"threshold":{"type":"number","title":"Threshold"}},"type":"object","required":["type","verb","threshold"],"title":"NumericalMetricSuccessCriterion"},"Verb":{"type":"string","enum":["==","!=","<=","<",">=",">"]},"CategoricalMetricSuccessCriterion-Output":{"properties":{"type":{"type":"string","const":"categorical","title":"Type"},"expected_values":{"items":{"type":"string"},"type":"array","title":"Expected Values"}},"type":"object","required":["type","expected_values"],"title":"CategoricalMetricSuccessCriterion"},"UnitTestRunResult":{"properties":{"unit_test_id":{"type":"string","title":"Unit Test Id","description":"ID of the unit test that was run."},"metric_evaluation_results":{"items":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_unit_test_set_run__SimulationUnitTestSetRun__UnitTestRunResult__MetricEvaluationResult"},"type":"array","title":"Metric Evaluation Results","description":"The metric evaluation results for the unit test run. There's as many elements in this list as there are metrics to evaluate for this unit test.\nThis field is only populated if the authenticated user has the `Simulation:GetSimulationUnitTest` permission. Otherwise, it is an empty list."},"run_errors":{"items":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"array","title":"Run Errors","description":"A list of errors that each run of this unit test has encountered. If the ith entry is `None`, it means that the run has not errored."}},"type":"object","required":["unit_test_id","metric_evaluation_results","run_errors"],"title":"UnitTestRunResult"},"amigo_lib__mongo__collections__simulation_unit_test_set_run__SimulationUnitTestSetRun__UnitTestRunResult__MetricEvaluationResult":{"properties":{"metric_id":{"type":"string","title":"Metric Id"},"metric_version":{"type":"integer","title":"Metric Version"},"results":{"items":{"prefixItems":[{"type":"string"},{"type":"boolean"}],"type":"array","maxItems":2,"minItems":2},"type":"array","title":"Results","description":"A list of tuples detailing the result of the evaluation of this metric. The first element of the tuple is the ID of the `MetricEvaluationResult` document, and the second element\nis whether the metric result has passed the evaluation."}},"type":"object","required":["metric_id","metric_version","results"],"title":"MetricEvaluationResult"},"amigo_lib__mongo__collections__simulation_unit_test_set_run__SimulationUnitTestSetRun__UserInfo":{"properties":{"org_id":{"type":"string","title":"Org Id"},"user_id":{"type":"string","title":"User Id"}},"type":"object","required":["org_id","user_id"],"title":"UserInfo"},"src__app__endpoints__simulation__get_simulation_unit_test_set_runs__Response__FilterValues":{"properties":{"creators":{"items":{"$ref":"#/components/schemas/amigo_lib__mongo__collections__simulation_unit_test_set_run__SimulationUnitTestSetRun__UserInfo"},"type":"array","title":"Creators","description":"A set of creator infos that created the simulation unit test set runs under the current filters."},"simulation_unit_test_set_ids":{"items":{"type":"string"},"type":"array","title":"Simulation Unit Test Set Ids","description":"A set of simulation unit test set IDs that the simulation unit test set runs belong to."},"tags":{"items":{"type":"string"},"type":"array","title":"Tags","description":"A set of tag keys that exist in the simulation unit test set runs under the current filters."}},"type":"object","required":["creators","simulation_unit_test_set_ids","tags"],"title":"FilterValues"}}},"paths":{"/v1/{organization}/simulation/unit_test_set_run/":{"get":{"tags":["Simulation"],"summary":"Get simulation unit test set runs","description":"Retrieves simulation unit test set runs.\n\nThis endpoint may be impacted by the following permissions:\n* Only the runs that the authenticated user has the `Simulation:GetSimulationUnitTestSetRun` permission for will be returned.\n* The `unit_test_run_specs` and `unit_test_run_results` fields are only populated if the authenticated user has the `Simulation:GetSimulationUnitTestSet` permission.\n* The fields `scenario_version_info`, `persona_version_info`, `metrics_to_evaluate` in `unit_test_run_specs` and the field `metric_evaluation_results` in `unit_test_run_results` are only populated if the authenticated user has the `Simulation:GetSimulationUnitTest` permission.","operationId":"get-simulation-unit-test-set-runs","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The ID of the simulation unit test set run to retrieve.","default":[],"title":"Id"},"description":"The ID of the simulation unit test set run to retrieve."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":0,"description":"The maximum number of simulation unit test set runs to return.","default":50,"title":"Limit"},"description":"The maximum number of simulation unit test set runs to return."},{"name":"continuation_token","in":"query","required":false,"schema":{"type":"integer","description":"The continuation token from the previous request used to retrieve the next page of simulation unit test set runs.","default":0,"title":"Continuation Token"},"description":"The continuation token from the previous request used to retrieve the next page of simulation unit test set runs."},{"name":"creator","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string"},"description":"The creators of the simulation unit test set runs to retrieve. Each value must be of the format `org_id,user_id`.","default":[],"title":"Creator"},"description":"The creators of the simulation unit test set runs to retrieve. Each value must be of the format `org_id,user_id`."},{"name":"sort_by","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"description":"The fields to sort the sets by. Supported fields are `created_at`.","default":[],"title":"Sort By"},"description":"The fields to sort the sets by. Supported fields are `created_at`."},{"name":"simulation_unit_test_set_id","in":"query","required":false,"schema":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"The IDs of the simulation unit test sets that the simulation unit test set runs belong to.","default":[],"title":"Simulation Unit Test Set Id"},"description":"The IDs of the simulation unit test sets that the simulation unit test set runs belong to."},{"name":"is_completed","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Whether the simulation unit test set run is completed.","title":"Is Completed"},"description":"Whether the simulation unit test set run is completed."},{"name":"failed_metrics","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Whether the simulation unit test set run has failed due to failing metrics. Note that this field could be `True` even if the run is still ongoing -- it simply means some unit test runs have failed.","title":"Failed Metrics"},"description":"Whether the simulation unit test set run has failed due to failing metrics. Note that this field could be `True` even if the run is still ongoing -- it simply means some unit test runs have failed."},{"name":"errored","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Whether the simulation unit test set run has encountered an error.","title":"Errored"},"description":"Whether the simulation unit test set run has encountered an error."},{"name":"created_after","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Filter for simulation unit test set runs created at or after this time (inclusive).","title":"Created After"},"description":"Filter for simulation unit test set runs created at or after this time (inclusive)."},{"name":"created_before","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Filter for simulation unit test set runs created at or before this time (inclusive).","title":"Created Before"},"description":"Filter for simulation unit test set runs created at or before this time (inclusive)."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__get_simulation_unit_test_set_runs__Response"}}}},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"404":{"description":"Specified organization is not found."},"422":{"description":"Invalid request path parameter or request query parameter failed validation."},"429":{"description":"The user has exceeded the rate limit of 50 requests per minute for this endpoint."},"503":{"description":"The service is going through temporary maintenance."}}}}}}
```

## Create a simulation unit test set run

> Create a run for a simulation unit test set. The user must not already have an unfinished run for this simulation unit test set.\
> \
> \#### Permissions\
> This endpoint requires the following permissions:\
> \* \`Simulation:CreateSimulationUnitTestSetRun\` for the test set run.

```json
{"openapi":"3.1.0","info":{"title":"Amigo API","version":"0.1.0"},"servers":[{"url":"https://api.amigo.ai"},{"url":"https://internal-api.amigo.ai"},{"url":"https://api-eu-central-1.amigo.ai"},{"url":"https://api-ap-southeast-2.amigo.ai"},{"url":"https://api-ca-central-1.amigo.ai"}],"security":[{"Bearer-Authorization":[],"Bearer-Authorization-Organization":[],"Basic":[]}],"components":{"securitySchemes":{"Bearer-Authorization":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Amigo issued JWT token that identifies an user. It's issued either after logging in through the frontend, or manually through the [`SignInWithAPIKey`](sign-in-with-api-key) endpoint."}},"schemas":{"src__app__endpoints__simulation__create_simulation_unit_test_set_run__Request":{"properties":{"simulation_unit_test_set_id":{"type":"string","pattern":"^[a-f0-9]{24}$","title":"Simulation Unit Test Set Id","description":"The ID of the simulation unit test set to run."}},"type":"object","required":["simulation_unit_test_set_id"],"title":"Request"},"src__app__endpoints__simulation__create_simulation_unit_test_set_run__Response":{"properties":{"simulation_unit_test_set_run_id":{"type":"string","title":"Simulation Unit Test Set Run Id","description":"The ID of the created simulation unit test set run."}},"type":"object","required":["simulation_unit_test_set_run_id"],"title":"Response"}}},"paths":{"/v1/{organization}/simulation/unit_test_set_run/":{"post":{"tags":["Simulation"],"summary":"Create a simulation unit test set run","description":"Create a run for a simulation unit test set. The user must not already have an unfinished run for this simulation unit test set.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Simulation:CreateSimulationUnitTestSetRun` for the test set run.","operationId":"create-simulation-unit-test-set-run","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__create_simulation_unit_test_set_run__Request"}}}},"responses":{"201":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__create_simulation_unit_test_set_run__Response"}}}},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"404":{"description":"The specified organization or simulation unit test set was not found."},"409":{"description":"The user already has an unfinished run for this simulation unit test set."},"422":{"description":"Invalid request path parameter or request body failed validation."},"429":{"description":"The user has exceeded the rate limit of 20 requests per minute for this endpoint."},"503":{"description":"The service is going through temporary maintenance."}}}}}}
```

## Get simulation unit test set run artifacts

> Get the artifacts of a simulation unit test set run. A link to the raw artifacts in S3 is returned.\
> \
> \#### Permissions\
> This endpoint requires the following permissions:\
> \* \`Simulation:GetSimulationUnitTestSetRun\` for the simulation unit test set run.\
> \* \`Organization:GetServiceHierarchicalStateMachine\` for the state machine that the simulation uses.

```json
{"openapi":"3.1.0","info":{"title":"Amigo API","version":"0.1.0"},"servers":[{"url":"https://api.amigo.ai"},{"url":"https://internal-api.amigo.ai"},{"url":"https://api-eu-central-1.amigo.ai"},{"url":"https://api-ap-southeast-2.amigo.ai"},{"url":"https://api-ca-central-1.amigo.ai"}],"security":[{"Bearer-Authorization":[],"Bearer-Authorization-Organization":[],"Basic":[]}],"components":{"securitySchemes":{"Bearer-Authorization":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Amigo issued JWT token that identifies an user. It's issued either after logging in through the frontend, or manually through the [`SignInWithAPIKey`](sign-in-with-api-key) endpoint."}},"schemas":{"src__app__endpoints__simulation__get_simulation_unit_test_set_run_artifacts__Response":{"properties":{"presigned_url":{"type":"string","title":"Presigned Url","description":"An URL where the artifacts can be downloaded from."},"url_expires_at":{"type":"string","format":"date-time","title":"Url Expires At","description":"The time in UTC when the presigned URL expires."}},"type":"object","required":["presigned_url","url_expires_at"],"title":"Response"}}},"paths":{"/v1/{organization}/simulation/unit_test_set_run/{simulation_unit_test_set_run_id}/artifacts/":{"get":{"tags":["Simulation"],"summary":"Get simulation unit test set run artifacts","description":"Get the artifacts of a simulation unit test set run. A link to the raw artifacts in S3 is returned.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Simulation:GetSimulationUnitTestSetRun` for the simulation unit test set run.\n* `Organization:GetServiceHierarchicalStateMachine` for the state machine that the simulation uses.","operationId":"get-simulation-unit-test-set-run-artifacts","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"simulation_unit_test_set_run_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the simulation unit test set run to retrieve the artifacts of.","title":"Simulation Unit Test Set Run Id"},"description":"The ID of the simulation unit test set run to retrieve the artifacts of."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"200":{"description":"Succeeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/src__app__endpoints__simulation__get_simulation_unit_test_set_run_artifacts__Response"}}}},"400":{"description":"The artifacts for the unit test set run are not yet available for retrieval"},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"404":{"description":"Specified organization or unit test set run is not found."},"422":{"description":"Invalid request path parameter failed validation."},"429":{"description":"The user has exceeded the rate limit of 100 requests per minute for this endpoint."},"503":{"description":"The service is going through temporary maintenance."}}}}}}
```

## Cancel a simulation unit test set run

> Cancel a simulation unit test set run. The run must still be in progress. This cancellation is a best-effort operation, and there's no guarantee that it'll take effect\
> immediately.\
> \
> \#### Permissions\
> This endpoint requires the following permissions:\
> \* \`Simulation:CancelSimulationUnitTestSetRun\` for the authenticated user.

```json
{"openapi":"3.1.0","info":{"title":"Amigo API","version":"0.1.0"},"servers":[{"url":"https://api.amigo.ai"},{"url":"https://internal-api.amigo.ai"},{"url":"https://api-eu-central-1.amigo.ai"},{"url":"https://api-ap-southeast-2.amigo.ai"},{"url":"https://api-ca-central-1.amigo.ai"}],"security":[{"Bearer-Authorization":[],"Bearer-Authorization-Organization":[],"Basic":[]}],"components":{"securitySchemes":{"Bearer-Authorization":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Amigo issued JWT token that identifies an user. It's issued either after logging in through the frontend, or manually through the [`SignInWithAPIKey`](sign-in-with-api-key) endpoint."}}},"paths":{"/v1/{organization}/simulation/unit_test_set_run/{simulation_unit_test_set_run_id}/":{"delete":{"tags":["Simulation"],"summary":"Cancel a simulation unit test set run","description":"Cancel a simulation unit test set run. The run must still be in progress. This cancellation is a best-effort operation, and there's no guarantee that it'll take effect\nimmediately.\n\n#### Permissions\nThis endpoint requires the following permissions:\n* `Simulation:CancelSimulationUnitTestSetRun` for the authenticated user.","operationId":"cancel-simulation-unit-test-set-run","parameters":[{"name":"organization","in":"path","required":true,"schema":{"type":"string","title":"Organization"}},{"name":"simulation_unit_test_set_run_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$","description":"The ID of the simulation unit test set run to cancel.","title":"Simulation Unit Test Set Run Id"},"description":"The ID of the simulation unit test set run to cancel."},{"name":"x-mongo-cluster-name","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database.","title":"X-Mongo-Cluster-Name"},"description":"The Mongo cluster name to perform this request in. This is usually not needed unless the organization does not exist yet in the Amigo organization infra config database."},{"name":"Sec-WebSocket-Protocol","in":"header","required":false,"schema":{"type":"array","items":{"type":"string"},"default":[],"title":"Sec-Websocket-Protocol"}}],"responses":{"204":{"description":"Succeeded."},"401":{"description":"Invalid authorization credentials."},"403":{"description":"Missing required permissions."},"404":{"description":"The specified organization or simulation unit test set run was not found."},"409":{"description":"The simulation unit test set run is not in progress."},"422":{"description":"Invalid request path parameter failed validation."},"429":{"description":"The user has exceeded the rate limit of 10 requests per minute for this endpoint."},"503":{"description":"The service is going through temporary maintenance."}}}}}}
```
