[{"data":1,"prerenderedAt":994},["ShallowReactive",2],{"navigation_docs":3,"-api-errors":183,"-api-errors-surround":989},[4,25,60,81,153,168],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"Getting started",false,"\u002Fgetting-started","1.getting-started",[10,15,20],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction","i-lucide-house",{"title":16,"path":17,"stem":18,"icon":19},"Quickstart","\u002Fgetting-started\u002Fquickstart","1.getting-started\u002F2.quickstart","i-lucide-zap",{"title":21,"path":22,"stem":23,"icon":24},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F3.installation","i-lucide-server",{"title":26,"icon":6,"path":27,"stem":28,"children":29,"page":6},"Concepts","\u002Fconcepts","2.concepts",[30,35,40,45,50,55],{"title":31,"path":32,"stem":33,"icon":34},"How AML works","\u002Fconcepts\u002Fhow-aml-works","2.concepts\u002F1.how-aml-works","i-lucide-book-open",{"title":36,"path":37,"stem":38,"icon":39},"Events and decisions","\u002Fconcepts\u002Fevents-and-decisions","2.concepts\u002F2.events-and-decisions","i-lucide-activity",{"title":41,"path":42,"stem":43,"icon":44},"Rules","\u002Fconcepts\u002Frules","2.concepts\u002F3.rules","i-lucide-scale",{"title":46,"path":47,"stem":48,"icon":49},"Alerts, cases and reporting","\u002Fconcepts\u002Falerts-cases-reporting","2.concepts\u002F4.alerts-cases-reporting","i-lucide-folder-search",{"title":51,"path":52,"stem":53,"icon":54},"Entities and the graph","\u002Fconcepts\u002Fentities-and-graph","2.concepts\u002F5.entities-and-graph","i-lucide-network",{"title":56,"path":57,"stem":58,"icon":59},"Audit log","\u002Fconcepts\u002Faudit-log","2.concepts\u002F6.audit-log","i-lucide-scroll-text",{"title":61,"icon":6,"path":62,"stem":63,"children":64,"page":6},"Guides","\u002Fguides","3.guides",[65,70,75],{"title":66,"path":67,"stem":68,"icon":69},"Guides by role","\u002Fguides\u002Fby-role","3.guides\u002F1.by-role","i-lucide-users",{"title":71,"path":72,"stem":73,"icon":74},"Integration plan","\u002Fguides\u002Fintegration-plan","3.guides\u002F2.integration-plan","i-lucide-list-checks",{"title":76,"path":77,"stem":78,"icon":79,"badge":80},"Connecting a rail","\u002Fguides\u002Fconnecting-a-rail","3.guides\u002F3.connecting-a-rail","i-lucide-plug","Coming soon",{"title":82,"icon":6,"path":83,"stem":84,"children":85,"page":6},"API reference","\u002Fapi","4.api",[86,91,96,101,106,111,116,121,126,129,134,139,144,149],{"title":87,"path":88,"stem":89,"icon":90},"Authentication","\u002Fapi\u002Fauthentication","4.api\u002F01.authentication","i-lucide-key-round",{"title":92,"path":93,"stem":94,"icon":95},"Errors","\u002Fapi\u002Ferrors","4.api\u002F02.errors","i-lucide-circle-alert",{"title":97,"path":98,"stem":99,"icon":100},"Idempotency","\u002Fapi\u002Fidempotency","4.api\u002F03.idempotency","i-lucide-repeat",{"title":102,"path":103,"stem":104,"icon":105},"Health","\u002Fapi\u002Fhealth","4.api\u002F04.health","i-lucide-heart-pulse",{"title":107,"path":108,"stem":109,"icon":110},"Entities","\u002Fapi\u002Fentities","4.api\u002F05.entities","i-lucide-user-round",{"title":112,"path":113,"stem":114,"icon":115},"Events","\u002Fapi\u002Fevents","4.api\u002F06.events","i-lucide-send",{"title":117,"path":118,"stem":119,"icon":120},"Decisions","\u002Fapi\u002Fdecisions","4.api\u002F07.decisions","i-lucide-gavel",{"title":122,"path":123,"stem":124,"icon":125},"Alerts","\u002Fapi\u002Falerts","4.api\u002F08.alerts","i-lucide-bell",{"title":41,"path":127,"stem":128,"icon":44},"\u002Fapi\u002Frules","4.api\u002F09.rules",{"title":130,"path":131,"stem":132,"icon":133},"Screening","\u002Fapi\u002Fscreening","4.api\u002F10.screening","i-lucide-user-search",{"title":135,"path":136,"stem":137,"icon":138},"API keys","\u002Fapi\u002Fapi-keys","4.api\u002F11.api-keys","i-lucide-key",{"title":140,"path":141,"stem":142,"icon":143},"Overview","\u002Fapi\u002Foverview","4.api\u002F12.overview","i-lucide-layout-dashboard",{"title":145,"path":146,"stem":147,"icon":148,"badge":80},"Webhooks","\u002Fapi\u002Fwebhooks","4.api\u002F13.webhooks","i-lucide-webhook",{"title":80,"path":150,"stem":151,"icon":152,"badge":80},"\u002Fapi\u002Fcoming-soon","4.api\u002F14.coming-soon","i-lucide-clock",{"title":154,"icon":6,"path":155,"stem":156,"children":157,"page":6},"Security and licensing","\u002Fsecurity","5.security",[158,163],{"title":159,"path":160,"stem":161,"icon":162},"Data flows","\u002Fsecurity\u002Fdata-flows","5.security\u002F1.data-flows","i-lucide-shield-check",{"title":164,"path":165,"stem":166,"icon":167,"badge":80},"Licensing and metering","\u002Fsecurity\u002Flicensing","5.security\u002F2.licensing","i-lucide-file-badge",{"title":169,"icon":6,"path":170,"stem":171,"children":172,"page":6},"Reference","\u002Freference","6.reference",[173,178],{"title":174,"path":175,"stem":176,"icon":177},"Glossary","\u002Freference\u002Fglossary","6.reference\u002F1.glossary","i-lucide-book-a",{"title":179,"path":180,"stem":181,"icon":182},"FAQ","\u002Freference\u002Ffaq","6.reference\u002F2.faq","i-lucide-circle-help",{"id":184,"title":92,"body":185,"description":982,"extension":983,"links":984,"meta":985,"navigation":986,"path":93,"seo":987,"stem":94,"__hash__":988},"docs\u002F4.api\u002F02.errors.md",{"type":186,"value":187,"toc":978},"minimark",[188,197,247,262,267,461,465,971,974],[189,190,191,192,196],"p",{},"Errors come back as JSON with a single ",[193,194,195],"code",{},"error"," field that says what went wrong in plain words.",[198,199,205],"pre",{"className":200,"code":201,"filename":202,"language":203,"meta":204,"style":204},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"error\": \"type and idempotency_key are required\"\n}\n","Response · 400","json","",[193,206,207,216,241],{"__ignoreMap":204},[208,209,212],"span",{"class":210,"line":211},"line",1,[208,213,215],{"class":214},"sMK4o","{\n",[208,217,219,222,225,228,231,234,238],{"class":210,"line":218},2,[208,220,221],{"class":214},"  \"",[208,223,195],{"class":224},"spNyl",[208,226,227],{"class":214},"\"",[208,229,230],{"class":214},":",[208,232,233],{"class":214}," \"",[208,235,237],{"class":236},"sfazB","type and idempotency_key are required",[208,239,240],{"class":214},"\"\n",[208,242,244],{"class":210,"line":243},3,[208,245,246],{"class":214},"}\n",[189,248,249,250,253,254,257,258,261],{},"Two kinds of error come back as plain text instead: a body that isn't valid JSON or an ID in the path that isn't a UUID (both ",[193,251,252],{},"400","), and unexpected server failures (",[193,255,256],{},"500","). Check the ",[193,259,260],{},"Content-Type"," before parsing.",[263,264,266],"h2",{"id":265},"status-codes","Status codes",[268,269,270,286],"table",{},[271,272,273],"thead",{},[274,275,276,280,283],"tr",{},[277,278,279],"th",{},"Code",[277,281,282],{},"Meaning",[277,284,285],{},"What to do",[287,288,289,302,314,327,342,359,372,385,398,411,431,448],"tbody",{},[274,290,291,297,300],{},[292,293,294],"td",{},[193,295,296],{},"200",[292,298,299],{},"Success",[292,301],{},[274,303,304,309,312],{},[292,305,306],{},[193,307,308],{},"201",[292,310,311],{},"Created: a note, a rule draft or a key",[292,313],{},[274,315,316,321,324],{},[292,317,318],{},[193,319,320],{},"202",[292,322,323],{},"Event accepted (async mode)",[292,325,326],{},"Nothing. The event is stored.",[274,328,329,333,336],{},[292,330,331],{},[193,332,252],{},[292,334,335],{},"The request doesn't match the schema",[292,337,338,339,341],{},"Fix the request. The ",[193,340,195],{}," field says what's wrong.",[274,343,344,349,352],{},[292,345,346],{},[193,347,348],{},"401",[292,350,351],{},"Missing, invalid or revoked key",[292,353,354,355,358],{},"Check the ",[193,356,357],{},"Authorization"," header and that the key is active",[274,360,361,366,369],{},[292,362,363],{},[193,364,365],{},"403",[292,367,368],{},"Four-eyes: you can't approve your own work",[292,370,371],{},"Ask someone with a different key to approve it",[274,373,374,379,382],{},[292,375,376],{},[193,377,378],{},"404",[292,380,381],{},"No such record in your organisation",[292,383,384],{},"Check the ID, and that you're using a key from the right organisation",[274,386,387,392,395],{},[292,388,389],{},[193,390,391],{},"409",[292,393,394],{},"The record isn't in a state that allows this",[292,396,397],{},"Fetch it again and check its status",[274,399,400,405,408],{},[292,401,402],{},[193,403,404],{},"413",[292,406,407],{},"The request body is over 1 MiB",[292,409,410],{},"Send smaller requests. An event is a few kilobytes",[274,412,413,418,421],{},[292,414,415],{},[193,416,417],{},"429",[292,419,420],{},"Too many requests for this API key",[292,422,423,424,427,428],{},"Wait the number of seconds in the ",[193,425,426],{},"Retry-After"," header, then retry. Spread steady traffic across time, or ask for a higher ",[193,429,430],{},"SENTINEL_RATE_LIMIT",[274,432,433,438,441],{},[292,434,435],{},[193,436,437],{},"503",[292,439,440],{},"Screening has no list loaded",[292,442,443,444,447],{},"Load a list. See ",[445,446,130],"a",{"href":131},".",[274,449,450,455,458],{},[292,451,452],{},[193,453,454],{},"5xx",[292,456,457],{},"Something failed on the server",[292,459,460],{},"Retry with the same idempotency key. You won't create duplicates.",[263,462,464],{"id":463},"messages-you-might-see","Messages you might see",[268,466,467,480],{},[271,468,469],{},[274,470,471,474,476],{},[277,472,473],{},"Endpoint",[277,475,279],{},[277,477,478],{},[193,479,195],{},[287,481,482,500,516,531,546,561,577,593,608,623,638,654,670,685,701,720,737,753,768,784,800,815,831,847,863,878,894,910,926,941,956],{},[274,483,484,491,495],{},[292,485,486,487,490],{},"Any ",[193,488,489],{},"\u002Fv1"," endpoint",[292,492,493],{},[193,494,348],{},[292,496,497],{},[193,498,499],{},"missing or invalid API key",[274,501,502,507,511],{},[292,503,504],{},[193,505,506],{},"POST \u002Fv1\u002Fentities",[292,508,509],{},[193,510,252],{},[292,512,513],{},[193,514,515],{},"id is required",[274,517,518,522,526],{},[292,519,520],{},[193,521,506],{},[292,523,524],{},[193,525,252],{},[292,527,528],{},[193,529,530],{},"unknown kind",[274,532,533,538,542],{},[292,534,535],{},[193,536,537],{},"POST \u002Fv1\u002Fevents",[292,539,540],{},[193,541,252],{},[292,543,544],{},[193,545,237],{},[274,547,548,552,556],{},[292,549,550],{},[193,551,537],{},[292,553,554],{},[193,555,252],{},[292,557,558],{},[193,559,560],{},"amount needs a non-negative value and a 3-letter currency",[274,562,563,568,572],{},[292,564,565],{},[193,566,567],{},"GET \u002Fv1\u002Fdecisions\u002F{id}",[292,569,570],{},[193,571,378],{},[292,573,574],{},[193,575,576],{},"decision not found",[274,578,579,584,588],{},[292,580,581],{},[193,582,583],{},"PATCH \u002Fv1\u002Falerts\u002F{id}",[292,585,586],{},[193,587,252],{},[292,589,590],{},[193,591,592],{},"unknown status",[274,594,595,599,603],{},[292,596,597],{},[193,598,583],{},[292,600,601],{},[193,602,252],{},[292,604,605],{},[193,606,607],{},"status can only be open or in_review here; close alerts through \u002Fclosure",[274,609,610,614,618],{},[292,611,612],{},[193,613,583],{},[292,615,616],{},[193,617,252],{},[292,619,620],{},[193,621,622],{},"assigned_to cannot be empty",[274,624,625,629,633],{},[292,626,627],{},[193,628,583],{},[292,630,631],{},[193,632,391],{},[292,634,635],{},[193,636,637],{},"alert is pending closure or closed",[274,639,640,645,649],{},[292,641,642],{},[193,643,644],{},"POST \u002Fv1\u002Falerts\u002F{id}\u002Fnotes",[292,646,647],{},[193,648,252],{},[292,650,651],{},[193,652,653],{},"body must be 1 to 5000 characters",[274,655,656,661,665],{},[292,657,658],{},[193,659,660],{},"POST \u002Fv1\u002Falerts\u002F{id}\u002Fclosure",[292,662,663],{},[193,664,252],{},[292,666,667],{},[193,668,669],{},"unknown disposition",[274,671,672,676,680],{},[292,673,674],{},[193,675,660],{},[292,677,678],{},[193,679,391],{},[292,681,682],{},[193,683,684],{},"only open or in_review alerts can be put up for closure",[274,686,687,692,696],{},[292,688,689],{},[193,690,691],{},"POST \u002Fv1\u002Falerts\u002F{id}\u002Fclosure\u002Fapprove",[292,693,694],{},[193,695,365],{},[292,697,698],{},[193,699,700],{},"the person who requested closure cannot approve it",[274,702,703,711,715],{},[292,704,705,707,708],{},[193,706,691],{},", ",[193,709,710],{},"\u002Freject",[292,712,713],{},[193,714,391],{},[292,716,717],{},[193,718,719],{},"alert is not pending closure",[274,721,722,728,732],{},[292,723,486,724,727],{},[193,725,726],{},"\u002Fv1\u002Falerts\u002F{id}"," route",[292,729,730],{},[193,731,378],{},[292,733,734],{},[193,735,736],{},"alert not found",[274,738,739,744,748],{},[292,740,741],{},[193,742,743],{},"POST \u002Fv1\u002Frules",[292,745,746],{},[193,747,252],{},[292,749,750],{},[193,751,752],{},"key must be lowercase letters, digits and underscores, starting with a letter",[274,754,755,759,763],{},[292,756,757],{},[193,758,743],{},[292,760,761],{},[193,762,252],{},[292,764,765],{},[193,766,767],{},"weight must be between 1 and 100",[274,769,770,774,778],{},[292,771,772],{},[193,773,743],{},[292,775,776],{},[193,777,252],{},[292,779,780,781],{},"A compile error from the expression, for example ",[193,782,783],{},"rule my_rule: expression must return bool",[274,785,786,791,795],{},[292,787,788],{},[193,789,790],{},"POST \u002Fv1\u002Frules\u002F{id}\u002Factivate",[292,792,793],{},[193,794,365],{},[292,796,797],{},[193,798,799],{},"the author of a rule cannot approve it",[274,801,802,806,810],{},[292,803,804],{},[193,805,790],{},[292,807,808],{},[193,809,391],{},[292,811,812],{},[193,813,814],{},"only a draft can be activated",[274,816,817,822,826],{},[292,818,819],{},[193,820,821],{},"POST \u002Fv1\u002Frules\u002F{id}\u002Fbacktest",[292,823,824],{},[193,825,252],{},[292,827,828],{},[193,829,830],{},"window is capped at 31 days",[274,832,833,838,842],{},[292,834,835],{},[193,836,837],{},"POST \u002Fv1\u002Frules\u002F{id}\u002F...",[292,839,840],{},[193,841,378],{},[292,843,844],{},[193,845,846],{},"rule not found",[274,848,849,854,858],{},[292,850,851],{},[193,852,853],{},"POST \u002Fv1\u002Fscreenings",[292,855,856],{},[193,857,252],{},[292,859,860],{},[193,861,862],{},"kind must be person or business",[274,864,865,869,873],{},[292,866,867],{},[193,868,853],{},[292,870,871],{},[193,872,437],{},[292,874,875],{},[193,876,877],{},"no screening list is loaded, so nothing can be checked",[274,879,880,885,889],{},[292,881,882],{},[193,883,884],{},"GET \u002Fv1\u002Fscreenings\u002F{id}",[292,886,887],{},[193,888,378],{},[292,890,891],{},[193,892,893],{},"screening not found",[274,895,896,901,905],{},[292,897,898],{},[193,899,900],{},"POST \u002Fv1\u002Fkeys",[292,902,903],{},[193,904,252],{},[292,906,907],{},[193,908,909],{},"name must be 1 to 64 characters",[274,911,912,917,921],{},[292,913,914],{},[193,915,916],{},"DELETE \u002Fv1\u002Fkeys\u002F{id}",[292,918,919],{},[193,920,391],{},[292,922,923],{},[193,924,925],{},"you can't revoke the key you are signed in with",[274,927,928,932,936],{},[292,929,930],{},[193,931,916],{},[292,933,934],{},[193,935,391],{},[292,937,938],{},[193,939,940],{},"this is the last active key; create another before revoking it",[274,942,943,947,951],{},[292,944,945],{},[193,946,916],{},[292,948,949],{},[193,950,391],{},[292,952,953],{},[193,954,955],{},"this key is already revoked",[274,957,958,962,966],{},[292,959,960],{},[193,961,916],{},[292,963,964],{},[193,965,378],{},[292,967,968],{},[193,969,970],{},"key not found",[189,972,973],{},"Each endpoint's page lists its full set. Treat the message as something to log and show to developers, not something to parse. Branch on the status code.",[975,976,977],"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 .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":204,"searchDepth":218,"depth":218,"links":979},[980,981],{"id":265,"depth":218,"text":266},{"id":463,"depth":218,"text":464},"Status codes and the error body the API returns.","md",null,{},{"icon":95},{"title":92,"description":982},"jiXKss98NGxAeP41ZVOOmEcGU1stkby6MBNOrJaEM6k",[990,992],{"title":87,"path":88,"stem":89,"description":991,"icon":90,"children":-1},"Base URL, API keys, and how to get the first key on a new install.",{"title":97,"path":98,"stem":99,"description":993,"icon":100,"children":-1},"How idempotency keys make retries safe.",1792169658428]