[{"data":1,"prerenderedAt":841},["ShallowReactive",2],{"navigation_docs":3,"-docs-operator-api-authentication":352,"-docs-operator-api-authentication-surround":836},[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":143,"body":354,"description":829,"extension":830,"links":831,"meta":832,"navigation":833,"path":144,"seo":834,"stem":145,"__hash__":835},"docs\u002Fdocs\u002F4.operator-api\u002F1.authentication.md",{"type":355,"value":356,"toc":822},"minimark",[357,361,370,386,389,399,404,418,422,520,523,541,574,578,581,584,677,681,713,716,800,804,818],[358,359,143],"h1",{"id":360},"authentication",[362,363,364,365,369],"p",{},"The Operator API uses bearer authentication. Unless a page explicitly says otherwise, every request requires the ",[366,367,368],"code",{},"Authorization"," header.",[371,372,377],"pre",{"className":373,"code":374,"language":375,"meta":376,"style":376},"language-http shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","Authorization: Bearer {operator_api_key_or_staff_session}\n","http","",[366,378,379],{"__ignoreMap":376},[380,381,384],"span",{"class":382,"line":383},"line",1,[380,385,374],{},[362,387,388],{},"Two bearer token families exist:",[390,391,392,396],"ul",{},[393,394,395],"li",{},"operator API keys for server-to-server integration work",[393,397,398],{},"staff session tokens for human dashboard sessions and staff-management APIs",[400,401,403],"h2",{"id":402},"key-model","Key model",[390,405,406,409,412,415],{},[393,407,408],{},"API key is operator-scoped.",[393,410,411],{},"OpenPoly stores only the hash and metadata for the secret portion.",[393,413,414],{},"Raw API keys are shown exactly once at creation time. Never log them; store the one-time value only in server-side secret storage.",[393,416,417],{},"Browser clients must never receive an operator API key.",[400,419,421],{"id":420},"request-conventions","Request conventions",[423,424,425,444],"table",{},[426,427,428],"thead",{},[429,430,431,435,438,441],"tr",{},[432,433,434],"th",{},"Parameter",[432,436,437],{},"Location",[432,439,440],{},"Requirement",[432,442,443],{},"Notes",[445,446,447,469,502],"tbody",{},[429,448,449,454,457,463],{},[450,451,452],"td",{},[366,453,368],{},[450,455,456],{},"Header",[450,458,459],{},[460,461,462],"strong",{},"Required",[450,464,465,468],{},[366,466,467],{},"Bearer \u003Ctoken>",". The token may be an operator API key or a staff session token.",[429,470,471,476,478,483],{},[450,472,473],{},[366,474,475],{},"Content-Type",[450,477,456],{},[450,479,480],{},[460,481,482],{},"Required for JSON bodies",[450,484,485,486,489,490,493,494,497,498,501],{},"Send ",[366,487,488],{},"application\u002Fjson"," for ",[366,491,492],{},"POST",", ",[366,495,496],{},"PUT",", or ",[366,499,500],{},"PATCH"," requests with a JSON body.",[429,503,504,509,511,514],{},[450,505,506],{},[366,507,508],{},"Accept",[450,510,456],{},[450,512,513],{},"Optional",[450,515,516,517,519],{},"Use ",[366,518,488],{}," for JSON endpoints. HTML endpoints document their own response type.",[362,521,522],{},"Parameter tables in this guide use these labels:",[390,524,525,530,536],{},[393,526,527,529],{},[460,528,462],{},": the request cannot be processed without the parameter.",[393,531,532,535],{},[460,533,534],{},"Conditionally required",": required only for the stated mode or condition.",[393,537,538,540],{},[460,539,513],{},": may be omitted; the documented default or existing value is used.",[362,542,543,544,547,548,493,551,554,555,558,559,561,562,565,566,569,570,573],{},"For paginated list endpoints, ",[366,545,546],{},"page"," defaults to ",[366,549,550],{},"1",[366,552,553],{},"page_size"," usually defaults to ",[366,556,557],{},"50",", and ",[366,560,553],{}," is capped at ",[366,563,564],{},"100",". Pages with a different default state it explicitly. Invalid enum and date filters return ",[366,567,568],{},"400"," with an ",[366,571,572],{},"INVALID_*"," code. Invalid or non-positive pagination values fall back to the endpoint default.",[400,575,577],{"id":576},"scope-model","Scope model",[362,579,580],{},"Requests are checked against the scope list attached to the active API key or staff session.",[362,582,583],{},"Common scopes:",[390,585,586,591,596,601,606,611,616,621,626,631,636,641,646,651,656,661,666,672],{},[393,587,588],{},[366,589,590],{},"*",[393,592,593],{},[366,594,595],{},"launch:write",[393,597,598],{},[366,599,600],{},"users:read",[393,602,603],{},[366,604,605],{},"markets:read",[393,607,608],{},[366,609,610],{},"markets:write",[393,612,613],{},[366,614,615],{},"trades:read",[393,617,618],{},[366,619,620],{},"redemptions:read",[393,622,623],{},[366,624,625],{},"balance_operations:read",[393,627,628],{},[366,629,630],{},"wallet_adapter:read",[393,632,633],{},[366,634,635],{},"wallet_adapter:write",[393,637,638],{},[366,639,640],{},"api_keys:read",[393,642,643],{},[366,644,645],{},"api_keys:write",[393,647,648],{},[366,649,650],{},"webhooks:read",[393,652,653],{},[366,654,655],{},"webhooks:write",[393,657,658],{},[366,659,660],{},"simulator:read",[393,662,663],{},[366,664,665],{},"simulator:write",[393,667,668,671],{},[366,669,670],{},"staffs:read"," staff-session only",[393,673,674,671],{},[366,675,676],{},"staffs:write",[400,678,680],{"id":679},"failure-behavior","Failure behavior",[390,682,683,689,695,701,707],{},[393,684,685,686],{},"Missing or malformed bearer header -> ",[366,687,688],{},"401 UNAUTHORIZED",[393,690,691,692],{},"Invalid or revoked API key -> ",[366,693,694],{},"401 INVALID_API_KEY",[393,696,697,698],{},"Expired or revoked staff session -> ",[366,699,700],{},"401 INVALID_OPERATOR_SESSION",[393,702,703,704],{},"Missing required scope -> ",[366,705,706],{},"403 INSUFFICIENT_SCOPE",[393,708,709,710],{},"Staff-management API called with API key -> ",[366,711,712],{},"403 STAFF_SESSION_REQUIRED",[362,714,715],{},"Errors use the standard H3\u002FNitro envelope:",[371,717,721],{"className":718,"code":719,"language":720,"meta":376,"style":376},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"statusCode\": 401,\n  \"statusMessage\": \"INVALID_API_KEY\",\n  \"message\": \"INVALID_API_KEY\"\n}\n","json",[366,722,723,729,752,775,794],{"__ignoreMap":376},[380,724,725],{"class":382,"line":383},[380,726,728],{"class":727},"sMK4o","{\n",[380,730,732,735,739,742,745,749],{"class":382,"line":731},2,[380,733,734],{"class":727},"  \"",[380,736,738],{"class":737},"spNyl","statusCode",[380,740,741],{"class":727},"\"",[380,743,744],{"class":727},":",[380,746,748],{"class":747},"sbssI"," 401",[380,750,751],{"class":727},",\n",[380,753,755,757,760,762,764,767,771,773],{"class":382,"line":754},3,[380,756,734],{"class":727},[380,758,759],{"class":737},"statusMessage",[380,761,741],{"class":727},[380,763,744],{"class":727},[380,765,766],{"class":727}," \"",[380,768,770],{"class":769},"sfazB","INVALID_API_KEY",[380,772,741],{"class":727},[380,774,751],{"class":727},[380,776,778,780,783,785,787,789,791],{"class":382,"line":777},4,[380,779,734],{"class":727},[380,781,782],{"class":737},"message",[380,784,741],{"class":727},[380,786,744],{"class":727},[380,788,766],{"class":727},[380,790,770],{"class":769},[380,792,793],{"class":727},"\"\n",[380,795,797],{"class":382,"line":796},5,[380,798,799],{"class":727},"}\n",[400,801,803],{"id":802},"security-requirements","Security requirements",[390,805,806,809,812,815],{},[393,807,808],{},"Keep key in server-only secret storage.",[393,810,811],{},"Rotate keys through dashboard or API key endpoints.",[393,813,814],{},"Use least-privilege scopes for each integration service.",[393,816,817],{},"Do not use API keys for browser clients or human staff-management workflows.",[819,820,821],"style",{},"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);}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 .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}",{"title":376,"searchDepth":731,"depth":731,"links":823},[824,825,826,827,828],{"id":402,"depth":731,"text":403},{"id":420,"depth":731,"text":421},{"id":576,"depth":731,"text":577},{"id":679,"depth":731,"text":680},{"id":802,"depth":731,"text":803},"Authenticate requests to the operator API.","md",null,{},true,{"title":143,"description":829},"zPtVLf2tQkwysk0pkQDJFo0lgFvMFECu-0qDcUZRKOM",[837,839],{"title":134,"path":135,"stem":136,"description":838,"children":-1},"Inspect wallet debits, credits, reversals, retries, and exports.",{"title":114,"path":147,"stem":148,"description":840,"children":-1},"Configure webhook endpoint records through the operator API.",1789570128203]