[{"data":1,"prerenderedAt":1541},["ShallowReactive",2],{"navigation_docs":3,"-api-people":187,"-api-people-surround":1536},[4,25,60,81,157,172],{"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,143,148,153],{"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":110},"People and sessions","\u002Fapi\u002Fpeople","4.api\u002F12.people",{"title":144,"path":145,"stem":146,"icon":147},"Overview","\u002Fapi\u002Foverview","4.api\u002F13.overview","i-lucide-layout-dashboard",{"title":149,"path":150,"stem":151,"icon":152,"badge":80},"Webhooks","\u002Fapi\u002Fwebhooks","4.api\u002F14.webhooks","i-lucide-webhook",{"title":80,"path":154,"stem":155,"icon":156,"badge":80},"\u002Fapi\u002Fcoming-soon","4.api\u002F15.coming-soon","i-lucide-clock",{"title":158,"icon":6,"path":159,"stem":160,"children":161,"page":6},"Security and licensing","\u002Fsecurity","5.security",[162,167],{"title":163,"path":164,"stem":165,"icon":166},"Data flows","\u002Fsecurity\u002Fdata-flows","5.security\u002F1.data-flows","i-lucide-shield-check",{"title":168,"path":169,"stem":170,"icon":171,"badge":80},"Licensing and metering","\u002Fsecurity\u002Flicensing","5.security\u002F2.licensing","i-lucide-file-badge",{"title":173,"icon":6,"path":174,"stem":175,"children":176,"page":6},"Reference","\u002Freference","6.reference",[177,182],{"title":178,"path":179,"stem":180,"icon":181},"Glossary","\u002Freference\u002Fglossary","6.reference\u002F1.glossary","i-lucide-book-a",{"title":183,"path":184,"stem":185,"icon":186},"FAQ","\u002Freference\u002Ffaq","6.reference\u002F2.faq","i-lucide-circle-help",{"id":188,"title":140,"body":189,"description":1529,"extension":1530,"links":1531,"meta":1532,"navigation":1533,"path":141,"seo":1534,"stem":142,"__hash__":1535},"docs\u002F4.api\u002F12.people.md",{"type":190,"value":191,"toc":1516},"minimark",[192,200,208,213,217,224,238,329,529,544,549,570,574,577,586,625,629,632,635,704,708,711,716,726,730,733,736,940,944,947,953,981,1060,1244,1248,1251,1259,1274,1280,1290,1294,1297,1300,1329,1332,1512],[193,194,195,196,199],"p",{},"People sign in with email and password and get a session token. The dashboard uses these endpoints, and you can use them too, for example to script a sign-in in a test. See ",[197,198,87],"a",{"href":88}," for how sessions differ from API keys.",[193,201,202,203,207],{},"The examples put a session token in ",[204,205,206],"code",{},"$SENTINEL_SESSION",".",[209,210,212],"h2",{"id":211},"sign-in","Sign in",[214,215,216],"badge",{},"POST \u002Fv1\u002Fsessions",[193,218,219,220,223],{},"Returns a session token. Send it as a bearer token, like an API key. Sessions last 12 hours. This is the only ",[204,221,222],{},"\u002Fv1"," route that needs no credentials.",[225,226,227,234],"field-group",{},[228,229,233],"field",{"name":230,"type":231,":required":232},"email","string","true","The person's email. Case doesn't matter.",[228,235,237],{"name":236,"type":231,":required":232},"password","Their password.",[239,240,246],"pre",{"className":241,"code":242,"filename":243,"language":244,"meta":245,"style":245},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl -X POST \"$SENTINEL_URL\u002Fv1\u002Fsessions\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"email\": \"ama@example.com\",\n    \"password\": \"...\"\n  }'\n","Terminal","bash","",[204,247,248,281,296,308,314,320],{"__ignoreMap":245},[249,250,253,257,261,264,268,272,275,278],"span",{"class":251,"line":252},"line",1,[249,254,256],{"class":255},"sBMFI","curl",[249,258,260],{"class":259},"sfazB"," -X",[249,262,263],{"class":259}," POST",[249,265,267],{"class":266},"sMK4o"," \"",[249,269,271],{"class":270},"sTEyZ","$SENTINEL_URL",[249,273,274],{"class":259},"\u002Fv1\u002Fsessions",[249,276,277],{"class":266},"\"",[249,279,280],{"class":270}," \\\n",[249,282,284,287,289,292,294],{"class":251,"line":283},2,[249,285,286],{"class":259},"  -H",[249,288,267],{"class":266},[249,290,291],{"class":259},"Content-Type: application\u002Fjson",[249,293,277],{"class":266},[249,295,280],{"class":270},[249,297,299,302,305],{"class":251,"line":298},3,[249,300,301],{"class":259},"  -d",[249,303,304],{"class":266}," '",[249,306,307],{"class":259},"{\n",[249,309,311],{"class":251,"line":310},4,[249,312,313],{"class":259},"    \"email\": \"ama@example.com\",\n",[249,315,317],{"class":251,"line":316},5,[249,318,319],{"class":259},"    \"password\": \"...\"\n",[249,321,323,326],{"class":251,"line":322},6,[249,324,325],{"class":259},"  }",[249,327,328],{"class":266},"'\n",[239,330,335],{"className":331,"code":332,"filename":333,"language":334,"meta":245,"style":245},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"token\": \"snt_sess_q8Vt0yWn5Bc7Hd1Jp4Gs6Fz9Ke3Ua0Ox2Lr8Xk3f9aQ\",\n  \"expires_at\": \"2026-10-16T21:12:44Z\",\n  \"me\": {\n    \"kind\": \"user\",\n    \"id\": \"2d1c0b9a-8f7e-4a6b-9c5d-4e3f2a1b0c9d\",\n    \"name\": \"Ama Owusu\",\n    \"email\": \"ama@example.com\",\n    \"role\": \"reviewer\",\n    \"must_change_password\": false\n  }\n}\n","Response · 201","json",[204,336,337,341,365,385,399,420,440,461,481,502,517,523],{"__ignoreMap":245},[249,338,339],{"class":251,"line":252},[249,340,307],{"class":266},[249,342,343,346,350,352,355,357,360,362],{"class":251,"line":283},[249,344,345],{"class":266},"  \"",[249,347,349],{"class":348},"spNyl","token",[249,351,277],{"class":266},[249,353,354],{"class":266},":",[249,356,267],{"class":266},[249,358,359],{"class":259},"snt_sess_q8Vt0yWn5Bc7Hd1Jp4Gs6Fz9Ke3Ua0Ox2Lr8Xk3f9aQ",[249,361,277],{"class":266},[249,363,364],{"class":266},",\n",[249,366,367,369,372,374,376,378,381,383],{"class":251,"line":298},[249,368,345],{"class":266},[249,370,371],{"class":348},"expires_at",[249,373,277],{"class":266},[249,375,354],{"class":266},[249,377,267],{"class":266},[249,379,380],{"class":259},"2026-10-16T21:12:44Z",[249,382,277],{"class":266},[249,384,364],{"class":266},[249,386,387,389,392,394,396],{"class":251,"line":310},[249,388,345],{"class":266},[249,390,391],{"class":348},"me",[249,393,277],{"class":266},[249,395,354],{"class":266},[249,397,398],{"class":266}," {\n",[249,400,401,404,407,409,411,413,416,418],{"class":251,"line":316},[249,402,403],{"class":266},"    \"",[249,405,406],{"class":255},"kind",[249,408,277],{"class":266},[249,410,354],{"class":266},[249,412,267],{"class":266},[249,414,415],{"class":259},"user",[249,417,277],{"class":266},[249,419,364],{"class":266},[249,421,422,424,427,429,431,433,436,438],{"class":251,"line":322},[249,423,403],{"class":266},[249,425,426],{"class":255},"id",[249,428,277],{"class":266},[249,430,354],{"class":266},[249,432,267],{"class":266},[249,434,435],{"class":259},"2d1c0b9a-8f7e-4a6b-9c5d-4e3f2a1b0c9d",[249,437,277],{"class":266},[249,439,364],{"class":266},[249,441,443,445,448,450,452,454,457,459],{"class":251,"line":442},7,[249,444,403],{"class":266},[249,446,447],{"class":255},"name",[249,449,277],{"class":266},[249,451,354],{"class":266},[249,453,267],{"class":266},[249,455,456],{"class":259},"Ama Owusu",[249,458,277],{"class":266},[249,460,364],{"class":266},[249,462,464,466,468,470,472,474,477,479],{"class":251,"line":463},8,[249,465,403],{"class":266},[249,467,230],{"class":255},[249,469,277],{"class":266},[249,471,354],{"class":266},[249,473,267],{"class":266},[249,475,476],{"class":259},"ama@example.com",[249,478,277],{"class":266},[249,480,364],{"class":266},[249,482,484,486,489,491,493,495,498,500],{"class":251,"line":483},9,[249,485,403],{"class":266},[249,487,488],{"class":255},"role",[249,490,277],{"class":266},[249,492,354],{"class":266},[249,494,267],{"class":266},[249,496,497],{"class":259},"reviewer",[249,499,277],{"class":266},[249,501,364],{"class":266},[249,503,505,507,510,512,514],{"class":251,"line":504},10,[249,506,403],{"class":266},[249,508,509],{"class":255},"must_change_password",[249,511,277],{"class":266},[249,513,354],{"class":266},[249,515,516],{"class":266}," false\n",[249,518,520],{"class":251,"line":519},11,[249,521,522],{"class":266},"  }\n",[249,524,526],{"class":251,"line":525},12,[249,527,528],{"class":266},"}\n",[193,530,531,532,535,536,539,540,543],{},"A wrong email, a wrong password and a deactivated person all get the same ",[204,533,534],{},"401",", so the response never tells anyone which emails have accounts. Sign-in attempts are limited for each address and each email: about five a minute. Past that you get ",[204,537,538],{},"429"," with a ",[204,541,542],{},"Retry-After"," header.",[545,546,548],"h3",{"id":547},"the-first-password","The first password",[193,550,551,552,554,555,557,558,562,563,566,567,207],{},"A new person, or one whose password an admin reset, gets a first password and has ",[204,553,509],{}," set to ",[204,556,232],{},". Until they ",[197,559,561],{"href":560},"#change-your-password","change it",", every other request returns ",[204,564,565],{},"403"," with ",[204,568,569],{},"change the password you were given before doing anything else",[209,571,573],{"id":572},"sign-out","Sign out",[214,575,576],{},"DELETE \u002Fv1\u002Fsessions\u002Fcurrent",[193,578,579,580,583,584,207],{},"Ends the session making the request. Returns ",[204,581,582],{},"204",". Calling it with an API key returns ",[204,585,534],{},[239,587,589],{"className":241,"code":588,"filename":243,"language":244,"meta":245,"style":245},"curl -X DELETE \"$SENTINEL_URL\u002Fv1\u002Fsessions\u002Fcurrent\" \\\n  -H \"Authorization: Bearer $SENTINEL_SESSION\"\n",[204,590,591,611],{"__ignoreMap":245},[249,592,593,595,597,600,602,604,607,609],{"class":251,"line":252},[249,594,256],{"class":255},[249,596,260],{"class":259},[249,598,599],{"class":259}," DELETE",[249,601,267],{"class":266},[249,603,271],{"class":270},[249,605,606],{"class":259},"\u002Fv1\u002Fsessions\u002Fcurrent",[249,608,277],{"class":266},[249,610,280],{"class":270},[249,612,613,615,617,620,622],{"class":251,"line":283},[249,614,286],{"class":259},[249,616,267],{"class":266},[249,618,619],{"class":259},"Authorization: Bearer ",[249,621,206],{"class":270},[249,623,624],{"class":266},"\"\n",[209,626,628],{"id":627},"who-am-i","Who am I",[214,630,631],{},"GET \u002Fv1\u002Fme",[193,633,634],{},"Says who the credentials belong to: a person, with their role, or an API key. Works with both.",[239,636,639],{"className":331,"code":637,"filename":638,"language":334,"meta":245,"style":245},"{\n  \"kind\": \"api_key\",\n  \"id\": \"3f2e1d0c-9b8a-4765-8432-10fedcba9876\",\n  \"name\": \"payments-core\"\n}\n","Response · 200",[204,640,641,645,664,683,700],{"__ignoreMap":245},[249,642,643],{"class":251,"line":252},[249,644,307],{"class":266},[249,646,647,649,651,653,655,657,660,662],{"class":251,"line":283},[249,648,345],{"class":266},[249,650,406],{"class":348},[249,652,277],{"class":266},[249,654,354],{"class":266},[249,656,267],{"class":266},[249,658,659],{"class":259},"api_key",[249,661,277],{"class":266},[249,663,364],{"class":266},[249,665,666,668,670,672,674,676,679,681],{"class":251,"line":298},[249,667,345],{"class":266},[249,669,426],{"class":348},[249,671,277],{"class":266},[249,673,354],{"class":266},[249,675,267],{"class":266},[249,677,678],{"class":259},"3f2e1d0c-9b8a-4765-8432-10fedcba9876",[249,680,277],{"class":266},[249,682,364],{"class":266},[249,684,685,687,689,691,693,695,698],{"class":251,"line":310},[249,686,345],{"class":266},[249,688,447],{"class":348},[249,690,277],{"class":266},[249,692,354],{"class":266},[249,694,267],{"class":266},[249,696,697],{"class":259},"payments-core",[249,699,624],{"class":266},[249,701,702],{"class":251,"line":316},[249,703,528],{"class":266},[209,705,707],{"id":706},"change-your-password","Change your password",[214,709,710],{},"POST \u002Fv1\u002Fme\u002Fpassword",[193,712,713,714,207],{},"Changes your own password and ends your other sessions. The one making the request stays signed in. Returns ",[204,715,582],{},[225,717,718,722],{},[228,719,721],{"name":720,"type":231,":required":232},"current_password","Your password now, or the first password you were given.",[228,723,725],{"name":724,"type":231,":required":232},"new_password","12 to 72 characters.",[209,727,729],{"id":728},"list-people","List people",[214,731,732],{},"GET \u002Fv1\u002Fusers",[193,734,735],{},"Returns everyone on the install, active people first. Any signed-in person can call it.",[239,737,739],{"className":331,"code":738,"filename":638,"language":334,"meta":245,"style":245},"{\n  \"users\": [\n    {\n      \"id\": \"2d1c0b9a-8f7e-4a6b-9c5d-4e3f2a1b0c9d\",\n      \"email\": \"ama@example.com\",\n      \"name\": \"Ama Owusu\",\n      \"role\": \"reviewer\",\n      \"active\": true,\n      \"created_by\": \"9c8b7a6f-5e4d-4c3b-8a2f-1e0d9c8b7a6f\",\n      \"created_at\": \"2026-10-15T08:20:11.402Z\",\n      \"last_sign_in_at\": \"2026-10-16T09:12:44.118Z\",\n      \"must_change_password\": false\n    }\n  ]\n}\n",[204,740,741,745,759,764,783,801,819,837,851,871,891,911,923,929,935],{"__ignoreMap":245},[249,742,743],{"class":251,"line":252},[249,744,307],{"class":266},[249,746,747,749,752,754,756],{"class":251,"line":283},[249,748,345],{"class":266},[249,750,751],{"class":348},"users",[249,753,277],{"class":266},[249,755,354],{"class":266},[249,757,758],{"class":266}," [\n",[249,760,761],{"class":251,"line":298},[249,762,763],{"class":266},"    {\n",[249,765,766,769,771,773,775,777,779,781],{"class":251,"line":310},[249,767,768],{"class":266},"      \"",[249,770,426],{"class":255},[249,772,277],{"class":266},[249,774,354],{"class":266},[249,776,267],{"class":266},[249,778,435],{"class":259},[249,780,277],{"class":266},[249,782,364],{"class":266},[249,784,785,787,789,791,793,795,797,799],{"class":251,"line":316},[249,786,768],{"class":266},[249,788,230],{"class":255},[249,790,277],{"class":266},[249,792,354],{"class":266},[249,794,267],{"class":266},[249,796,476],{"class":259},[249,798,277],{"class":266},[249,800,364],{"class":266},[249,802,803,805,807,809,811,813,815,817],{"class":251,"line":322},[249,804,768],{"class":266},[249,806,447],{"class":255},[249,808,277],{"class":266},[249,810,354],{"class":266},[249,812,267],{"class":266},[249,814,456],{"class":259},[249,816,277],{"class":266},[249,818,364],{"class":266},[249,820,821,823,825,827,829,831,833,835],{"class":251,"line":442},[249,822,768],{"class":266},[249,824,488],{"class":255},[249,826,277],{"class":266},[249,828,354],{"class":266},[249,830,267],{"class":266},[249,832,497],{"class":259},[249,834,277],{"class":266},[249,836,364],{"class":266},[249,838,839,841,844,846,848],{"class":251,"line":463},[249,840,768],{"class":266},[249,842,843],{"class":255},"active",[249,845,277],{"class":266},[249,847,354],{"class":266},[249,849,850],{"class":266}," true,\n",[249,852,853,855,858,860,862,864,867,869],{"class":251,"line":483},[249,854,768],{"class":266},[249,856,857],{"class":255},"created_by",[249,859,277],{"class":266},[249,861,354],{"class":266},[249,863,267],{"class":266},[249,865,866],{"class":259},"9c8b7a6f-5e4d-4c3b-8a2f-1e0d9c8b7a6f",[249,868,277],{"class":266},[249,870,364],{"class":266},[249,872,873,875,878,880,882,884,887,889],{"class":251,"line":504},[249,874,768],{"class":266},[249,876,877],{"class":255},"created_at",[249,879,277],{"class":266},[249,881,354],{"class":266},[249,883,267],{"class":266},[249,885,886],{"class":259},"2026-10-15T08:20:11.402Z",[249,888,277],{"class":266},[249,890,364],{"class":266},[249,892,893,895,898,900,902,904,907,909],{"class":251,"line":519},[249,894,768],{"class":266},[249,896,897],{"class":255},"last_sign_in_at",[249,899,277],{"class":266},[249,901,354],{"class":266},[249,903,267],{"class":266},[249,905,906],{"class":259},"2026-10-16T09:12:44.118Z",[249,908,277],{"class":266},[249,910,364],{"class":266},[249,912,913,915,917,919,921],{"class":251,"line":525},[249,914,768],{"class":266},[249,916,509],{"class":255},[249,918,277],{"class":266},[249,920,354],{"class":266},[249,922,516],{"class":266},[249,924,926],{"class":251,"line":925},13,[249,927,928],{"class":266},"    }\n",[249,930,932],{"class":251,"line":931},14,[249,933,934],{"class":266},"  ]\n",[249,936,938],{"class":251,"line":937},15,[249,939,528],{"class":266},[209,941,943],{"id":942},"add-a-person","Add a person",[214,945,946],{},"POST \u002Fv1\u002Fusers",[193,948,949,950,207],{},"Admins only. Adds a person and returns their first password. This response is the only time it's shown, so pass it on to them straight away. They replace it when they first sign in. Returns ",[204,951,952],{},"201",[225,954,955,958,961],{},[228,956,957],{"name":230,"type":231,":required":232},"Their email. Each email can have one account.",[228,959,960],{"name":447,"type":231,":required":232},"Their name, 1 to 100 characters.",[228,962,963,966,967,966,969,972,973,976,977,207],{"name":488,"type":231,":required":232},[204,964,965],{},"admin",", ",[204,968,497],{},[204,970,971],{},"analyst"," or ",[204,974,975],{},"engineer",". See ",[197,978,980],{"href":979},"\u002Fapi\u002Fauthentication#roles","roles",[239,982,984],{"className":241,"code":983,"filename":243,"language":244,"meta":245,"style":245},"curl -X POST \"$SENTINEL_URL\u002Fv1\u002Fusers\" \\\n  -H \"Authorization: Bearer $SENTINEL_SESSION\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"email\": \"kofi@example.com\",\n    \"name\": \"Kofi Mensah\",\n    \"role\": \"analyst\"\n  }'\n",[204,985,986,1005,1019,1031,1039,1044,1049,1054],{"__ignoreMap":245},[249,987,988,990,992,994,996,998,1001,1003],{"class":251,"line":252},[249,989,256],{"class":255},[249,991,260],{"class":259},[249,993,263],{"class":259},[249,995,267],{"class":266},[249,997,271],{"class":270},[249,999,1000],{"class":259},"\u002Fv1\u002Fusers",[249,1002,277],{"class":266},[249,1004,280],{"class":270},[249,1006,1007,1009,1011,1013,1015,1017],{"class":251,"line":283},[249,1008,286],{"class":259},[249,1010,267],{"class":266},[249,1012,619],{"class":259},[249,1014,206],{"class":270},[249,1016,277],{"class":266},[249,1018,280],{"class":270},[249,1020,1021,1023,1025,1027,1029],{"class":251,"line":298},[249,1022,286],{"class":259},[249,1024,267],{"class":266},[249,1026,291],{"class":259},[249,1028,277],{"class":266},[249,1030,280],{"class":270},[249,1032,1033,1035,1037],{"class":251,"line":310},[249,1034,301],{"class":259},[249,1036,304],{"class":266},[249,1038,307],{"class":259},[249,1040,1041],{"class":251,"line":316},[249,1042,1043],{"class":259},"    \"email\": \"kofi@example.com\",\n",[249,1045,1046],{"class":251,"line":322},[249,1047,1048],{"class":259},"    \"name\": \"Kofi Mensah\",\n",[249,1050,1051],{"class":251,"line":442},[249,1052,1053],{"class":259},"    \"role\": \"analyst\"\n",[249,1055,1056,1058],{"class":251,"line":463},[249,1057,325],{"class":259},[249,1059,328],{"class":266},[239,1061,1063],{"className":331,"code":1062,"filename":333,"language":334,"meta":245,"style":245},"{\n  \"user\": {\n    \"id\": \"5e4d3c2b-1a09-4f8e-9d7c-6b5a4f3e2d1c\",\n    \"email\": \"kofi@example.com\",\n    \"name\": \"Kofi Mensah\",\n    \"role\": \"analyst\",\n    \"active\": true,\n    \"created_by\": \"9c8b7a6f-5e4d-4c3b-8a2f-1e0d9c8b7a6f\",\n    \"created_at\": \"2026-10-16T10:02:31.770Z\",\n    \"must_change_password\": true\n  },\n  \"password\": \"...\"\n}\n",[204,1064,1065,1069,1081,1100,1119,1138,1156,1168,1186,1205,1218,1223,1240],{"__ignoreMap":245},[249,1066,1067],{"class":251,"line":252},[249,1068,307],{"class":266},[249,1070,1071,1073,1075,1077,1079],{"class":251,"line":283},[249,1072,345],{"class":266},[249,1074,415],{"class":348},[249,1076,277],{"class":266},[249,1078,354],{"class":266},[249,1080,398],{"class":266},[249,1082,1083,1085,1087,1089,1091,1093,1096,1098],{"class":251,"line":298},[249,1084,403],{"class":266},[249,1086,426],{"class":255},[249,1088,277],{"class":266},[249,1090,354],{"class":266},[249,1092,267],{"class":266},[249,1094,1095],{"class":259},"5e4d3c2b-1a09-4f8e-9d7c-6b5a4f3e2d1c",[249,1097,277],{"class":266},[249,1099,364],{"class":266},[249,1101,1102,1104,1106,1108,1110,1112,1115,1117],{"class":251,"line":310},[249,1103,403],{"class":266},[249,1105,230],{"class":255},[249,1107,277],{"class":266},[249,1109,354],{"class":266},[249,1111,267],{"class":266},[249,1113,1114],{"class":259},"kofi@example.com",[249,1116,277],{"class":266},[249,1118,364],{"class":266},[249,1120,1121,1123,1125,1127,1129,1131,1134,1136],{"class":251,"line":316},[249,1122,403],{"class":266},[249,1124,447],{"class":255},[249,1126,277],{"class":266},[249,1128,354],{"class":266},[249,1130,267],{"class":266},[249,1132,1133],{"class":259},"Kofi Mensah",[249,1135,277],{"class":266},[249,1137,364],{"class":266},[249,1139,1140,1142,1144,1146,1148,1150,1152,1154],{"class":251,"line":322},[249,1141,403],{"class":266},[249,1143,488],{"class":255},[249,1145,277],{"class":266},[249,1147,354],{"class":266},[249,1149,267],{"class":266},[249,1151,971],{"class":259},[249,1153,277],{"class":266},[249,1155,364],{"class":266},[249,1157,1158,1160,1162,1164,1166],{"class":251,"line":442},[249,1159,403],{"class":266},[249,1161,843],{"class":255},[249,1163,277],{"class":266},[249,1165,354],{"class":266},[249,1167,850],{"class":266},[249,1169,1170,1172,1174,1176,1178,1180,1182,1184],{"class":251,"line":463},[249,1171,403],{"class":266},[249,1173,857],{"class":255},[249,1175,277],{"class":266},[249,1177,354],{"class":266},[249,1179,267],{"class":266},[249,1181,866],{"class":259},[249,1183,277],{"class":266},[249,1185,364],{"class":266},[249,1187,1188,1190,1192,1194,1196,1198,1201,1203],{"class":251,"line":483},[249,1189,403],{"class":266},[249,1191,877],{"class":255},[249,1193,277],{"class":266},[249,1195,354],{"class":266},[249,1197,267],{"class":266},[249,1199,1200],{"class":259},"2026-10-16T10:02:31.770Z",[249,1202,277],{"class":266},[249,1204,364],{"class":266},[249,1206,1207,1209,1211,1213,1215],{"class":251,"line":504},[249,1208,403],{"class":266},[249,1210,509],{"class":255},[249,1212,277],{"class":266},[249,1214,354],{"class":266},[249,1216,1217],{"class":266}," true\n",[249,1219,1220],{"class":251,"line":519},[249,1221,1222],{"class":266},"  },\n",[249,1224,1225,1227,1229,1231,1233,1235,1238],{"class":251,"line":525},[249,1226,345],{"class":266},[249,1228,236],{"class":348},[249,1230,277],{"class":266},[249,1232,354],{"class":266},[249,1234,267],{"class":266},[249,1236,1237],{"class":259},"...",[249,1239,624],{"class":266},[249,1241,1242],{"class":251,"line":925},[249,1243,528],{"class":266},[209,1245,1247],{"id":1246},"change-a-role-or-deactivate-someone","Change a role, or deactivate someone",[214,1249,1250],{},"PATCH \u002Fv1\u002Fusers\u002F{id}",[193,1252,1253,1254,966,1256,1258],{},"Admins only. Send ",[204,1255,488],{},[204,1257,843],{}," or both. A deactivated person is signed out and can't sign in again until an admin reactivates them. People are never deleted, because audit entries name them.",[225,1260,1261,1264],{},[228,1262,1263],{"name":488,"type":231},"The new role.",[228,1265,1267,1270,1271,1273],{"name":843,"type":1266},"boolean",[204,1268,1269],{},"false"," to deactivate, ",[204,1272,232],{}," to reactivate.",[193,1275,1276,1277,354],{},"Two changes are refused with ",[204,1278,1279],{},"409",[1281,1282,1283,1287],"ul",{},[1284,1285,1286],"li",{},"your own role or your own account. Ask another admin.",[1284,1288,1289],{},"anything that would leave the install with no active admin.",[209,1291,1293],{"id":1292},"reset-a-password","Reset a password",[214,1295,1296],{},"POST \u002Fv1\u002Fusers\u002F{id}\u002Fpassword",[193,1298,1299],{},"Admins only. Gives the person a new first password, shown once, and signs them out everywhere. They replace it at their next sign-in.",[239,1301,1303],{"className":331,"code":1302,"filename":638,"language":334,"meta":245,"style":245},"{\n  \"password\": \"...\"\n}\n",[204,1304,1305,1309,1325],{"__ignoreMap":245},[249,1306,1307],{"class":251,"line":252},[249,1308,307],{"class":266},[249,1310,1311,1313,1315,1317,1319,1321,1323],{"class":251,"line":283},[249,1312,345],{"class":266},[249,1314,236],{"class":348},[249,1316,277],{"class":266},[249,1318,354],{"class":266},[249,1320,267],{"class":266},[249,1322,1237],{"class":259},[249,1324,624],{"class":266},[249,1326,1327],{"class":251,"line":298},[249,1328,528],{"class":266},[209,1330,92],{"id":1331},"errors",[1333,1334,1335,1353],"table",{},[1336,1337,1338],"thead",{},[1339,1340,1341,1345,1348],"tr",{},[1342,1343,1344],"th",{},"Endpoint",[1342,1346,1347],{},"Code",[1342,1349,1350],{},[204,1351,1352],{},"error",[1354,1355,1356,1372,1386,1401,1416,1431,1450,1465,1480,1495],"tbody",{},[1339,1357,1358,1363,1367],{},[1359,1360,1361],"td",{},[204,1362,216],{},[1359,1364,1365],{},[204,1366,534],{},[1359,1368,1369],{},[204,1370,1371],{},"email or password is wrong, or the account is deactivated",[1339,1373,1374,1377,1381],{},[1359,1375,1376],{},"All others",[1359,1378,1379],{},[204,1380,534],{},[1359,1382,1383],{},[204,1384,1385],{},"missing or invalid API key or session",[1339,1387,1388,1392,1396],{},[1359,1389,1390],{},[204,1391,216],{},[1359,1393,1394],{},[204,1395,538],{},[1359,1397,1398],{},[204,1399,1400],{},"too many sign-in attempts; wait a minute and try again",[1339,1402,1403,1407,1411],{},[1359,1404,1405],{},[204,1406,576],{},[1359,1408,1409],{},[204,1410,534],{},[1359,1412,1413],{},[204,1414,1415],{},"not signed in with a session",[1339,1417,1418,1422,1426],{},[1359,1419,1420],{},[204,1421,710],{},[1359,1423,1424],{},[204,1425,565],{},[1359,1427,1428],{},[204,1429,1430],{},"your current password is wrong",[1339,1432,1433,1440,1445],{},[1359,1434,1435,966,1437],{},[204,1436,946],{},[204,1438,1439],{},"PATCH",[1359,1441,1442],{},[204,1443,1444],{},"400",[1359,1446,1447],{},[204,1448,1449],{},"role must be admin, reviewer, analyst or engineer",[1339,1451,1452,1456,1460],{},[1359,1453,1454],{},[204,1455,946],{},[1359,1457,1458],{},[204,1459,1279],{},[1359,1461,1462],{},[204,1463,1464],{},"someone with that email already has an account",[1339,1466,1467,1471,1475],{},[1359,1468,1469],{},[204,1470,1439],{},[1359,1472,1473],{},[204,1474,1279],{},[1359,1476,1477],{},[204,1478,1479],{},"you can't change your own role or deactivate yourself; ask another admin",[1339,1481,1482,1486,1490],{},[1359,1483,1484],{},[204,1485,1439],{},[1359,1487,1488],{},[204,1489,1279],{},[1359,1491,1492],{},[204,1493,1494],{},"this is the last active admin; make someone else an admin first",[1339,1496,1497,1502,1507],{},[1359,1498,1499,1501],{},[204,1500,1439],{},", reset",[1359,1503,1504],{},[204,1505,1506],{},"404",[1359,1508,1509],{},[204,1510,1511],{},"no such person",[1513,1514,1515],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}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 .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}",{"title":245,"searchDepth":283,"depth":283,"links":1517},[1518,1521,1522,1523,1524,1525,1526,1527,1528],{"id":211,"depth":283,"text":212,"children":1519},[1520],{"id":547,"depth":298,"text":548},{"id":572,"depth":283,"text":573},{"id":627,"depth":283,"text":628},{"id":706,"depth":283,"text":707},{"id":728,"depth":283,"text":729},{"id":942,"depth":283,"text":943},{"id":1246,"depth":283,"text":1247},{"id":1292,"depth":283,"text":1293},{"id":1331,"depth":283,"text":92},"Sign in, sign out, change your password, and manage the people on your install.","md",null,{},{"icon":110},{"title":140,"description":1529},"0kMhhbNaoVEbwFk5VS_lWsNO-xRTcoQTFJEFOfdNIK8",[1537,1539],{"title":135,"path":136,"stem":137,"description":1538,"icon":138,"children":-1},"List, create and revoke your organisation's API keys.",{"title":144,"path":145,"stem":146,"description":1540,"icon":147,"children":-1},"Today's figures for the home screen.",1792236815059]