[{"data":1,"prerenderedAt":1558},["ShallowReactive",2],{"navigation_docs":3,"-docs-operator-api-simulator":352,"-docs-operator-api-simulator-surround":1553},[4,22,35,60,81,137,223,254,282,306,327],{"title":5,"path":6,"stem":7,"children":8,"page":21},"Getting Started","\u002Fdocs\u002Fgetting-started","docs\u002F1.getting-started",[9,13,17],{"title":10,"path":11,"stem":12},"Overview","\u002Fdocs\u002Fgetting-started\u002Foverview","docs\u002F1.getting-started\u002F1.overview",{"title":14,"path":15,"stem":16},"Integration checklist","\u002Fdocs\u002Fgetting-started\u002Fintegration-checklist","docs\u002F1.getting-started\u002F2.integration-checklist",{"title":18,"path":19,"stem":20},"Environments and base URLs","\u002Fdocs\u002Fgetting-started\u002Fenvironments-and-base-urls","docs\u002F1.getting-started\u002F3.environments-and-base-urls",false,{"title":23,"path":24,"stem":25,"children":26,"page":21},"Troubleshooting","\u002Fdocs\u002Ftroubleshooting","docs\u002F10.troubleshooting",[27,31],{"title":28,"path":29,"stem":30},"Common errors","\u002Fdocs\u002Ftroubleshooting\u002Fcommon-errors","docs\u002F10.troubleshooting\u002F1.common-errors",{"title":32,"path":33,"stem":34},"Support escalation","\u002Fdocs\u002Ftroubleshooting\u002Fsupport-escalation","docs\u002F10.troubleshooting\u002F2.support-escalation",{"title":36,"path":37,"stem":38,"children":39,"page":21},"Polyflight","\u002Fdocs\u002Fpolyflight","docs\u002F11.polyflight",[40,44,48,52,56],{"title":41,"path":42,"stem":43},"Polyflight overview and launch","\u002Fdocs\u002Fpolyflight\u002Foverview-and-launch","docs\u002F11.polyflight\u002F1.overview-and-launch",{"title":45,"path":46,"stem":47},"Native wallet contract","\u002Fdocs\u002Fpolyflight\u002Fnative-wallet-contract","docs\u002F11.polyflight\u002F2.native-wallet-contract",{"title":49,"path":50,"stem":51},"API, events, and proof","\u002Fdocs\u002Fpolyflight\u002Fapi-events-and-proof","docs\u002F11.polyflight\u002F3.api-events-and-proof",{"title":53,"path":54,"stem":55},"Terms, statements, and settlement","\u002Fdocs\u002Fpolyflight\u002Fterms-statements-and-settlement","docs\u002F11.polyflight\u002F4.terms-statements-and-settlement",{"title":57,"path":58,"stem":59},"Operations, reconciliation, and rollback","\u002Fdocs\u002Fpolyflight\u002Foperations-reconciliation-and-rollback","docs\u002F11.polyflight\u002F5.operations-reconciliation-and-rollback",{"title":61,"path":62,"stem":63,"children":64,"page":21},"Integration Flow","\u002Fdocs\u002Fintegration-flow","docs\u002F2.integration-flow",[65,69,73,77],{"title":66,"path":67,"stem":68},"Architecture","\u002Fdocs\u002Fintegration-flow\u002Farchitecture","docs\u002F2.integration-flow\u002F1.architecture",{"title":70,"path":71,"stem":72},"Launch session model","\u002Fdocs\u002Fintegration-flow\u002Flaunch-session-model","docs\u002F2.integration-flow\u002F2.launch-session-model",{"title":74,"path":75,"stem":76},"Order and wallet saga","\u002Fdocs\u002Fintegration-flow\u002Forder-and-wallet-saga","docs\u002F2.integration-flow\u002F3.order-and-wallet-saga",{"title":78,"path":79,"stem":80},"FX fees and rounding","\u002Fdocs\u002Fintegration-flow\u002Ffx-fees-and-rounding","docs\u002F2.integration-flow\u002F4.fx-fees-and-rounding",{"title":82,"path":83,"stem":84,"children":85,"page":21},"Dashboard","\u002Fdocs\u002Fdashboard","docs\u002F3.dashboard",[86,89,93,97,101,105,109,113,117,121,125,129,133],{"title":10,"path":87,"stem":88},"\u002Fdocs\u002Fdashboard\u002Foverview","docs\u002F3.dashboard\u002F1.overview",{"title":90,"path":91,"stem":92},"Webhook Deliveries","\u002Fdocs\u002Fdashboard\u002Fwebhook-deliveries","docs\u002F3.dashboard\u002F10.webhook-deliveries",{"title":94,"path":95,"stem":96},"Staffs","\u002Fdocs\u002Fdashboard\u002Fstaffs","docs\u002F3.dashboard\u002F11.staffs",{"title":98,"path":99,"stem":100},"Simulator","\u002Fdocs\u002Fdashboard\u002Fsimulator","docs\u002F3.dashboard\u002F12.simulator",{"title":102,"path":103,"stem":104},"API Playground","\u002Fdocs\u002Fdashboard\u002Fapi-playground","docs\u002F3.dashboard\u002F13.api-playground",{"title":106,"path":107,"stem":108},"API keys","\u002Fdocs\u002Fdashboard\u002Fapi-keys","docs\u002F3.dashboard\u002F2.api-keys",{"title":110,"path":111,"stem":112},"Wallet adapter settings","\u002Fdocs\u002Fdashboard\u002Fwallet-adapter-settings","docs\u002F3.dashboard\u002F3.wallet-adapter-settings",{"title":114,"path":115,"stem":116},"Webhook endpoints","\u002Fdocs\u002Fdashboard\u002Fwebhook-endpoints","docs\u002F3.dashboard\u002F4.webhook-endpoints",{"title":118,"path":119,"stem":120},"Markets and visibility","\u002Fdocs\u002Fdashboard\u002Fmarket-visibility","docs\u002F3.dashboard\u002F5.market-visibility",{"title":122,"path":123,"stem":124},"Users","\u002Fdocs\u002Fdashboard\u002Fusers","docs\u002F3.dashboard\u002F6.users",{"title":126,"path":127,"stem":128},"Trades","\u002Fdocs\u002Fdashboard\u002Ftrades","docs\u002F3.dashboard\u002F7.trades",{"title":130,"path":131,"stem":132},"Resolutions","\u002Fdocs\u002Fdashboard\u002Fresolutions","docs\u002F3.dashboard\u002F8.resolutions",{"title":134,"path":135,"stem":136},"Balance Operations","\u002Fdocs\u002Fdashboard\u002Fbalance-operations","docs\u002F3.dashboard\u002F9.balance-operations",{"title":138,"path":139,"stem":140,"children":141,"page":21},"Operator Api","\u002Fdocs\u002Foperator-api","docs\u002F4.operator-api",[142,146,149,153,156,160,163,167,171,175,179,183,186,190,194,198,202,206,209,213,216,219],{"title":143,"path":144,"stem":145},"Authentication","\u002Fdocs\u002Foperator-api\u002Fauthentication","docs\u002F4.operator-api\u002F1.authentication",{"title":114,"path":147,"stem":148},"\u002Fdocs\u002Foperator-api\u002Fwebhook-endpoints","docs\u002F4.operator-api\u002F10.webhook-endpoints",{"title":150,"path":151,"stem":152},"Webhook deliveries","\u002Fdocs\u002Foperator-api\u002Fwebhook-deliveries","docs\u002F4.operator-api\u002F11.webhook-deliveries",{"title":98,"path":154,"stem":155},"\u002Fdocs\u002Foperator-api\u002Fsimulator","docs\u002F4.operator-api\u002F12.simulator",{"title":157,"path":158,"stem":159},"Wallet adapter","\u002Fdocs\u002Foperator-api\u002Fwallet-adapter","docs\u002F4.operator-api\u002F13.wallet-adapter",{"title":94,"path":161,"stem":162},"\u002Fdocs\u002Foperator-api\u002Fstaffs","docs\u002F4.operator-api\u002F14.staffs",{"title":164,"path":165,"stem":166},"Error codes","\u002Fdocs\u002Foperator-api\u002Ferror-codes","docs\u002F4.operator-api\u002F15.error-codes",{"title":168,"path":169,"stem":170},"Redemptions","\u002Fdocs\u002Foperator-api\u002Fredemptions","docs\u002F4.operator-api\u002F16.redemptions",{"title":172,"path":173,"stem":174},"Polyflight overview","\u002Fdocs\u002Foperator-api\u002Fpolyflight","docs\u002F4.operator-api\u002F17.polyflight",{"title":176,"path":177,"stem":178},"Polyflight flights","\u002Fdocs\u002Foperator-api\u002Fpolyflight-flights","docs\u002F4.operator-api\u002F18.polyflight-flights",{"title":180,"path":181,"stem":182},"Polyflight tickets","\u002Fdocs\u002Foperator-api\u002Fpolyflight-tickets","docs\u002F4.operator-api\u002F19.polyflight-tickets",{"title":106,"path":184,"stem":185},"\u002Fdocs\u002Foperator-api\u002Fapi-keys","docs\u002F4.operator-api\u002F2.api-keys",{"title":187,"path":188,"stem":189},"Polyflight balance operations","\u002Fdocs\u002Foperator-api\u002Fpolyflight-balance-operations","docs\u002F4.operator-api\u002F20.polyflight-balance-operations",{"title":191,"path":192,"stem":193},"Polyflight terms","\u002Fdocs\u002Foperator-api\u002Fpolyflight-terms","docs\u002F4.operator-api\u002F21.polyflight-terms",{"title":195,"path":196,"stem":197},"Polyflight settlement reports","\u002Fdocs\u002Foperator-api\u002Fpolyflight-settlement-reports","docs\u002F4.operator-api\u002F22.polyflight-settlement-reports",{"title":199,"path":200,"stem":201},"Session","\u002Fdocs\u002Foperator-api\u002Fsession","docs\u002F4.operator-api\u002F3.session",{"title":203,"path":204,"stem":205},"Launch","\u002Fdocs\u002Foperator-api\u002Flaunch","docs\u002F4.operator-api\u002F4.launch",{"title":122,"path":207,"stem":208},"\u002Fdocs\u002Foperator-api\u002Fusers","docs\u002F4.operator-api\u002F5.users",{"title":210,"path":211,"stem":212},"Markets","\u002Fdocs\u002Foperator-api\u002Fmarkets","docs\u002F4.operator-api\u002F6.markets",{"title":126,"path":214,"stem":215},"\u002Fdocs\u002Foperator-api\u002Ftrades","docs\u002F4.operator-api\u002F7.trades",{"title":130,"path":217,"stem":218},"\u002Fdocs\u002Foperator-api\u002Fresolutions","docs\u002F4.operator-api\u002F8.resolutions",{"title":220,"path":221,"stem":222},"Balance operations","\u002Fdocs\u002Foperator-api\u002Fbalance-operations","docs\u002F4.operator-api\u002F9.balance-operations",{"title":224,"path":225,"stem":226,"children":227,"page":21},"Wallet Adapter","\u002Fdocs\u002Fwallet-adapter","docs\u002F5.wallet-adapter",[228,231,234,238,242,246,250],{"title":10,"path":229,"stem":230},"\u002Fdocs\u002Fwallet-adapter\u002Foverview","docs\u002F5.wallet-adapter\u002F1.overview",{"title":143,"path":232,"stem":233},"\u002Fdocs\u002Fwallet-adapter\u002Fauthentication","docs\u002F5.wallet-adapter\u002F2.authentication",{"title":235,"path":236,"stem":237},"Balance","\u002Fdocs\u002Fwallet-adapter\u002Fbalance","docs\u002F5.wallet-adapter\u002F3.balance",{"title":239,"path":240,"stem":241},"Debit","\u002Fdocs\u002Fwallet-adapter\u002Fdebit","docs\u002F5.wallet-adapter\u002F4.debit",{"title":243,"path":244,"stem":245},"Credit","\u002Fdocs\u002Fwallet-adapter\u002Fcredit","docs\u002F5.wallet-adapter\u002F5.credit",{"title":247,"path":248,"stem":249},"Debit reversal","\u002Fdocs\u002Fwallet-adapter\u002Fdebit-reversal","docs\u002F5.wallet-adapter\u002F6.debit-reversal",{"title":251,"path":252,"stem":253},"Idempotency","\u002Fdocs\u002Fwallet-adapter\u002Fidempotency","docs\u002F5.wallet-adapter\u002F7.idempotency",{"title":255,"path":256,"stem":257,"children":258,"page":21},"Webhooks","\u002Fdocs\u002Fwebhooks","docs\u002F6.webhooks",[259,262,266,270,274,278],{"title":10,"path":260,"stem":261},"\u002Fdocs\u002Fwebhooks\u002Foverview","docs\u002F6.webhooks\u002F1.overview",{"title":263,"path":264,"stem":265},"Signatures","\u002Fdocs\u002Fwebhooks\u002Fsignatures","docs\u002F6.webhooks\u002F2.signatures",{"title":267,"path":268,"stem":269},"Event envelope","\u002Fdocs\u002Fwebhooks\u002Fevent-envelope","docs\u002F6.webhooks\u002F3.event-envelope",{"title":271,"path":272,"stem":273},"Event types","\u002Fdocs\u002Fwebhooks\u002Fevent-types","docs\u002F6.webhooks\u002F4.event-types",{"title":275,"path":276,"stem":277},"Retry and replay","\u002Fdocs\u002Fwebhooks\u002Fretry-and-replay","docs\u002F6.webhooks\u002F5.retry-and-replay",{"title":279,"path":280,"stem":281},"Receiver examples","\u002Fdocs\u002Fwebhooks\u002Freceiver-examples","docs\u002F6.webhooks\u002F6.receiver-examples",{"title":283,"path":284,"stem":285,"children":286,"page":21},"Testing And Staging","\u002Fdocs\u002Ftesting-and-staging","docs\u002F7.testing-and-staging",[287,291,294,298,302],{"title":288,"path":289,"stem":290},"Staging overview","\u002Fdocs\u002Ftesting-and-staging\u002Fstaging-overview","docs\u002F7.testing-and-staging\u002F1.staging-overview",{"title":98,"path":292,"stem":293},"\u002Fdocs\u002Ftesting-and-staging\u002Fsimulator","docs\u002F7.testing-and-staging\u002F2.simulator",{"title":295,"path":296,"stem":297},"Wallet failure drills","\u002Fdocs\u002Ftesting-and-staging\u002Fwallet-failure-drills","docs\u002F7.testing-and-staging\u002F3.wallet-failure-drills",{"title":299,"path":300,"stem":301},"Webhook drills","\u002Fdocs\u002Ftesting-and-staging\u002Fwebhook-drills","docs\u002F7.testing-and-staging\u002F4.webhook-drills",{"title":303,"path":304,"stem":305},"Production cutover rehearsal","\u002Fdocs\u002Ftesting-and-staging\u002Fproduction-cutover-rehearsal","docs\u002F7.testing-and-staging\u002F5.production-cutover-rehearsal",{"title":307,"path":308,"stem":309,"children":310,"page":21},"Production Readiness","\u002Fdocs\u002Fproduction-readiness","docs\u002F8.production-readiness",[311,315,319,323],{"title":312,"path":313,"stem":314},"Checklist","\u002Fdocs\u002Fproduction-readiness\u002Fchecklist","docs\u002F8.production-readiness\u002F1.checklist",{"title":316,"path":317,"stem":318},"Operational runbook","\u002Fdocs\u002Fproduction-readiness\u002Foperational-runbook","docs\u002F8.production-readiness\u002F2.operational-runbook",{"title":320,"path":321,"stem":322},"Security","\u002Fdocs\u002Fproduction-readiness\u002Fsecurity","docs\u002F8.production-readiness\u002F3.security",{"title":324,"path":325,"stem":326},"Rollback","\u002Fdocs\u002Fproduction-readiness\u002Frollback","docs\u002F8.production-readiness\u002F4.rollback",{"title":328,"path":329,"stem":330,"children":331,"page":21},"Reference","\u002Fdocs\u002Freference","docs\u002F9.reference",[332,336,340,344,348],{"title":333,"path":334,"stem":335},"Statuses","\u002Fdocs\u002Freference\u002Fstatuses","docs\u002F9.reference\u002F1.statuses",{"title":337,"path":338,"stem":339},"Scopes","\u002Fdocs\u002Freference\u002Fscopes","docs\u002F9.reference\u002F2.scopes",{"title":341,"path":342,"stem":343},"Units and money","\u002Fdocs\u002Freference\u002Funits-and-money","docs\u002F9.reference\u002F3.units-and-money",{"title":345,"path":346,"stem":347},"Changelog","\u002Fdocs\u002Freference\u002Fchangelog","docs\u002F9.reference\u002F4.changelog",{"title":349,"path":350,"stem":351},"Virtual AMM","\u002Fdocs\u002Freference\u002Fvirtual-amm","docs\u002F9.reference\u002F5.virtual-amm",{"id":353,"title":98,"body":354,"description":1546,"extension":1547,"links":1548,"meta":1549,"navigation":1550,"path":154,"seo":1551,"stem":155,"__hash__":1552},"docs\u002Fdocs\u002F4.operator-api\u002F12.simulator.md",{"type":355,"value":356,"toc":1534},"minimark",[357,361,365,370,399,403,445,448,462,466,637,641,788,909,925,929,945,1040,1048,1052,1058,1144,1221,1244,1248,1253,1313,1332,1336,1342,1475,1479,1500,1504,1530],[358,359,98],"h1",{"id":360},"simulator",[362,363,364],"p",{},"Simulator endpoints are staging-only helpers for onboarding and demo flows.",[366,367,369],"h2",{"id":368},"availability","Availability",[371,372,373,377,380,392],"ul",{},[374,375,376],"li",{},"onboarding and staging only",[374,378,379],{},"not production integration path",[374,381,382,383,387,388,391],{},"regular staging integration should still use the operator's real ",[384,385,386],"code",{},"balance_adapter_type"," (typically ",[384,389,390],{},"rest_v1",")",[374,393,394,395,398],{},"simulator endpoints operate on simulator-only operator users (",[384,396,397],{},"metadata.simulator = true",") and must not affect the operator's real integration mode",[366,400,402],{"id":401},"paths","Paths",[371,404,405,410,415,420,425,430,435,440],{},[374,406,407],{},[384,408,409],{},"GET \u002Fapi\u002Foperator\u002Fsimulator\u002Fusers",[374,411,412],{},[384,413,414],{},"POST \u002Fapi\u002Foperator\u002Fsimulator\u002Fusers",[374,416,417],{},[384,418,419],{},"GET \u002Fapi\u002Foperator\u002Fsimulator\u002Fusers\u002F{id}",[374,421,422],{},[384,423,424],{},"PATCH \u002Fapi\u002Foperator\u002Fsimulator\u002Fusers\u002F{id}",[374,426,427],{},[384,428,429],{},"POST \u002Fapi\u002Foperator\u002Fsimulator\u002Fusers\u002F{id}\u002Foperations",[374,431,432],{},[384,433,434],{},"POST \u002Fapi\u002Foperator\u002Fsimulator\u002Foperations",[374,436,437],{},[384,438,439],{},"GET \u002Fapi\u002Foperator\u002Fsimulator\u002Fwallets\u002F{externalUserId}",[374,441,442],{},[384,443,444],{},"PUT \u002Fapi\u002Foperator\u002Fsimulator\u002Fwallets\u002F{externalUserId}",[362,446,447],{},"Required scopes:",[371,449,450,456],{},[374,451,452,455],{},[384,453,454],{},"simulator:read"," for list, detail, and wallet reads",[374,457,458,461],{},[384,459,460],{},"simulator:write"," for create\u002Fupdate\u002Fwallet\u002Foperation mutation",[366,463,465],{"id":464},"path-and-query-parameters","Path and query parameters",[467,468,469,488],"table",{},[470,471,472],"thead",{},[473,474,475,479,482,485],"tr",{},[476,477,478],"th",{},"Endpoint",[476,480,481],{},"Parameter",[476,483,484],{},"Requirement",[476,486,487],{},"Notes",[489,490,491,521,537,562,595,618],"tbody",{},[473,492,493,499,504,507],{},[494,495,496],"td",{},[384,497,498],{},"GET \u002Fsimulator\u002Fusers",[494,500,501],{},[384,502,503],{},"status",[494,505,506],{},"Optional",[494,508,509,512,513,516,517,520],{},[384,510,511],{},"active",", ",[384,514,515],{},"suspended",", or ",[384,518,519],{},"disabled",".",[473,522,523,527,532,534],{},[494,524,525],{},[384,526,498],{},[494,528,529],{},[384,530,531],{},"search",[494,533,506],{},[494,535,536],{},"Matches external user ID, display name, or email.",[473,538,539,543,548,550],{},[494,540,541],{},[384,542,498],{},[494,544,545],{},[384,546,547],{},"sort",[494,549,506],{},[494,551,552,555,556,516,559,520],{},[384,553,554],{},"updated_at_desc"," (default), ",[384,557,558],{},"created_at_desc",[384,560,561],{},"external_user_id_asc",[473,563,564,568,576,578],{},[494,565,566],{},[384,567,498],{},[494,569,570,512,573],{},[384,571,572],{},"page",[384,574,575],{},"page_size",[494,577,506],{},[494,579,580,581,584,585,588,589,591,592,520],{},"Defaults ",[384,582,583],{},"1"," and ",[384,586,587],{},"25","; ",[384,590,575],{}," maximum ",[384,593,594],{},"100",[473,596,597,603,609,615],{},[494,598,599,602],{},[384,600,601],{},"\u002Fsimulator\u002Fusers\u002F{id}"," routes",[494,604,605,608],{},[384,606,607],{},"id"," path parameter",[494,610,611],{},[612,613,614],"strong",{},"Required",[494,616,617],{},"Positive simulator operator-user ID.",[473,619,620,625,630,634],{},[494,621,622,602],{},[384,623,624],{},"\u002Fsimulator\u002Fwallets\u002F{externalUserId}",[494,626,627,608],{},[384,628,629],{},"externalUserId",[494,631,632],{},[612,633,614],{},[494,635,636],{},"URL-encoded external user ID.",[366,638,640],{"id":639},"simulator-user-create-body","Simulator user create body",[642,643,648],"pre",{"className":644,"code":645,"language":646,"meta":647,"style":647},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"external_user_id\": \"operator-user-123\",\n  \"display_name\": \"Demo User\",\n  \"email\": \"demo@example.com\",\n  \"locale\": \"id\",\n  \"balance_minor\": 500000,\n  \"metadata\": {}\n}\n","json","",[384,649,650,659,687,708,729,749,767,782],{"__ignoreMap":647},[651,652,655],"span",{"class":653,"line":654},"line",1,[651,656,658],{"class":657},"sMK4o","{\n",[651,660,662,665,669,672,675,678,682,684],{"class":653,"line":661},2,[651,663,664],{"class":657},"  \"",[651,666,668],{"class":667},"spNyl","external_user_id",[651,670,671],{"class":657},"\"",[651,673,674],{"class":657},":",[651,676,677],{"class":657}," \"",[651,679,681],{"class":680},"sfazB","operator-user-123",[651,683,671],{"class":657},[651,685,686],{"class":657},",\n",[651,688,690,692,695,697,699,701,704,706],{"class":653,"line":689},3,[651,691,664],{"class":657},[651,693,694],{"class":667},"display_name",[651,696,671],{"class":657},[651,698,674],{"class":657},[651,700,677],{"class":657},[651,702,703],{"class":680},"Demo User",[651,705,671],{"class":657},[651,707,686],{"class":657},[651,709,711,713,716,718,720,722,725,727],{"class":653,"line":710},4,[651,712,664],{"class":657},[651,714,715],{"class":667},"email",[651,717,671],{"class":657},[651,719,674],{"class":657},[651,721,677],{"class":657},[651,723,724],{"class":680},"demo@example.com",[651,726,671],{"class":657},[651,728,686],{"class":657},[651,730,732,734,737,739,741,743,745,747],{"class":653,"line":731},5,[651,733,664],{"class":657},[651,735,736],{"class":667},"locale",[651,738,671],{"class":657},[651,740,674],{"class":657},[651,742,677],{"class":657},[651,744,607],{"class":680},[651,746,671],{"class":657},[651,748,686],{"class":657},[651,750,752,754,757,759,761,765],{"class":653,"line":751},6,[651,753,664],{"class":657},[651,755,756],{"class":667},"balance_minor",[651,758,671],{"class":657},[651,760,674],{"class":657},[651,762,764],{"class":763},"sbssI"," 500000",[651,766,686],{"class":657},[651,768,770,772,775,777,779],{"class":653,"line":769},7,[651,771,664],{"class":657},[651,773,774],{"class":667},"metadata",[651,776,671],{"class":657},[651,778,674],{"class":657},[651,780,781],{"class":657}," {}\n",[651,783,785],{"class":653,"line":784},8,[651,786,787],{"class":657},"}\n",[467,789,790,805],{},[470,791,792],{},[473,793,794,797,800,802],{},[476,795,796],{},"Field",[476,798,799],{},"Type",[476,801,484],{},[476,803,804],{},"Values\u002Fdefault",[489,806,807,823,843,859,872,888],{},[473,808,809,813,816,820],{},[494,810,811],{},[384,812,668],{},[494,814,815],{},"string",[494,817,818],{},[612,819,614],{},[494,821,822],{},"Non-empty operator-side user ID.",[473,824,825,829,832,836],{},[494,826,827],{},[384,828,756],{},[494,830,831],{},"non-negative integer",[494,833,834],{},[612,835,614],{},[494,837,838,839,842],{},"Initial wallet balance in operator currency minor units; ",[384,840,841],{},"0"," is valid.",[473,844,845,849,851,853],{},[494,846,847],{},[384,848,694],{},[494,850,815],{},[494,852,506],{},[494,854,855,856,520],{},"Defaults to ",[384,857,858],{},"null",[473,860,861,865,867,869],{},[494,862,863],{},[384,864,715],{},[494,866,815],{},[494,868,506],{},[494,870,871],{},"Stored in simulator metadata; no email-format validation is applied by this endpoint.",[473,873,874,878,880,882],{},[494,875,876],{},[384,877,736],{},[494,879,815],{},[494,881,506],{},[494,883,884,885,520],{},"Defaults to the operator default locale, then ",[384,886,887],{},"en",[473,889,890,894,897,899],{},[494,891,892],{},[384,893,774],{},[494,895,896],{},"object",[494,898,506],{},[494,900,855,901,904,905,908],{},[384,902,903],{},"{}",". The API always forces ",[384,906,907],{},"simulator: true"," and the selected locale.",[362,910,911,912,914,915,918,919,922,923,520],{},"The dedicated simulator-user API adds and preserves ",[384,913,397],{}," and stores simulator wallet balance in operator currency. ",[384,916,917],{},"POST \u002Fapi\u002Foperator\u002Flaunch"," ignores caller-supplied ",[384,920,921],{},"metadata.simulator",", so launch cannot turn a normal user into a simulator user or route a normal user away from ",[384,924,390],{},[366,926,928],{"id":927},"simulator-user-update-body","Simulator user update body",[362,930,931,933,934,512,936,512,938,512,940,942,943,520],{},[384,932,424],{}," accepts ",[384,935,694],{},[384,937,715],{},[384,939,503],{},[384,941,736],{},", and ",[384,944,774],{},[467,946,947,959],{},[470,948,949],{},[473,950,951,953,955,957],{},[476,952,796],{},[476,954,799],{},[476,956,484],{},[476,958,487],{},[489,960,961,977,992,1011,1024],{},[473,962,963,967,969,971],{},[494,964,965],{},[384,966,694],{},[494,968,815],{},[494,970,506],{},[494,972,973,976],{},[612,974,975],{},"Current behavior:"," omission or an empty value clears the display name.",[473,978,979,983,985,987],{},[494,980,981],{},[384,982,715],{},[494,984,815],{},[494,986,506],{},[494,988,989,991],{},[612,990,975],{}," omission or an empty value clears the stored email.",[473,993,994,998,1000,1002],{},[494,995,996],{},[384,997,503],{},[494,999,815],{},[494,1001,506],{},[494,1003,1004,512,1006,516,1008,1010],{},[384,1005,511],{},[384,1007,515],{},[384,1009,519],{},"; omission keeps the current status.",[473,1012,1013,1017,1019,1021],{},[494,1014,1015],{},[384,1016,736],{},[494,1018,815],{},[494,1020,506],{},[494,1022,1023],{},"Omission keeps the current\u002Foperator default locale.",[473,1025,1026,1030,1032,1034],{},[494,1027,1028],{},[384,1029,774],{},[494,1031,896],{},[494,1033,506],{},[494,1035,1036,1037,1039],{},"Omission preserves current metadata. ",[384,1038,907],{}," and locale are forced.",[362,1041,1042,1043,584,1045,1047],{},"The patch endpoint does not require at least one field. Because omitted ",[384,1044,694],{},[384,1046,715],{}," currently clear those values, send both explicitly when they must be preserved.",[366,1049,1051],{"id":1050},"operation-create-body","Operation create body",[362,1053,1054,1055,1057],{},"For ",[384,1056,434],{},", all four fields below are required:",[642,1059,1061],{"className":644,"code":1060,"language":646,"meta":647,"style":647},"{\n  \"external_user_id\": \"operator-user-123\",\n  \"direction\": \"debit\",\n  \"amount_minor\": 10000,\n  \"idempotency_key\": \"demo-op-123\"\n}\n",[384,1062,1063,1067,1085,1105,1121,1140],{"__ignoreMap":647},[651,1064,1065],{"class":653,"line":654},[651,1066,658],{"class":657},[651,1068,1069,1071,1073,1075,1077,1079,1081,1083],{"class":653,"line":661},[651,1070,664],{"class":657},[651,1072,668],{"class":667},[651,1074,671],{"class":657},[651,1076,674],{"class":657},[651,1078,677],{"class":657},[651,1080,681],{"class":680},[651,1082,671],{"class":657},[651,1084,686],{"class":657},[651,1086,1087,1089,1092,1094,1096,1098,1101,1103],{"class":653,"line":689},[651,1088,664],{"class":657},[651,1090,1091],{"class":667},"direction",[651,1093,671],{"class":657},[651,1095,674],{"class":657},[651,1097,677],{"class":657},[651,1099,1100],{"class":680},"debit",[651,1102,671],{"class":657},[651,1104,686],{"class":657},[651,1106,1107,1109,1112,1114,1116,1119],{"class":653,"line":710},[651,1108,664],{"class":657},[651,1110,1111],{"class":667},"amount_minor",[651,1113,671],{"class":657},[651,1115,674],{"class":657},[651,1117,1118],{"class":763}," 10000",[651,1120,686],{"class":657},[651,1122,1123,1125,1128,1130,1132,1134,1137],{"class":653,"line":731},[651,1124,664],{"class":657},[651,1126,1127],{"class":667},"idempotency_key",[651,1129,671],{"class":657},[651,1131,674],{"class":657},[651,1133,677],{"class":657},[651,1135,1136],{"class":680},"demo-op-123",[651,1138,1139],{"class":657},"\"\n",[651,1141,1142],{"class":653,"line":751},[651,1143,787],{"class":657},[467,1145,1146,1158],{},[470,1147,1148],{},[473,1149,1150,1152,1154,1156],{},[476,1151,796],{},[476,1153,799],{},[476,1155,484],{},[476,1157,487],{},[489,1159,1160,1175,1190,1206],{},[473,1161,1162,1166,1168,1172],{},[494,1163,1164],{},[384,1165,668],{},[494,1167,815],{},[494,1169,1170],{},[612,1171,614],{},[494,1173,1174],{},"Must identify a simulator-tagged user.",[473,1176,1177,1181,1183,1187],{},[494,1178,1179],{},[384,1180,1091],{},[494,1182,815],{},[494,1184,1185],{},[612,1186,614],{},[494,1188,1189],{},"One of the allowed directions below.",[473,1191,1192,1196,1199,1203],{},[494,1193,1194],{},[384,1195,1111],{},[494,1197,1198],{},"positive integer",[494,1200,1201],{},[612,1202,614],{},[494,1204,1205],{},"Operator currency minor units.",[473,1207,1208,1212,1214,1218],{},[494,1209,1210],{},[384,1211,1127],{},[494,1213,815],{},[494,1215,1216],{},[612,1217,614],{},[494,1219,1220],{},"Non-empty and unique for the intended operation.",[362,1222,1054,1223,512,1225,584,1227,1229,1230,1233,1234,1236,1237,1240,1241,1243],{},[384,1224,429],{},[384,1226,1091],{},[384,1228,1111],{}," are ",[612,1231,1232],{},"required",". ",[384,1235,1127],{}," is optional; when omitted, the API generates one. The user is selected by the required ",[384,1238,1239],{},"{id}"," path parameter, so ",[384,1242,668],{}," is not sent in that body.",[366,1245,1247],{"id":1246},"simulator-wallet-body","Simulator wallet body",[362,1249,1250,1252],{},[384,1251,444],{}," creates or updates a simulator user and wallet.",[467,1254,1255,1267],{},[470,1256,1257],{},[473,1258,1259,1261,1263,1265],{},[476,1260,796],{},[476,1262,799],{},[476,1264,484],{},[476,1266,804],{},[489,1268,1269,1286,1299],{},[473,1270,1271,1275,1277,1281],{},[494,1272,1273],{},[384,1274,756],{},[494,1276,831],{},[494,1278,1279],{},[612,1280,614],{},[494,1282,1283,1284,842],{},"Replaces the wallet balance; ",[384,1285,841],{},[473,1287,1288,1292,1294,1296],{},[494,1289,1290],{},[384,1291,694],{},[494,1293,815],{},[494,1295,506],{},[494,1297,1298],{},"Display-name snapshot for an upserted user.",[473,1300,1301,1306,1308,1310],{},[494,1302,1303],{},[384,1304,1305],{},"currency_code",[494,1307,815],{},[494,1309,506],{},[494,1311,1312],{},"Defaults to the operator currency.",[362,1314,1315,1317,1318,1321,1322,584,1325,1328,1329,520],{},[384,1316,439],{}," has no query parameters or body. A missing simulator user\u002Fwallet returns ",[384,1319,1320],{},"200"," with ",[384,1323,1324],{},"exists: false",[384,1326,1327],{},"balance_minor: 0","; it is not a ",[384,1330,1331],{},"404",[366,1333,1335],{"id":1334},"operation-responses","Operation responses",[362,1337,1338,1339,1341],{},"Operation create responses include ",[384,1340,668],{}," when the operation is tied to a simulator user:",[642,1343,1345],{"className":644,"code":1344,"language":646,"meta":647,"style":647},"{\n  \"id\": 123,\n  \"external_user_id\": \"operator-user-123\",\n  \"status\": \"succeeded\",\n  \"direction\": \"debit\",\n  \"amount_minor\": 10000,\n  \"currency_code\": \"IDR\",\n  \"idempotency_key\": \"demo-op-123\"\n}\n",[384,1346,1347,1351,1366,1384,1403,1421,1435,1454,1470],{"__ignoreMap":647},[651,1348,1349],{"class":653,"line":654},[651,1350,658],{"class":657},[651,1352,1353,1355,1357,1359,1361,1364],{"class":653,"line":661},[651,1354,664],{"class":657},[651,1356,607],{"class":667},[651,1358,671],{"class":657},[651,1360,674],{"class":657},[651,1362,1363],{"class":763}," 123",[651,1365,686],{"class":657},[651,1367,1368,1370,1372,1374,1376,1378,1380,1382],{"class":653,"line":689},[651,1369,664],{"class":657},[651,1371,668],{"class":667},[651,1373,671],{"class":657},[651,1375,674],{"class":657},[651,1377,677],{"class":657},[651,1379,681],{"class":680},[651,1381,671],{"class":657},[651,1383,686],{"class":657},[651,1385,1386,1388,1390,1392,1394,1396,1399,1401],{"class":653,"line":710},[651,1387,664],{"class":657},[651,1389,503],{"class":667},[651,1391,671],{"class":657},[651,1393,674],{"class":657},[651,1395,677],{"class":657},[651,1397,1398],{"class":680},"succeeded",[651,1400,671],{"class":657},[651,1402,686],{"class":657},[651,1404,1405,1407,1409,1411,1413,1415,1417,1419],{"class":653,"line":731},[651,1406,664],{"class":657},[651,1408,1091],{"class":667},[651,1410,671],{"class":657},[651,1412,674],{"class":657},[651,1414,677],{"class":657},[651,1416,1100],{"class":680},[651,1418,671],{"class":657},[651,1420,686],{"class":657},[651,1422,1423,1425,1427,1429,1431,1433],{"class":653,"line":751},[651,1424,664],{"class":657},[651,1426,1111],{"class":667},[651,1428,671],{"class":657},[651,1430,674],{"class":657},[651,1432,1118],{"class":763},[651,1434,686],{"class":657},[651,1436,1437,1439,1441,1443,1445,1447,1450,1452],{"class":653,"line":769},[651,1438,664],{"class":657},[651,1440,1305],{"class":667},[651,1442,671],{"class":657},[651,1444,674],{"class":657},[651,1446,677],{"class":657},[651,1448,1449],{"class":680},"IDR",[651,1451,671],{"class":657},[651,1453,686],{"class":657},[651,1455,1456,1458,1460,1462,1464,1466,1468],{"class":653,"line":784},[651,1457,664],{"class":657},[651,1459,1127],{"class":667},[651,1461,671],{"class":657},[651,1463,674],{"class":657},[651,1465,677],{"class":657},[651,1467,1136],{"class":680},[651,1469,1139],{"class":657},[651,1471,1473],{"class":653,"line":1472},9,[651,1474,787],{"class":657},[366,1476,1478],{"id":1477},"allowed-directions","Allowed directions",[371,1480,1481,1485,1490,1495],{},[374,1482,1483],{},[384,1484,1100],{},[374,1486,1487],{},[384,1488,1489],{},"credit",[374,1491,1492],{},[384,1493,1494],{},"debit_reversal",[374,1496,1497],{},[384,1498,1499],{},"credit_reversal",[366,1501,1503],{"id":1502},"failure-cases","Failure cases",[371,1505,1506,1512,1518,1524],{},[374,1507,1508,1509],{},"simulator not enabled -> ",[384,1510,1511],{},"404 SIMULATOR_DISABLED",[374,1513,1514,1515],{},"unknown operator user -> ",[384,1516,1517],{},"404 OPERATOR_USER_NOT_FOUND",[374,1519,1520,1521],{},"unknown simulator user ID -> ",[384,1522,1523],{},"404 SIMULATOR_USER_NOT_FOUND",[374,1525,1526,1527],{},"invalid direction -> ",[384,1528,1529],{},"400 INVALID_DIRECTION",[1531,1532,1533],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":647,"searchDepth":661,"depth":661,"links":1535},[1536,1537,1538,1539,1540,1541,1542,1543,1544,1545],{"id":368,"depth":661,"text":369},{"id":401,"depth":661,"text":402},{"id":464,"depth":661,"text":465},{"id":639,"depth":661,"text":640},{"id":927,"depth":661,"text":928},{"id":1050,"depth":661,"text":1051},{"id":1246,"depth":661,"text":1247},{"id":1334,"depth":661,"text":1335},{"id":1477,"depth":661,"text":1478},{"id":1502,"depth":661,"text":1503},"Staging-only simulator endpoints for operator onboarding and drills.","md",null,{},true,{"title":98,"description":1546},"93H3RiWqzCtOcCEP3mVktBNN30de0ZI66bJOUHMxI1w",[1554,1556],{"title":150,"path":151,"stem":152,"description":1555,"children":-1},"Inspect and replay webhook deliveries.",{"title":157,"path":158,"stem":159,"description":1557,"children":-1},"Read, update, and validate operator wallet adapter settings.",1789570129132]