[{"data":1,"prerenderedAt":4517},["ShallowReactive",2],{"navigation":3,"\u002Freference\u002Faccount-api":88,"\u002Freference\u002Faccount-api-surround":4512},[4,33,73],{"title":5,"path":6,"stem":7,"children":8,"icon":32},"Getting Started","\u002Fgetting-started","1.getting-started\u002F1.index",[9,12,17,22,27],{"title":10,"path":6,"stem":7,"icon":11},"Introduction","i-lucide-house",{"title":13,"path":14,"stem":15,"icon":16},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation","i-lucide-download",{"title":18,"path":19,"stem":20,"icon":21},"Connect a site","\u002Fgetting-started\u002Fconnect","1.getting-started\u002F3.connect","i-lucide-key",{"title":23,"path":24,"stem":25,"icon":26},"Usage","\u002Fgetting-started\u002Fusage","1.getting-started\u002F4.usage","i-lucide-sliders",{"title":28,"path":29,"stem":30,"icon":31},"Troubleshooting","\u002Fgetting-started\u002Ftroubleshooting","1.getting-started\u002F5.troubleshooting","i-lucide-life-buoy",false,{"title":34,"path":35,"stem":36,"children":37,"page":32},"Reference","\u002Freference","2.reference",[38,43,48,53,58,63,68],{"title":39,"path":40,"stem":41,"icon":42},"What gets logged","\u002Freference\u002Fwhat-gets-logged","2.reference\u002F1.what-gets-logged","i-lucide-list-tree",{"title":44,"path":45,"stem":46,"icon":47},"WP-CLI","\u002Freference\u002Fcli","2.reference\u002F2.cli","i-lucide-terminal",{"title":49,"path":50,"stem":51,"icon":52},"Read API","\u002Freference\u002Fapi","2.reference\u002F3.api","i-lucide-database",{"title":54,"path":55,"stem":56,"icon":57},"Plans & limits","\u002Freference\u002Fplans-and-limits","2.reference\u002F4.plans-and-limits","i-lucide-credit-card",{"title":59,"path":60,"stem":61,"icon":62},"Plugin settings","\u002Freference\u002Fplugin-settings","2.reference\u002F5.plugin-settings","i-lucide-settings",{"title":64,"path":65,"stem":66,"icon":67},"Account API","\u002Freference\u002Faccount-api","2.reference\u002F6.account-api","i-lucide-key-round",{"title":69,"path":70,"stem":71,"icon":72},"Reseller accounts","\u002Freference\u002Freseller-accounts","2.reference\u002F7.reseller-accounts","i-lucide-infinity",{"title":74,"path":75,"stem":76,"children":77,"page":32},"AI","\u002Fai","3.ai",[78,83],{"title":79,"path":80,"stem":81,"icon":82},"MCP","\u002Fai\u002Fmcp","3.ai\u002F1.mcp","i-lucide-cpu",{"title":84,"path":85,"stem":86,"icon":87},"AI & your data","\u002Fai\u002Fai-and-your-data","3.ai\u002F2.ai-and-your-data","i-lucide-shield-check",{"id":89,"title":64,"body":90,"description":4505,"extension":4506,"links":4507,"meta":4508,"navigation":4509,"path":65,"seo":4510,"stem":66,"__hash__":4511},"docs\u002F2.reference\u002F6.account-api.md",{"type":91,"value":92,"toc":4471},"minimark",[93,115,120,138,162,179,187,191,210,223,227,230,273,276,284,288,293,303,327,592,608,632,647,918,948,951,955,964,986,1215,1236,1240,1272,1330,1416,1441,1463,1475,1479,1488,1518,1572,1588,1602,1606,1612,1640,1655,1659,1676,1683,1716,1726,1757,1773,1776,1791,1812,1826,1830,1839,1863,1987,1998,2003,2012,2040,2056,2059,2073,2125,2190,2224,2228,2237,2269,2322,2348,2352,2364,2391,2396,2399,2408,2441,2457,2484,2491,2498,2502,2516,2569,2636,2658,2662,2678,2701,2816,2820,2827,2855,2862,2978,2982,2988,3145,3149,3153,3162,3186,3347,3362,3366,3372,3399,3447,3457,3461,3467,3495,3499,3503,3507,3518,3538,3703,3731,4012,4023,4040,4043,4071,4077,4081,4096,4101,4105,4131,4456,4460,4467],[94,95,97],"callout",{"icon":96},"i-lucide-lock",[98,99,100,101,105,106,109,110,114],"p",{},"The Account API is available on every ",[102,103,104],"strong",{},"paid"," plan (Starter and up) — see\n",[107,108,54],"a",{"href":55},". The key still authenticates\non Free, but every call answers ",[111,112,113],"code",{},"403"," until you upgrade.",[116,117,119],"h2",{"id":118},"account-keys-vs-site-keys-vs-group-keys","Account keys vs. site keys vs. group keys",[98,121,122,123,126,127,130,131,134,135,137],{},"A ",[102,124,125],{},"site key"," (",[111,128,129],{},"goal_live_...",") is scoped to one WordPress install: it's\nwhat the plugin uses to send events, and what the ",[107,132,133],{"href":50},"read API","\nand ",[107,136,79],{"href":80}," use to read them back for that one site.",[98,139,140,141,126,144,147,148,152,153,157,158,161],{},"An ",[102,142,143],{},"account key",[111,145,146],{},"goal_acct_...",") is scoped to your whole account. It can\ncreate, rename, reactivate and delete sites, mint and revoke their site\nkeys, manage ",[107,149,151],{"href":150},"#site-groups","groups"," and their ",[107,154,156],{"href":155},"#group-scoped-keys","group keys",",\nand read events across every site you own in one call. There's no\n",[111,159,160],{},"X-Site-Domain"," header to pass — the key itself carries the account scope.",[98,163,122,164,126,167,170,171,174,175,178],{},[102,165,166],{},"group key",[111,168,169],{},"goal_grp_...",") sits in between: it's scoped to exactly one\n",[107,172,173],{"href":150},"group",", everything under that group and nothing else. See\n",[107,176,177],{"href":155},"Group-scoped keys"," below.",[98,180,181,182,186],{},"Use a site key for the WordPress plugin and single-site integrations. Use an\naccount key for anything that manages sites, or that needs a cross-account\nview — dashboards, CI, an AI tool connected over MCP. Use a group key when\nyou want to hand a customer or sub-team API access to ",[183,184,185],"em",{},"their"," sites only,\nwithout giving them the run of your whole account.",[116,188,190],{"id":189},"creating-an-account-key","Creating an account key",[98,192,193,194,197,198,201,202,205,206,209],{},"Go to ",[102,195,196],{},"app.hellolog.io → Settings → API keys"," and click ",[102,199,200],{},"Create key",".\nThe key is shown ",[102,203,204],{},"exactly once"," — copy it before leaving the page,\nhelloLOG only stores its hash. You can have up to ",[102,207,208],{},"10 active account keys","\nat a time, and revoke any of them from the same screen; a revoked key stops\nworking within seconds.",[98,211,212,215,216,222],{},[107,213,214],{"href":155},"Group keys"," work differently: there's no dashboard\nbutton for them today — mint one by calling ",[107,217,219],{"href":218},"#mint-a-group-key",[111,220,221],{},"POST \u002Fgroups\u002F{id}\u002Fkeys"," with an existing unscoped account\nkey.",[116,224,226],{"id":225},"authentication","Authentication",[98,228,229],{},"Every request needs the account key as a bearer token:",[231,232,238],"pre",{"className":233,"code":234,"filename":235,"language":236,"meta":237,"style":237},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl https:\u002F\u002Fapi.hellolog.io\u002Fv1\u002Fwordpress-activity-audit-log\u002Faccount\u002Fsites \\\n  -H \"Authorization: Bearer goal_acct_xxxxxxxx_...\"\n","Terminal","bash","",[111,239,240,257],{"__ignoreMap":237},[241,242,245,249,253],"span",{"class":243,"line":244},"line",1,[241,246,248],{"class":247},"sBMFI","curl",[241,250,252],{"class":251},"sfazB"," https:\u002F\u002Fapi.hellolog.io\u002Fv1\u002Fwordpress-activity-audit-log\u002Faccount\u002Fsites",[241,254,256],{"class":255},"sTEyZ"," \\\n",[241,258,260,263,267,270],{"class":243,"line":259},2,[241,261,262],{"class":251},"  -H",[241,264,266],{"class":265},"sMK4o"," \"",[241,268,269],{"class":251},"Authorization: Bearer goal_acct_xxxxxxxx_...",[241,271,272],{"class":265},"\"\n",[98,274,275],{},"All endpoints below are relative to:",[231,277,282],{"className":278,"code":280,"language":281},[279],"language-text","https:\u002F\u002Fapi.hellolog.io\u002Fv1\u002Fwordpress-activity-audit-log\u002Faccount\n","text",[111,283,280],{"__ignoreMap":237},[116,285,287],{"id":286},"account-info","Account info",[289,290,292],"h3",{"id":291},"get-account-info","Get account info",[98,294,295,298,299,302],{},[111,296,297],{},"GET \u002Fme"," returns your account's identity and current quota usage — email,\nplan, reseller status, effective limits, and a snapshot of how many sites,\npaused sites, and groups you have. Useful for confirming which account a\nkey belongs to, or checking quota headroom before a call would otherwise\nfail with a ",[111,300,301],{},"409",".",[231,304,306],{"className":233,"code":305,"filename":235,"language":236,"meta":237,"style":237},"curl https:\u002F\u002Fapi.hellolog.io\u002Fv1\u002Fwordpress-activity-audit-log\u002Faccount\u002Fme \\\n  -H \"Authorization: Bearer goal_acct_xxxxxxxx_...\"\n",[111,307,308,317],{"__ignoreMap":237},[241,309,310,312,315],{"class":243,"line":244},[241,311,248],{"class":247},[241,313,314],{"class":251}," https:\u002F\u002Fapi.hellolog.io\u002Fv1\u002Fwordpress-activity-audit-log\u002Faccount\u002Fme",[241,316,256],{"class":255},[241,318,319,321,323,325],{"class":243,"line":259},[241,320,262],{"class":251},[241,322,266],{"class":265},[241,324,269],{"class":251},[241,326,272],{"class":265},[231,328,332],{"className":329,"code":330,"language":331,"meta":237,"style":237},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"account_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n  \"email\": \"owner@example.com\",\n  \"plan\": \"starter\",\n  \"is_reseller\": false,\n  \"limits\": { \"sites\": 10, \"retention_days\": 90, \"keys_per_site\": 2 },\n  \"usage\": { \"sites_active\": 4, \"sites_paused\": 0, \"groups\": 2 },\n  \"key\": { \"prefix\": \"4a1b2c3d\", \"created_at\": \"2026-08-01T00:00:00Z\" }\n}\n","json",[111,333,334,339,364,385,406,421,481,535,586],{"__ignoreMap":237},[241,335,336],{"class":243,"line":244},[241,337,338],{"class":265},"{\n",[241,340,341,344,348,351,354,356,359,361],{"class":243,"line":259},[241,342,343],{"class":265},"  \"",[241,345,347],{"class":346},"spNyl","account_id",[241,349,350],{"class":265},"\"",[241,352,353],{"class":265},":",[241,355,266],{"class":265},[241,357,358],{"class":251},"3fa85f64-5717-4562-b3fc-2c963f66afa6",[241,360,350],{"class":265},[241,362,363],{"class":265},",\n",[241,365,367,369,372,374,376,378,381,383],{"class":243,"line":366},3,[241,368,343],{"class":265},[241,370,371],{"class":346},"email",[241,373,350],{"class":265},[241,375,353],{"class":265},[241,377,266],{"class":265},[241,379,380],{"class":251},"owner@example.com",[241,382,350],{"class":265},[241,384,363],{"class":265},[241,386,388,390,393,395,397,399,402,404],{"class":243,"line":387},4,[241,389,343],{"class":265},[241,391,392],{"class":346},"plan",[241,394,350],{"class":265},[241,396,353],{"class":265},[241,398,266],{"class":265},[241,400,401],{"class":251},"starter",[241,403,350],{"class":265},[241,405,363],{"class":265},[241,407,409,411,414,416,418],{"class":243,"line":408},5,[241,410,343],{"class":265},[241,412,413],{"class":346},"is_reseller",[241,415,350],{"class":265},[241,417,353],{"class":265},[241,419,420],{"class":265}," false,\n",[241,422,424,426,429,431,433,436,438,441,443,445,449,452,454,457,459,461,464,466,468,471,473,475,478],{"class":243,"line":423},6,[241,425,343],{"class":265},[241,427,428],{"class":346},"limits",[241,430,350],{"class":265},[241,432,353],{"class":265},[241,434,435],{"class":265}," {",[241,437,266],{"class":265},[241,439,440],{"class":247},"sites",[241,442,350],{"class":265},[241,444,353],{"class":265},[241,446,448],{"class":447},"sbssI"," 10",[241,450,451],{"class":265},",",[241,453,266],{"class":265},[241,455,456],{"class":247},"retention_days",[241,458,350],{"class":265},[241,460,353],{"class":265},[241,462,463],{"class":447}," 90",[241,465,451],{"class":265},[241,467,266],{"class":265},[241,469,470],{"class":247},"keys_per_site",[241,472,350],{"class":265},[241,474,353],{"class":265},[241,476,477],{"class":447}," 2",[241,479,480],{"class":265}," },\n",[241,482,484,486,489,491,493,495,497,500,502,504,507,509,511,514,516,518,521,523,525,527,529,531,533],{"class":243,"line":483},7,[241,485,343],{"class":265},[241,487,488],{"class":346},"usage",[241,490,350],{"class":265},[241,492,353],{"class":265},[241,494,435],{"class":265},[241,496,266],{"class":265},[241,498,499],{"class":247},"sites_active",[241,501,350],{"class":265},[241,503,353],{"class":265},[241,505,506],{"class":447}," 4",[241,508,451],{"class":265},[241,510,266],{"class":265},[241,512,513],{"class":247},"sites_paused",[241,515,350],{"class":265},[241,517,353],{"class":265},[241,519,520],{"class":447}," 0",[241,522,451],{"class":265},[241,524,266],{"class":265},[241,526,151],{"class":247},[241,528,350],{"class":265},[241,530,353],{"class":265},[241,532,477],{"class":447},[241,534,480],{"class":265},[241,536,538,540,543,545,547,549,551,554,556,558,560,563,565,567,569,572,574,576,578,581,583],{"class":243,"line":537},8,[241,539,343],{"class":265},[241,541,542],{"class":346},"key",[241,544,350],{"class":265},[241,546,353],{"class":265},[241,548,435],{"class":265},[241,550,266],{"class":265},[241,552,553],{"class":247},"prefix",[241,555,350],{"class":265},[241,557,353],{"class":265},[241,559,266],{"class":265},[241,561,562],{"class":251},"4a1b2c3d",[241,564,350],{"class":265},[241,566,451],{"class":265},[241,568,266],{"class":265},[241,570,571],{"class":247},"created_at",[241,573,350],{"class":265},[241,575,353],{"class":265},[241,577,266],{"class":265},[241,579,580],{"class":251},"2026-08-01T00:00:00Z",[241,582,350],{"class":265},[241,584,585],{"class":265}," }\n",[241,587,589],{"class":243,"line":588},9,[241,590,591],{"class":265},"}\n",[98,593,594,596,597,600,601,603,604,607],{},[111,595,542],{}," describes the account key making ",[183,598,599],{},"this"," request, not every key on\nthe account — its ",[111,602,553],{}," is what you'd look for on ",[102,605,606],{},"app.hellolog.io →\nSettings → API keys"," to revoke it.",[98,609,610,611,614,615,617,618,621,622,624,625,628,629,631],{},"On a ",[107,612,613],{"href":70},"reseller account",", ",[111,616,428],{}," reports\n",[111,619,620],{},"-1"," for every field instead of a number, and ",[111,623,413],{}," is ",[111,626,627],{},"true"," —\n",[111,630,392],{}," still shows the account's real plan slug, unaffected either way.",[98,633,634,635,637,638,640,641,643,644,646],{},"Calling ",[111,636,297],{}," with a ",[107,639,166],{"href":155}," instead of an\nunscoped account key adds a ",[111,642,173],{}," field and narrows ",[111,645,488],{}," to that\ngroup alone:",[231,648,650],{"className":329,"code":649,"language":331,"meta":237,"style":237},"{\n  \"account_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n  \"email\": \"owner@example.com\",\n  \"plan\": \"starter\",\n  \"is_reseller\": false,\n  \"limits\": { \"sites\": 10, \"retention_days\": 90, \"keys_per_site\": 2 },\n  \"usage\": { \"sites_active\": 1, \"sites_paused\": 0, \"groups\": 1 },\n  \"key\": { \"prefix\": \"ab12cd34\", \"created_at\": \"2026-08-20T09:00:00Z\" },\n  \"group\": { \"id\": \"b2b1c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d\", \"name\": \"Agency clients — Acme\" }\n}\n",[111,651,652,656,674,692,710,722,770,819,865,913],{"__ignoreMap":237},[241,653,654],{"class":243,"line":244},[241,655,338],{"class":265},[241,657,658,660,662,664,666,668,670,672],{"class":243,"line":259},[241,659,343],{"class":265},[241,661,347],{"class":346},[241,663,350],{"class":265},[241,665,353],{"class":265},[241,667,266],{"class":265},[241,669,358],{"class":251},[241,671,350],{"class":265},[241,673,363],{"class":265},[241,675,676,678,680,682,684,686,688,690],{"class":243,"line":366},[241,677,343],{"class":265},[241,679,371],{"class":346},[241,681,350],{"class":265},[241,683,353],{"class":265},[241,685,266],{"class":265},[241,687,380],{"class":251},[241,689,350],{"class":265},[241,691,363],{"class":265},[241,693,694,696,698,700,702,704,706,708],{"class":243,"line":387},[241,695,343],{"class":265},[241,697,392],{"class":346},[241,699,350],{"class":265},[241,701,353],{"class":265},[241,703,266],{"class":265},[241,705,401],{"class":251},[241,707,350],{"class":265},[241,709,363],{"class":265},[241,711,712,714,716,718,720],{"class":243,"line":408},[241,713,343],{"class":265},[241,715,413],{"class":346},[241,717,350],{"class":265},[241,719,353],{"class":265},[241,721,420],{"class":265},[241,723,724,726,728,730,732,734,736,738,740,742,744,746,748,750,752,754,756,758,760,762,764,766,768],{"class":243,"line":423},[241,725,343],{"class":265},[241,727,428],{"class":346},[241,729,350],{"class":265},[241,731,353],{"class":265},[241,733,435],{"class":265},[241,735,266],{"class":265},[241,737,440],{"class":247},[241,739,350],{"class":265},[241,741,353],{"class":265},[241,743,448],{"class":447},[241,745,451],{"class":265},[241,747,266],{"class":265},[241,749,456],{"class":247},[241,751,350],{"class":265},[241,753,353],{"class":265},[241,755,463],{"class":447},[241,757,451],{"class":265},[241,759,266],{"class":265},[241,761,470],{"class":247},[241,763,350],{"class":265},[241,765,353],{"class":265},[241,767,477],{"class":447},[241,769,480],{"class":265},[241,771,772,774,776,778,780,782,784,786,788,790,793,795,797,799,801,803,805,807,809,811,813,815,817],{"class":243,"line":483},[241,773,343],{"class":265},[241,775,488],{"class":346},[241,777,350],{"class":265},[241,779,353],{"class":265},[241,781,435],{"class":265},[241,783,266],{"class":265},[241,785,499],{"class":247},[241,787,350],{"class":265},[241,789,353],{"class":265},[241,791,792],{"class":447}," 1",[241,794,451],{"class":265},[241,796,266],{"class":265},[241,798,513],{"class":247},[241,800,350],{"class":265},[241,802,353],{"class":265},[241,804,520],{"class":447},[241,806,451],{"class":265},[241,808,266],{"class":265},[241,810,151],{"class":247},[241,812,350],{"class":265},[241,814,353],{"class":265},[241,816,792],{"class":447},[241,818,480],{"class":265},[241,820,821,823,825,827,829,831,833,835,837,839,841,844,846,848,850,852,854,856,858,861,863],{"class":243,"line":537},[241,822,343],{"class":265},[241,824,542],{"class":346},[241,826,350],{"class":265},[241,828,353],{"class":265},[241,830,435],{"class":265},[241,832,266],{"class":265},[241,834,553],{"class":247},[241,836,350],{"class":265},[241,838,353],{"class":265},[241,840,266],{"class":265},[241,842,843],{"class":251},"ab12cd34",[241,845,350],{"class":265},[241,847,451],{"class":265},[241,849,266],{"class":265},[241,851,571],{"class":247},[241,853,350],{"class":265},[241,855,353],{"class":265},[241,857,266],{"class":265},[241,859,860],{"class":251},"2026-08-20T09:00:00Z",[241,862,350],{"class":265},[241,864,480],{"class":265},[241,866,867,869,871,873,875,877,879,882,884,886,888,891,893,895,897,900,902,904,906,909,911],{"class":243,"line":588},[241,868,343],{"class":265},[241,870,173],{"class":346},[241,872,350],{"class":265},[241,874,353],{"class":265},[241,876,435],{"class":265},[241,878,266],{"class":265},[241,880,881],{"class":247},"id",[241,883,350],{"class":265},[241,885,353],{"class":265},[241,887,266],{"class":265},[241,889,890],{"class":251},"b2b1c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d",[241,892,350],{"class":265},[241,894,451],{"class":265},[241,896,266],{"class":265},[241,898,899],{"class":247},"name",[241,901,350],{"class":265},[241,903,353],{"class":265},[241,905,266],{"class":265},[241,907,908],{"class":251},"Agency clients — Acme",[241,910,350],{"class":265},[241,912,585],{"class":265},[241,914,916],{"class":243,"line":915},10,[241,917,591],{"class":265},[98,919,920,922,923,926,927,930,931,933,934,937,938,941,942,944,945,947],{},[111,921,173],{}," is present ",[102,924,925],{},"only"," for a group key — its mere presence tells you\nwhich kind of key you're holding without inspecting anything else.\n",[111,928,929],{},"usage.sites_active"," \u002F ",[111,932,513],{}," count only that group's sites, and\n",[111,935,936],{},"usage.groups"," is always ",[111,939,940],{},"1"," (its own group — a group key has no\nvisibility into any sibling group, even a count of them). An unscoped\naccount key never gets a ",[111,943,173],{}," field, and its ",[111,946,488],{}," always covers the\nwhole account.",[116,949,950],{"id":440},"Sites",[289,952,954],{"id":953},"list-sites","List sites",[98,956,957,960,961,963],{},[111,958,959],{},"GET \u002Fsites"," returns every site on your account. A ",[107,962,166],{"href":155},"\nsees only the sites in its own group — nothing else on the account.",[231,965,966],{"className":233,"code":234,"filename":235,"language":236,"meta":237,"style":237},[111,967,968,976],{"__ignoreMap":237},[241,969,970,972,974],{"class":243,"line":244},[241,971,248],{"class":247},[241,973,252],{"class":251},[241,975,256],{"class":255},[241,977,978,980,982,984],{"class":243,"line":259},[241,979,262],{"class":251},[241,981,266],{"class":265},[241,983,269],{"class":251},[241,985,272],{"class":265},[231,987,989],{"className":329,"code":988,"language":331,"meta":237,"style":237},"{\n  \"sites\": [\n    {\n      \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n      \"domain\": \"shop.example.com\",\n      \"site_url\": \"https:\u002F\u002Fshop.example.com\",\n      \"name\": \"Main store\",\n      \"status\": \"active\",\n      \"retention_days\": 90,\n      \"created_at\": \"2026-07-01T10:00:00Z\",\n      \"active_token_count\": 1,\n      \"group_id\": \"b2b1c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d\",\n      \"group_name\": \"Agency clients — Acme\"\n    }\n  ]\n}\n",[111,990,991,995,1008,1013,1032,1052,1072,1091,1111,1125,1144,1160,1180,1198,1204,1210],{"__ignoreMap":237},[241,992,993],{"class":243,"line":244},[241,994,338],{"class":265},[241,996,997,999,1001,1003,1005],{"class":243,"line":259},[241,998,343],{"class":265},[241,1000,440],{"class":346},[241,1002,350],{"class":265},[241,1004,353],{"class":265},[241,1006,1007],{"class":265}," [\n",[241,1009,1010],{"class":243,"line":366},[241,1011,1012],{"class":265},"    {\n",[241,1014,1015,1018,1020,1022,1024,1026,1028,1030],{"class":243,"line":387},[241,1016,1017],{"class":265},"      \"",[241,1019,881],{"class":247},[241,1021,350],{"class":265},[241,1023,353],{"class":265},[241,1025,266],{"class":265},[241,1027,358],{"class":251},[241,1029,350],{"class":265},[241,1031,363],{"class":265},[241,1033,1034,1036,1039,1041,1043,1045,1048,1050],{"class":243,"line":408},[241,1035,1017],{"class":265},[241,1037,1038],{"class":247},"domain",[241,1040,350],{"class":265},[241,1042,353],{"class":265},[241,1044,266],{"class":265},[241,1046,1047],{"class":251},"shop.example.com",[241,1049,350],{"class":265},[241,1051,363],{"class":265},[241,1053,1054,1056,1059,1061,1063,1065,1068,1070],{"class":243,"line":423},[241,1055,1017],{"class":265},[241,1057,1058],{"class":247},"site_url",[241,1060,350],{"class":265},[241,1062,353],{"class":265},[241,1064,266],{"class":265},[241,1066,1067],{"class":251},"https:\u002F\u002Fshop.example.com",[241,1069,350],{"class":265},[241,1071,363],{"class":265},[241,1073,1074,1076,1078,1080,1082,1084,1087,1089],{"class":243,"line":483},[241,1075,1017],{"class":265},[241,1077,899],{"class":247},[241,1079,350],{"class":265},[241,1081,353],{"class":265},[241,1083,266],{"class":265},[241,1085,1086],{"class":251},"Main store",[241,1088,350],{"class":265},[241,1090,363],{"class":265},[241,1092,1093,1095,1098,1100,1102,1104,1107,1109],{"class":243,"line":537},[241,1094,1017],{"class":265},[241,1096,1097],{"class":247},"status",[241,1099,350],{"class":265},[241,1101,353],{"class":265},[241,1103,266],{"class":265},[241,1105,1106],{"class":251},"active",[241,1108,350],{"class":265},[241,1110,363],{"class":265},[241,1112,1113,1115,1117,1119,1121,1123],{"class":243,"line":588},[241,1114,1017],{"class":265},[241,1116,456],{"class":247},[241,1118,350],{"class":265},[241,1120,353],{"class":265},[241,1122,463],{"class":447},[241,1124,363],{"class":265},[241,1126,1127,1129,1131,1133,1135,1137,1140,1142],{"class":243,"line":915},[241,1128,1017],{"class":265},[241,1130,571],{"class":247},[241,1132,350],{"class":265},[241,1134,353],{"class":265},[241,1136,266],{"class":265},[241,1138,1139],{"class":251},"2026-07-01T10:00:00Z",[241,1141,350],{"class":265},[241,1143,363],{"class":265},[241,1145,1147,1149,1152,1154,1156,1158],{"class":243,"line":1146},11,[241,1148,1017],{"class":265},[241,1150,1151],{"class":247},"active_token_count",[241,1153,350],{"class":265},[241,1155,353],{"class":265},[241,1157,792],{"class":447},[241,1159,363],{"class":265},[241,1161,1163,1165,1168,1170,1172,1174,1176,1178],{"class":243,"line":1162},12,[241,1164,1017],{"class":265},[241,1166,1167],{"class":247},"group_id",[241,1169,350],{"class":265},[241,1171,353],{"class":265},[241,1173,266],{"class":265},[241,1175,890],{"class":251},[241,1177,350],{"class":265},[241,1179,363],{"class":265},[241,1181,1183,1185,1188,1190,1192,1194,1196],{"class":243,"line":1182},13,[241,1184,1017],{"class":265},[241,1186,1187],{"class":247},"group_name",[241,1189,350],{"class":265},[241,1191,353],{"class":265},[241,1193,266],{"class":265},[241,1195,908],{"class":251},[241,1197,272],{"class":265},[241,1199,1201],{"class":243,"line":1200},14,[241,1202,1203],{"class":265},"    }\n",[241,1205,1207],{"class":243,"line":1206},15,[241,1208,1209],{"class":265},"  ]\n",[241,1211,1213],{"class":243,"line":1212},16,[241,1214,591],{"class":265},[98,1216,1217,1219,1220,1223,1224,1226,1227,1229,1230,1232,1233,1235],{},[111,1218,899],{}," is nullable — sites created without one come back as ",[111,1221,1222],{},"null",". So are\n",[111,1225,1167],{}," and ",[111,1228,1187],{},": they're ",[111,1231,1222],{}," together for a site that isn't\nin a ",[107,1234,173],{"href":150},", and always non-null together for one that is.",[289,1237,1239],{"id":1238},"add-a-site","Add a site",[98,1241,1242,1245,1246,1248,1249,1251,1252,1255,1256,1258,1259,1261,1262,1264,1265,1271],{},[111,1243,1244],{},"POST \u002Fsites"," registers a new site and mints its first site key in the same\ncall. ",[111,1247,1038],{}," is the bare hostname; ",[111,1250,1058],{}," is the full ",[111,1253,1254],{},"http(s)"," URL.\n",[111,1257,899],{}," is optional, and so is ",[111,1260,1167],{}," — assign the new site straight into\nan existing ",[107,1263,173],{"href":150}," at creation time, instead of a separate\n",[107,1266,1268],{"href":1267},"#update-a-site",[111,1269,1270],{},"PATCH \u002Fsites\u002F{id}"," call right after.",[231,1273,1275],{"className":233,"code":1274,"filename":235,"language":236,"meta":237,"style":237},"curl -X POST https:\u002F\u002Fapi.hellolog.io\u002Fv1\u002Fwordpress-activity-audit-log\u002Faccount\u002Fsites \\\n  -H \"Authorization: Bearer goal_acct_xxxxxxxx_...\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"domain\":\"shop.example.com\",\"site_url\":\"https:\u002F\u002Fshop.example.com\",\"name\":\"Main store\",\"group_id\":\"b2b1c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d\"}'\n",[111,1276,1277,1291,1303,1316],{"__ignoreMap":237},[241,1278,1279,1281,1284,1287,1289],{"class":243,"line":244},[241,1280,248],{"class":247},[241,1282,1283],{"class":251}," -X",[241,1285,1286],{"class":251}," POST",[241,1288,252],{"class":251},[241,1290,256],{"class":255},[241,1292,1293,1295,1297,1299,1301],{"class":243,"line":259},[241,1294,262],{"class":251},[241,1296,266],{"class":265},[241,1298,269],{"class":251},[241,1300,350],{"class":265},[241,1302,256],{"class":255},[241,1304,1305,1307,1309,1312,1314],{"class":243,"line":366},[241,1306,262],{"class":251},[241,1308,266],{"class":265},[241,1310,1311],{"class":251},"Content-Type: application\u002Fjson",[241,1313,350],{"class":265},[241,1315,256],{"class":255},[241,1317,1318,1321,1324,1327],{"class":243,"line":387},[241,1319,1320],{"class":251},"  -d",[241,1322,1323],{"class":265}," '",[241,1325,1326],{"class":251},"{\"domain\":\"shop.example.com\",\"site_url\":\"https:\u002F\u002Fshop.example.com\",\"name\":\"Main store\",\"group_id\":\"b2b1c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d\"}",[241,1328,1329],{"class":265},"'\n",[231,1331,1333],{"className":329,"code":1332,"language":331,"meta":237,"style":237},"{\n  \"site_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n  \"domain\": \"shop.example.com\",\n  \"token\": \"goal_live_ab12cd34_...\",\n  \"prefix\": \"ab12cd34\"\n}\n",[111,1334,1335,1339,1358,1376,1396,1412],{"__ignoreMap":237},[241,1336,1337],{"class":243,"line":244},[241,1338,338],{"class":265},[241,1340,1341,1343,1346,1348,1350,1352,1354,1356],{"class":243,"line":259},[241,1342,343],{"class":265},[241,1344,1345],{"class":346},"site_id",[241,1347,350],{"class":265},[241,1349,353],{"class":265},[241,1351,266],{"class":265},[241,1353,358],{"class":251},[241,1355,350],{"class":265},[241,1357,363],{"class":265},[241,1359,1360,1362,1364,1366,1368,1370,1372,1374],{"class":243,"line":366},[241,1361,343],{"class":265},[241,1363,1038],{"class":346},[241,1365,350],{"class":265},[241,1367,353],{"class":265},[241,1369,266],{"class":265},[241,1371,1047],{"class":251},[241,1373,350],{"class":265},[241,1375,363],{"class":265},[241,1377,1378,1380,1383,1385,1387,1389,1392,1394],{"class":243,"line":387},[241,1379,343],{"class":265},[241,1381,1382],{"class":346},"token",[241,1384,350],{"class":265},[241,1386,353],{"class":265},[241,1388,266],{"class":265},[241,1390,1391],{"class":251},"goal_live_ab12cd34_...",[241,1393,350],{"class":265},[241,1395,363],{"class":265},[241,1397,1398,1400,1402,1404,1406,1408,1410],{"class":243,"line":408},[241,1399,343],{"class":265},[241,1401,553],{"class":346},[241,1403,350],{"class":265},[241,1405,353],{"class":265},[241,1407,266],{"class":265},[241,1409,843],{"class":251},[241,1411,272],{"class":265},[241,1413,1414],{"class":243,"line":423},[241,1415,591],{"class":265},[98,1417,1418,1420,1421,1424,1425,1428,1429,1431,1432,1434,1435,1440],{},[111,1419,1382],{}," is a fresh ",[102,1422,1423],{},"site"," key, shown once — paste it straight into the\nplugin's ",[102,1426,1427],{},"Tools → helloLOG → Settings"," screen. The response never echoes\n",[111,1430,1167],{},"\u002F",[111,1433,1187],{},", even when you sent one — check ",[107,1436,1438],{"href":1437},"#list-sites",[111,1439,959],{}," right after if you need to confirm the assignment.",[98,1442,1443,1444,1446,1447,1450,1451,614,1454,614,1457,614,1460,302],{},"The group assignment is atomic with the create itself: a ",[111,1445,1167],{}," that\ndoesn't parse as a UUID, or names a group that isn't yours, fails the whole\ncall with ",[111,1448,1449],{},"404 not found"," and persists nothing — not even the site, so\nthere's no orphaned ungrouped site left behind to clean up afterward. Other\nerrors: ",[111,1452,1453],{},"400 invalid domain",[111,1455,1456],{},"400 site_url must be an http(s) URL",[111,1458,1459],{},"409 site already registered",[111,1461,1462],{},"409 plan site limit reached",[98,1464,122,1465,1467,1468,1470,1471,1474],{},[107,1466,166],{"href":155}," can create sites too, always into its\nown group: omit ",[111,1469,1167],{}," and the new site is auto-assigned to the key's\ngroup; send it explicitly and it must match the key's own group exactly\n— any other value (a sibling group, or no group at all) answers ",[111,1472,1473],{},"404",",\nsame as an unscoped key naming a group it doesn't own.",[289,1476,1478],{"id":1477},"update-a-site","Update a site",[98,1480,1481,1483,1484,930,1486,302],{},[111,1482,1270],{}," updates a site's display name, its group, or both —\nsend at least one of ",[111,1485,899],{},[111,1487,1167],{},[1489,1490,1491,1497],"ul",{},[1492,1493,1494,1496],"li",{},[111,1495,899],{}," — sending an empty string clears it.",[1492,1498,1499,1501,1502,1505,1506,1510,1511,1514,1515,178],{},[111,1500,1167],{}," — ",[102,1503,1504],{},"omit"," the field to leave the site's group alone;\nsend ",[102,1507,1508],{},[111,1509,1222],{}," to take it out of its group; send a ",[102,1512,1513],{},"group's UUID","\nto move it in. The group must be one of your own — see\n",[107,1516,1517],{"href":150},"Site groups",[231,1519,1521],{"className":233,"code":1520,"filename":235,"language":236,"meta":237,"style":237},"curl -X PATCH https:\u002F\u002Fapi.hellolog.io\u002Fv1\u002Fwordpress-activity-audit-log\u002Faccount\u002Fsites\u002F3fa85f64-5717-4562-b3fc-2c963f66afa6 \\\n  -H \"Authorization: Bearer goal_acct_xxxxxxxx_...\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"name\":\"Main store (EU)\",\"group_id\":\"b2b1c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d\"}'\n",[111,1522,1523,1537,1549,1561],{"__ignoreMap":237},[241,1524,1525,1527,1529,1532,1535],{"class":243,"line":244},[241,1526,248],{"class":247},[241,1528,1283],{"class":251},[241,1530,1531],{"class":251}," PATCH",[241,1533,1534],{"class":251}," https:\u002F\u002Fapi.hellolog.io\u002Fv1\u002Fwordpress-activity-audit-log\u002Faccount\u002Fsites\u002F3fa85f64-5717-4562-b3fc-2c963f66afa6",[241,1536,256],{"class":255},[241,1538,1539,1541,1543,1545,1547],{"class":243,"line":259},[241,1540,262],{"class":251},[241,1542,266],{"class":265},[241,1544,269],{"class":251},[241,1546,350],{"class":265},[241,1548,256],{"class":255},[241,1550,1551,1553,1555,1557,1559],{"class":243,"line":366},[241,1552,262],{"class":251},[241,1554,266],{"class":265},[241,1556,1311],{"class":251},[241,1558,350],{"class":265},[241,1560,256],{"class":255},[241,1562,1563,1565,1567,1570],{"class":243,"line":387},[241,1564,1320],{"class":251},[241,1566,1323],{"class":265},[241,1568,1569],{"class":251},"{\"name\":\"Main store (EU)\",\"group_id\":\"b2b1c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d\"}",[241,1571,1329],{"class":265},[98,1573,1574,1577,1578,1581,1582,1584,1585,1587],{},[111,1575,1576],{},"204 No Content"," on success. ",[111,1579,1580],{},"400 name or group_id required"," if the body\nhas neither field. ",[111,1583,1449],{}," if ",[111,1586,1167],{}," doesn't parse as a UUID\nor names a group that isn't yours (same anti-enumeration rule as a\nforeign site id).",[98,1589,122,1590,1592,1593,1595,1596,1598,1599,1601],{},[107,1591,166],{"href":155}," can only reach this endpoint for a site\nalready in its own group (any other site 404s before the body is even\nread). Sending ",[111,1594,1167],{}," at all from a group key — even reasserting the\nsite's own current group, or ",[111,1597,1222],{}," to try to ungroup it — answers ",[111,1600,1473],{},"\nand changes nothing. A group key can rename its own sites; only an\nunscoped account key can move a site between groups.",[289,1603,1605],{"id":1604},"reactivate-a-site","Reactivate a site",[98,1607,1608,1611],{},[111,1609,1610],{},"POST \u002Fsites\u002F{id}\u002Factivate"," re-activates a paused site, as long as your plan\nstill has a free site slot. Calling it on an already-active site is a no-op.",[231,1613,1615],{"className":233,"code":1614,"filename":235,"language":236,"meta":237,"style":237},"curl -X POST https:\u002F\u002Fapi.hellolog.io\u002Fv1\u002Fwordpress-activity-audit-log\u002Faccount\u002Fsites\u002F3fa85f64-5717-4562-b3fc-2c963f66afa6\u002Factivate \\\n  -H \"Authorization: Bearer goal_acct_xxxxxxxx_...\"\n",[111,1616,1617,1630],{"__ignoreMap":237},[241,1618,1619,1621,1623,1625,1628],{"class":243,"line":244},[241,1620,248],{"class":247},[241,1622,1283],{"class":251},[241,1624,1286],{"class":251},[241,1626,1627],{"class":251}," https:\u002F\u002Fapi.hellolog.io\u002Fv1\u002Fwordpress-activity-audit-log\u002Faccount\u002Fsites\u002F3fa85f64-5717-4562-b3fc-2c963f66afa6\u002Factivate",[241,1629,256],{"class":255},[241,1631,1632,1634,1636,1638],{"class":243,"line":259},[241,1633,262],{"class":251},[241,1635,266],{"class":265},[241,1637,269],{"class":251},[241,1639,272],{"class":265},[98,1641,1642,1577,1644,1646,1647,1650,1651,1654],{},[111,1643,1576],{},[111,1645,1462],{}," if you're at your\nplan's site cap. ",[111,1648,1649],{},"409 site cannot be reactivated — contact support"," for a\n",[102,1652,1653],{},"revoked"," site — revoked (as opposed to paused) sites can only be brought\nback by helloLOG support.",[289,1656,1658],{"id":1657},"delete-a-site","Delete a site",[94,1660,1662],{"icon":1661},"i-lucide-triangle-alert",[98,1663,1664,1667,1668,1671,1672,1675],{},[102,1665,1666],{},"This is permanent."," ",[111,1669,1670],{},"DELETE \u002Fsites\u002F{id}"," removes the site, every site key\nissued for it, and ",[102,1673,1674],{},"all of its events",". There's no undo and no recovery\nwindow.",[98,1677,1678,1679,1682],{},"The endpoint refuses to run without an explicit ",[111,1680,1681],{},"confirm=true"," query\nparameter:",[231,1684,1686],{"className":233,"code":1685,"filename":235,"language":236,"meta":237,"style":237},"curl -X DELETE \"https:\u002F\u002Fapi.hellolog.io\u002Fv1\u002Fwordpress-activity-audit-log\u002Faccount\u002Fsites\u002F3fa85f64-5717-4562-b3fc-2c963f66afa6?confirm=true\" \\\n  -H \"Authorization: Bearer goal_acct_xxxxxxxx_...\"\n",[111,1687,1688,1706],{"__ignoreMap":237},[241,1689,1690,1692,1694,1697,1699,1702,1704],{"class":243,"line":244},[241,1691,248],{"class":247},[241,1693,1283],{"class":251},[241,1695,1696],{"class":251}," DELETE",[241,1698,266],{"class":265},[241,1700,1701],{"class":251},"https:\u002F\u002Fapi.hellolog.io\u002Fv1\u002Fwordpress-activity-audit-log\u002Faccount\u002Fsites\u002F3fa85f64-5717-4562-b3fc-2c963f66afa6?confirm=true",[241,1703,350],{"class":265},[241,1705,256],{"class":255},[241,1707,1708,1710,1712,1714],{"class":243,"line":259},[241,1709,262],{"class":251},[241,1711,266],{"class":265},[241,1713,269],{"class":251},[241,1715,272],{"class":265},[98,1717,1718,1720,1721,614,1723,353],{},[111,1719,1576],{}," on success. Without ",[111,1722,1681],{},[111,1724,1725],{},"400",[231,1727,1729],{"className":329,"code":1728,"language":331,"meta":237,"style":237},"{\n  \"error\": \"destructive: pass ?confirm=true — the site, its keys, and its events are removed\"\n}\n",[111,1730,1731,1735,1753],{"__ignoreMap":237},[241,1732,1733],{"class":243,"line":244},[241,1734,338],{"class":265},[241,1736,1737,1739,1742,1744,1746,1748,1751],{"class":243,"line":259},[241,1738,343],{"class":265},[241,1740,1741],{"class":346},"error",[241,1743,350],{"class":265},[241,1745,353],{"class":265},[241,1747,266],{"class":265},[241,1749,1750],{"class":251},"destructive: pass ?confirm=true — the site, its keys, and its events are removed",[241,1752,272],{"class":265},[241,1754,1755],{"class":243,"line":366},[241,1756,591],{"class":265},[94,1758,1760],{"icon":1759},"i-lucide-info",[98,1761,1762,1763,1766,1767,1769,1770,1772],{},"Reactivating and deleting a site, and every ",[107,1764,125],{"href":1765},"#site-keys","\nendpoint below (list\u002Fmint\u002Frevoke), follow the same rule as update: a\n",[107,1768,166],{"href":155}," can only target a site that's already in\nits own group. A sibling-group or ungrouped site answers ",[111,1771,1473],{}," on all of\nthem, identical to a site on a different account entirely.",[116,1774,1517],{"id":1775},"site-groups",[98,1777,1778,1779,1782,1783,1786,1787,1790],{},"Groups organize your sites like folders — an agency running multiple\nclient sites might have one group per client. A site belongs to ",[102,1780,1781],{},"at\nmost one group","; there's no nesting, and groups carry ",[102,1784,1785],{},"no plan\nlimit"," — every plan, including Free, can create as many as it wants.\nDeleting a group ",[102,1788,1789],{},"ungroups"," its sites, it never deletes them, and\nnone of their events are touched.",[98,1792,1793,1794,1797,1798,1802,1803,1809,1810,302],{},"Each group also carries an optional ",[111,1795,1796],{},"external_ref"," — your own identifier\nfor it (a CRM client id, for example), unique per account. Set it on\ncreate or ",[107,1799,1801],{"href":1800},"#update-a-group","update"," it later, then look the group back up\nby that value with ",[107,1804,1806],{"href":1805},"#list-groups",[111,1807,1808],{},"GET \u002Fgroups?external_ref="," instead of\ntracking helloLOG's own ",[111,1811,881],{},[98,1813,1814,1815,1817,1818,1821,1822,1825],{},"In the dashboard, groups are managed from the ",[102,1816,950],{}," page; the\n",[102,1819,1820],{},"Logs"," page can filter events by group the same way ",[111,1823,1824],{},"?group_id=","\ndoes below.",[289,1827,1829],{"id":1828},"list-groups","List groups",[98,1831,1832,1835,1836,1838],{},[111,1833,1834],{},"GET \u002Fgroups"," returns every group on your account, each with its\ncurrent site count. A ",[107,1837,166],{"href":155}," gets back exactly\none row — its own group — never a sibling's.",[231,1840,1842],{"className":233,"code":1841,"filename":235,"language":236,"meta":237,"style":237},"curl https:\u002F\u002Fapi.hellolog.io\u002Fv1\u002Fwordpress-activity-audit-log\u002Faccount\u002Fgroups \\\n  -H \"Authorization: Bearer goal_acct_xxxxxxxx_...\"\n",[111,1843,1844,1853],{"__ignoreMap":237},[241,1845,1846,1848,1851],{"class":243,"line":244},[241,1847,248],{"class":247},[241,1849,1850],{"class":251}," https:\u002F\u002Fapi.hellolog.io\u002Fv1\u002Fwordpress-activity-audit-log\u002Faccount\u002Fgroups",[241,1852,256],{"class":255},[241,1854,1855,1857,1859,1861],{"class":243,"line":259},[241,1856,262],{"class":251},[241,1858,266],{"class":265},[241,1860,269],{"class":251},[241,1862,272],{"class":265},[231,1864,1866],{"className":329,"code":1865,"language":331,"meta":237,"style":237},"{\n  \"groups\": [\n    {\n      \"id\": \"b2b1c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d\",\n      \"name\": \"Agency clients — Acme\",\n      \"external_ref\": \"crm-4471\",\n      \"site_count\": 3,\n      \"created_at\": \"2026-08-20T09:00:00Z\"\n    }\n  ]\n}\n",[111,1867,1868,1872,1884,1888,1906,1924,1943,1959,1975,1979,1983],{"__ignoreMap":237},[241,1869,1870],{"class":243,"line":244},[241,1871,338],{"class":265},[241,1873,1874,1876,1878,1880,1882],{"class":243,"line":259},[241,1875,343],{"class":265},[241,1877,151],{"class":346},[241,1879,350],{"class":265},[241,1881,353],{"class":265},[241,1883,1007],{"class":265},[241,1885,1886],{"class":243,"line":366},[241,1887,1012],{"class":265},[241,1889,1890,1892,1894,1896,1898,1900,1902,1904],{"class":243,"line":387},[241,1891,1017],{"class":265},[241,1893,881],{"class":247},[241,1895,350],{"class":265},[241,1897,353],{"class":265},[241,1899,266],{"class":265},[241,1901,890],{"class":251},[241,1903,350],{"class":265},[241,1905,363],{"class":265},[241,1907,1908,1910,1912,1914,1916,1918,1920,1922],{"class":243,"line":408},[241,1909,1017],{"class":265},[241,1911,899],{"class":247},[241,1913,350],{"class":265},[241,1915,353],{"class":265},[241,1917,266],{"class":265},[241,1919,908],{"class":251},[241,1921,350],{"class":265},[241,1923,363],{"class":265},[241,1925,1926,1928,1930,1932,1934,1936,1939,1941],{"class":243,"line":423},[241,1927,1017],{"class":265},[241,1929,1796],{"class":247},[241,1931,350],{"class":265},[241,1933,353],{"class":265},[241,1935,266],{"class":265},[241,1937,1938],{"class":251},"crm-4471",[241,1940,350],{"class":265},[241,1942,363],{"class":265},[241,1944,1945,1947,1950,1952,1954,1957],{"class":243,"line":483},[241,1946,1017],{"class":265},[241,1948,1949],{"class":247},"site_count",[241,1951,350],{"class":265},[241,1953,353],{"class":265},[241,1955,1956],{"class":447}," 3",[241,1958,363],{"class":265},[241,1960,1961,1963,1965,1967,1969,1971,1973],{"class":243,"line":537},[241,1962,1017],{"class":265},[241,1964,571],{"class":247},[241,1966,350],{"class":265},[241,1968,353],{"class":265},[241,1970,266],{"class":265},[241,1972,860],{"class":251},[241,1974,272],{"class":265},[241,1976,1977],{"class":243,"line":588},[241,1978,1203],{"class":265},[241,1980,1981],{"class":243,"line":915},[241,1982,1209],{"class":265},[241,1984,1985],{"class":243,"line":1146},[241,1986,591],{"class":265},[98,1988,1989,624,1991,1993,1994,178],{},[111,1990,1796],{},[111,1992,1222],{}," for a group that doesn't have one set — see\n",[107,1995,1997],{"href":1996},"#create-a-group","Create a group",[1999,2000,2002],"h4",{"id":2001},"filter-by-external_ref","Filter by external_ref",[98,2004,2005,2006,2009,2010,302],{},"Pass ",[111,2007,2008],{},"?external_ref=\u003Cvalue>"," for an exact match against your own groups —\nuseful once your own system tracks a group by that value instead of\nhelloLOG's ",[111,2011,881],{},[231,2013,2015],{"className":233,"code":2014,"filename":235,"language":236,"meta":237,"style":237},"curl \"https:\u002F\u002Fapi.hellolog.io\u002Fv1\u002Fwordpress-activity-audit-log\u002Faccount\u002Fgroups?external_ref=crm-4471\" \\\n  -H \"Authorization: Bearer goal_acct_xxxxxxxx_...\"\n",[111,2016,2017,2030],{"__ignoreMap":237},[241,2018,2019,2021,2023,2026,2028],{"class":243,"line":244},[241,2020,248],{"class":247},[241,2022,266],{"class":265},[241,2024,2025],{"class":251},"https:\u002F\u002Fapi.hellolog.io\u002Fv1\u002Fwordpress-activity-audit-log\u002Faccount\u002Fgroups?external_ref=crm-4471",[241,2027,350],{"class":265},[241,2029,256],{"class":255},[241,2031,2032,2034,2036,2038],{"class":243,"line":259},[241,2033,262],{"class":251},[241,2035,266],{"class":265},[241,2037,269],{"class":251},[241,2039,272],{"class":265},[98,2041,2042,2043,2046,2047,2049,2050,2052,2053,2055],{},"No match still answers ",[111,2044,2045],{},"200"," with an empty ",[111,2048,151],{}," array — it's a filter,\nnot a lookup, so there's no ",[111,2051,1473],{}," for \"no group has that ",[111,2054,1796],{},"\".",[289,2057,1997],{"id":2058},"create-a-group",[98,2060,2061,2064,2065,2067,2068,2070,2071,302],{},[111,2062,2063],{},"POST \u002Fgroups",". ",[111,2066,899],{}," is required; ",[111,2069,1796],{}," is optional. Omit it, or\nsend an empty string, for no ",[111,2072,1796],{},[231,2074,2076],{"className":233,"code":2075,"filename":235,"language":236,"meta":237,"style":237},"curl -X POST https:\u002F\u002Fapi.hellolog.io\u002Fv1\u002Fwordpress-activity-audit-log\u002Faccount\u002Fgroups \\\n  -H \"Authorization: Bearer goal_acct_xxxxxxxx_...\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"name\":\"Agency clients — Acme\",\"external_ref\":\"crm-4471\"}'\n",[111,2077,2078,2090,2102,2114],{"__ignoreMap":237},[241,2079,2080,2082,2084,2086,2088],{"class":243,"line":244},[241,2081,248],{"class":247},[241,2083,1283],{"class":251},[241,2085,1286],{"class":251},[241,2087,1850],{"class":251},[241,2089,256],{"class":255},[241,2091,2092,2094,2096,2098,2100],{"class":243,"line":259},[241,2093,262],{"class":251},[241,2095,266],{"class":265},[241,2097,269],{"class":251},[241,2099,350],{"class":265},[241,2101,256],{"class":255},[241,2103,2104,2106,2108,2110,2112],{"class":243,"line":366},[241,2105,262],{"class":251},[241,2107,266],{"class":265},[241,2109,1311],{"class":251},[241,2111,350],{"class":265},[241,2113,256],{"class":255},[241,2115,2116,2118,2120,2123],{"class":243,"line":387},[241,2117,1320],{"class":251},[241,2119,1323],{"class":265},[241,2121,2122],{"class":251},"{\"name\":\"Agency clients — Acme\",\"external_ref\":\"crm-4471\"}",[241,2124,1329],{"class":265},[231,2126,2128],{"className":329,"code":2127,"language":331,"meta":237,"style":237},"{\n  \"id\": \"b2b1c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d\",\n  \"name\": \"Agency clients — Acme\",\n  \"external_ref\": \"crm-4471\"\n}\n",[111,2129,2130,2134,2152,2170,2186],{"__ignoreMap":237},[241,2131,2132],{"class":243,"line":244},[241,2133,338],{"class":265},[241,2135,2136,2138,2140,2142,2144,2146,2148,2150],{"class":243,"line":259},[241,2137,343],{"class":265},[241,2139,881],{"class":346},[241,2141,350],{"class":265},[241,2143,353],{"class":265},[241,2145,266],{"class":265},[241,2147,890],{"class":251},[241,2149,350],{"class":265},[241,2151,363],{"class":265},[241,2153,2154,2156,2158,2160,2162,2164,2166,2168],{"class":243,"line":366},[241,2155,343],{"class":265},[241,2157,899],{"class":346},[241,2159,350],{"class":265},[241,2161,353],{"class":265},[241,2163,266],{"class":265},[241,2165,908],{"class":251},[241,2167,350],{"class":265},[241,2169,363],{"class":265},[241,2171,2172,2174,2176,2178,2180,2182,2184],{"class":243,"line":387},[241,2173,343],{"class":265},[241,2175,1796],{"class":346},[241,2177,350],{"class":265},[241,2179,353],{"class":265},[241,2181,266],{"class":265},[241,2183,1938],{"class":251},[241,2185,272],{"class":265},[241,2187,2188],{"class":243,"line":408},[241,2189,591],{"class":265},[98,2191,2192,2195,2196,2199,2200,2202,2203,2206,2207,2206,2210,2213,2214,2217,2218,2220,2221,2223],{},[111,2193,2194],{},"201 Created"," on success. Errors: ",[111,2197,2198],{},"400 name required"," (empty\u002Fmissing\n",[111,2201,899],{},"), ",[111,2204,2205],{},"400 name too long"," (over 200 characters), ",[111,2208,2209],{},"400 external_ref too long",[111,2211,2212],{},"409 group name already exists"," (you already\nhave a group with that name — group names are unique per account, not\nglobally), ",[111,2215,2216],{},"409 external_ref already exists"," (same rule, but for\n",[111,2219,1796],{}," — a separate uniqueness check, so the two ",[111,2222,301],{},"s never\ncollide with each other).",[289,2225,2227],{"id":2226},"update-a-group","Update a group",[98,2229,2230,2233,2234,2236],{},[111,2231,2232],{},"PATCH \u002Fgroups\u002F{id}"," renames a group, changes its ",[111,2235,1796],{},", or both\n— send at least one of the two fields.",[1489,2238,2239,2248],{},[1492,2240,2241,2243,2244,2247],{},[111,2242,899],{}," — required non-empty ",[102,2245,2246],{},"when sent","; a group's name has no\n\"clear\" state.",[1492,2249,2250,2252,2253,2260,2261,2263,2264,2268],{},[111,2251,1796],{}," — tri-state, the same convention ",[107,2254,2255,2257,2258],{"href":1267},[111,2256,1270],{},"'s ",[111,2259,1167],{}," uses: ",[102,2262,1504],{}," the field to\nleave it alone, send ",[102,2265,2266],{},[111,2267,1222],{}," (or an empty string) to clear it, send a\nvalue to set it.",[231,2270,2272],{"className":233,"code":2271,"filename":235,"language":236,"meta":237,"style":237},"curl -X PATCH https:\u002F\u002Fapi.hellolog.io\u002Fv1\u002Fwordpress-activity-audit-log\u002Faccount\u002Fgroups\u002Fb2b1c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d \\\n  -H \"Authorization: Bearer goal_acct_xxxxxxxx_...\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"name\":\"Agency clients — Acme Corp\",\"external_ref\":\"crm-4471-v2\"}'\n",[111,2273,2274,2287,2299,2311],{"__ignoreMap":237},[241,2275,2276,2278,2280,2282,2285],{"class":243,"line":244},[241,2277,248],{"class":247},[241,2279,1283],{"class":251},[241,2281,1531],{"class":251},[241,2283,2284],{"class":251}," https:\u002F\u002Fapi.hellolog.io\u002Fv1\u002Fwordpress-activity-audit-log\u002Faccount\u002Fgroups\u002Fb2b1c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d",[241,2286,256],{"class":255},[241,2288,2289,2291,2293,2295,2297],{"class":243,"line":259},[241,2290,262],{"class":251},[241,2292,266],{"class":265},[241,2294,269],{"class":251},[241,2296,350],{"class":265},[241,2298,256],{"class":255},[241,2300,2301,2303,2305,2307,2309],{"class":243,"line":366},[241,2302,262],{"class":251},[241,2304,266],{"class":265},[241,2306,1311],{"class":251},[241,2308,350],{"class":265},[241,2310,256],{"class":255},[241,2312,2313,2315,2317,2320],{"class":243,"line":387},[241,2314,1320],{"class":251},[241,2316,1323],{"class":265},[241,2318,2319],{"class":251},"{\"name\":\"Agency clients — Acme Corp\",\"external_ref\":\"crm-4471-v2\"}",[241,2321,1329],{"class":265},[98,2323,2324,1577,2326,2329,2330,2333,2334,930,2336,2338,2339,2341,2342,614,2344,614,2346,302],{},[111,2325,1576],{},[111,2327,2328],{},"400 name or external_ref required"," if the\nbody has neither field. Otherwise the same errors as ",[107,2331,2332],{"href":1996},"create a\ngroup",": ",[111,2335,2198],{},[111,2337,2205],{}," when\n",[111,2340,899],{}," is sent, ",[111,2343,2209],{},[111,2345,2212],{},[111,2347,2216],{},[289,2349,2351],{"id":2350},"delete-a-group","Delete a group",[98,2353,2354,2357,2358,2360,2361,2363],{},[111,2355,2356],{},"DELETE \u002Fgroups\u002F{id}"," removes the group. Every site in it has its\n",[111,2359,1167],{}," set back to ",[111,2362,1222],{}," by the deletion itself — the sites, and\nall of their events, are left exactly as they were.",[231,2365,2367],{"className":233,"code":2366,"filename":235,"language":236,"meta":237,"style":237},"curl -X DELETE https:\u002F\u002Fapi.hellolog.io\u002Fv1\u002Fwordpress-activity-audit-log\u002Faccount\u002Fgroups\u002Fb2b1c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d \\\n  -H \"Authorization: Bearer goal_acct_xxxxxxxx_...\"\n",[111,2368,2369,2381],{"__ignoreMap":237},[241,2370,2371,2373,2375,2377,2379],{"class":243,"line":244},[241,2372,248],{"class":247},[241,2374,1283],{"class":251},[241,2376,1696],{"class":251},[241,2378,2284],{"class":251},[241,2380,256],{"class":255},[241,2382,2383,2385,2387,2389],{"class":243,"line":259},[241,2384,262],{"class":251},[241,2386,266],{"class":265},[241,2388,269],{"class":251},[241,2390,272],{"class":265},[98,2392,2393,2395],{},[111,2394,1576],{}," on success.",[289,2397,177],{"id":2398},"group-scoped-keys",[94,2400,2401],{"icon":87},[98,2402,2403,2404,2407],{},"Group keys are the way to hand a customer, sub-team, or reseller client\nAPI access to ",[102,2405,2406],{},"just their own sites"," — everything under one group,\nnothing else on your account. Mint one per group instead of sharing your\naccount key.",[98,2409,2410,2411,2413,2414,2417,2418,2421,2422,2428,2429,2431,2432,2434,2435,2437,2438,302],{},"A group key looks like ",[111,2412,169],{}," and authenticates the same way an\naccount key does — as a bearer token, against the same\n",[111,2415,2416],{},"https:\u002F\u002Fapi.hellolog.io\u002Fv1\u002Fwordpress-activity-audit-log\u002Faccount"," base\nURL. Once minted, it behaves like a narrower account key: it can list,\ncreate (auto-assigned into its own group), rename, reactivate, delete and\nmanage the tokens of sites ",[102,2419,2420],{},"in its own group only",", and its ",[107,2423,2425],{"href":2424},"#events",[111,2426,2427],{},"GET \u002Fevents"," always carries an implicit ",[111,2430,1167],{}," filter for that\ngroup. A sibling group's sites, or ungrouped sites, answer ",[111,2433,1473],{}," — the\nsame can't-enumerate rule the rest of this API follows, not a ",[111,2436,113],{},", so a\ngroup key can't even confirm a foreign site or group ",[183,2439,2440],{},"exists",[98,2442,2443,2444,2447,2448,2451,2452,2454,2455,353],{},"What a group key ",[102,2445,2446],{},"cannot"," do, no matter whose group it is — including\nits own: create, rename, or delete groups, or mint, list, or revoke group\nkeys. Those five actions require an ",[102,2449,2450],{},"unscoped account key","\n(",[111,2453,146],{},"); a group key gets ",[111,2456,113],{},[231,2458,2460],{"className":329,"code":2459,"language":331,"meta":237,"style":237},"{ \"error\": \"account key required\" }\n",[111,2461,2462],{"__ignoreMap":237},[241,2463,2464,2467,2469,2471,2473,2475,2477,2480,2482],{"class":243,"line":244},[241,2465,2466],{"class":265},"{",[241,2468,266],{"class":265},[241,2470,1741],{"class":346},[241,2472,350],{"class":265},[241,2474,353],{"class":265},[241,2476,266],{"class":265},[241,2478,2479],{"class":251},"account key required",[241,2481,350],{"class":265},[241,2483,585],{"class":265},[98,2485,2486,2487,2490],{},"Only an unscoped account key can mint a group key in the first place —\nthere's no self-service path for a group key to mint a sibling or replace\nitself. Each group has its own ",[102,2488,2489],{},"10 active group keys"," cap, independent\nof the account's own 10-active-account-keys cap and of every other\ngroup's cap.",[98,2492,2493,2494,2497],{},"Deleting a group (see ",[107,2495,2351],{"href":2496},"#delete-a-group"," above) revokes\nevery key minted for it — immediately, not at the next cache refresh — as\npart of the same operation. There's no way to \"orphan\" a group key by\ndeleting its group; it simply stops working.",[1999,2499,2501],{"id":2500},"mint-a-group-key","Mint a group key",[98,2503,2504,1501,2506,2064,2509,2511,2512,2515],{},[111,2505,221],{},[102,2507,2508],{},"unscoped account key only",[111,2510,899],{}," is\noptional and defaults to ",[111,2513,2514],{},"\"group key\""," when omitted.",[231,2517,2519],{"className":233,"code":2518,"filename":235,"language":236,"meta":237,"style":237},"curl -X POST https:\u002F\u002Fapi.hellolog.io\u002Fv1\u002Fwordpress-activity-audit-log\u002Faccount\u002Fgroups\u002Fb2b1c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d\u002Fkeys \\\n  -H \"Authorization: Bearer goal_acct_xxxxxxxx_...\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"name\":\"Acme portal access\"}'\n",[111,2520,2521,2534,2546,2558],{"__ignoreMap":237},[241,2522,2523,2525,2527,2529,2532],{"class":243,"line":244},[241,2524,248],{"class":247},[241,2526,1283],{"class":251},[241,2528,1286],{"class":251},[241,2530,2531],{"class":251}," https:\u002F\u002Fapi.hellolog.io\u002Fv1\u002Fwordpress-activity-audit-log\u002Faccount\u002Fgroups\u002Fb2b1c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d\u002Fkeys",[241,2533,256],{"class":255},[241,2535,2536,2538,2540,2542,2544],{"class":243,"line":259},[241,2537,262],{"class":251},[241,2539,266],{"class":265},[241,2541,269],{"class":251},[241,2543,350],{"class":265},[241,2545,256],{"class":255},[241,2547,2548,2550,2552,2554,2556],{"class":243,"line":366},[241,2549,262],{"class":251},[241,2551,266],{"class":265},[241,2553,1311],{"class":251},[241,2555,350],{"class":265},[241,2557,256],{"class":255},[241,2559,2560,2562,2564,2567],{"class":243,"line":387},[241,2561,1320],{"class":251},[241,2563,1323],{"class":265},[241,2565,2566],{"class":251},"{\"name\":\"Acme portal access\"}",[241,2568,1329],{"class":265},[231,2570,2572],{"className":329,"code":2571,"language":331,"meta":237,"style":237},"{\n  \"key\": \"goal_grp_ab12cd34_...\",\n  \"prefix\": \"ab12cd34\",\n  \"name\": \"Acme portal access\"\n}\n",[111,2573,2574,2578,2597,2615,2632],{"__ignoreMap":237},[241,2575,2576],{"class":243,"line":244},[241,2577,338],{"class":265},[241,2579,2580,2582,2584,2586,2588,2590,2593,2595],{"class":243,"line":259},[241,2581,343],{"class":265},[241,2583,542],{"class":346},[241,2585,350],{"class":265},[241,2587,353],{"class":265},[241,2589,266],{"class":265},[241,2591,2592],{"class":251},"goal_grp_ab12cd34_...",[241,2594,350],{"class":265},[241,2596,363],{"class":265},[241,2598,2599,2601,2603,2605,2607,2609,2611,2613],{"class":243,"line":366},[241,2600,343],{"class":265},[241,2602,553],{"class":346},[241,2604,350],{"class":265},[241,2606,353],{"class":265},[241,2608,266],{"class":265},[241,2610,843],{"class":251},[241,2612,350],{"class":265},[241,2614,363],{"class":265},[241,2616,2617,2619,2621,2623,2625,2627,2630],{"class":243,"line":387},[241,2618,343],{"class":265},[241,2620,899],{"class":346},[241,2622,350],{"class":265},[241,2624,353],{"class":265},[241,2626,266],{"class":265},[241,2628,2629],{"class":251},"Acme portal access",[241,2631,272],{"class":265},[241,2633,2634],{"class":243,"line":408},[241,2635,591],{"class":265},[98,2637,2638,1577,2640,2642,2643,2646,2647,2649,2650,2653,2654,2657],{},[111,2639,2194],{},[111,2641,542],{}," is the full token, shown ",[102,2644,2645],{},"exactly\nonce"," — copy it now, helloLOG only stores its hash. ",[111,2648,1449],{}," if\n",[111,2651,2652],{},"{id}"," isn't a valid UUID or isn't one of your groups. ",[111,2655,2656],{},"409 ten active group keys already — revoke one before minting another"," past this\ngroup's cap.",[1999,2659,2661],{"id":2660},"list-a-groups-keys","List a group's keys",[98,2663,2664,1501,2667,2669,2670,2673,2674,302],{},[111,2665,2666],{},"GET \u002Fgroups\u002F{id}\u002Fkeys",[102,2668,2508],{},". Returns every\nkey ever minted for the group, active ",[102,2671,2672],{},"and"," revoked, newest first —\nthe same audit-trail convention as ",[107,2675,2677],{"href":2676},"#list-a-sites-keys","list a site's keys",[231,2679,2681],{"className":233,"code":2680,"filename":235,"language":236,"meta":237,"style":237},"curl https:\u002F\u002Fapi.hellolog.io\u002Fv1\u002Fwordpress-activity-audit-log\u002Faccount\u002Fgroups\u002Fb2b1c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d\u002Fkeys \\\n  -H \"Authorization: Bearer goal_acct_xxxxxxxx_...\"\n",[111,2682,2683,2691],{"__ignoreMap":237},[241,2684,2685,2687,2689],{"class":243,"line":244},[241,2686,248],{"class":247},[241,2688,2531],{"class":251},[241,2690,256],{"class":255},[241,2692,2693,2695,2697,2699],{"class":243,"line":259},[241,2694,262],{"class":251},[241,2696,266],{"class":265},[241,2698,269],{"class":251},[241,2700,272],{"class":265},[231,2702,2704],{"className":329,"code":2703,"language":331,"meta":237,"style":237},"{\n  \"keys\": [\n    { \"prefix\": \"ab12cd34\", \"name\": \"Acme portal access\", \"created_at\": \"2026-08-20T09:00:00Z\", \"last_used_at\": \"2026-08-22T14:12:00Z\", \"revoked_at\": null }\n  ]\n}\n",[111,2705,2706,2710,2723,2808,2812],{"__ignoreMap":237},[241,2707,2708],{"class":243,"line":244},[241,2709,338],{"class":265},[241,2711,2712,2714,2717,2719,2721],{"class":243,"line":259},[241,2713,343],{"class":265},[241,2715,2716],{"class":346},"keys",[241,2718,350],{"class":265},[241,2720,353],{"class":265},[241,2722,1007],{"class":265},[241,2724,2725,2728,2730,2732,2734,2736,2738,2740,2742,2744,2746,2748,2750,2752,2754,2756,2758,2760,2762,2764,2766,2768,2770,2772,2774,2776,2778,2781,2783,2785,2787,2790,2792,2794,2796,2799,2801,2803,2806],{"class":243,"line":366},[241,2726,2727],{"class":265},"    {",[241,2729,266],{"class":265},[241,2731,553],{"class":247},[241,2733,350],{"class":265},[241,2735,353],{"class":265},[241,2737,266],{"class":265},[241,2739,843],{"class":251},[241,2741,350],{"class":265},[241,2743,451],{"class":265},[241,2745,266],{"class":265},[241,2747,899],{"class":247},[241,2749,350],{"class":265},[241,2751,353],{"class":265},[241,2753,266],{"class":265},[241,2755,2629],{"class":251},[241,2757,350],{"class":265},[241,2759,451],{"class":265},[241,2761,266],{"class":265},[241,2763,571],{"class":247},[241,2765,350],{"class":265},[241,2767,353],{"class":265},[241,2769,266],{"class":265},[241,2771,860],{"class":251},[241,2773,350],{"class":265},[241,2775,451],{"class":265},[241,2777,266],{"class":265},[241,2779,2780],{"class":247},"last_used_at",[241,2782,350],{"class":265},[241,2784,353],{"class":265},[241,2786,266],{"class":265},[241,2788,2789],{"class":251},"2026-08-22T14:12:00Z",[241,2791,350],{"class":265},[241,2793,451],{"class":265},[241,2795,266],{"class":265},[241,2797,2798],{"class":247},"revoked_at",[241,2800,350],{"class":265},[241,2802,353],{"class":265},[241,2804,2805],{"class":265}," null",[241,2807,585],{"class":265},[241,2809,2810],{"class":243,"line":387},[241,2811,1209],{"class":265},[241,2813,2814],{"class":243,"line":408},[241,2815,591],{"class":265},[1999,2817,2819],{"id":2818},"revoke-a-group-key","Revoke a group key",[98,2821,2822,1501,2825,302],{},[111,2823,2824],{},"DELETE \u002Fgroups\u002F{id}\u002Fkeys\u002F{prefix}",[102,2826,2508],{},[231,2828,2830],{"className":233,"code":2829,"filename":235,"language":236,"meta":237,"style":237},"curl -X DELETE https:\u002F\u002Fapi.hellolog.io\u002Fv1\u002Fwordpress-activity-audit-log\u002Faccount\u002Fgroups\u002Fb2b1c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d\u002Fkeys\u002Fab12cd34 \\\n  -H \"Authorization: Bearer goal_acct_xxxxxxxx_...\"\n",[111,2831,2832,2845],{"__ignoreMap":237},[241,2833,2834,2836,2838,2840,2843],{"class":243,"line":244},[241,2835,248],{"class":247},[241,2837,1283],{"class":251},[241,2839,1696],{"class":251},[241,2841,2842],{"class":251}," https:\u002F\u002Fapi.hellolog.io\u002Fv1\u002Fwordpress-activity-audit-log\u002Faccount\u002Fgroups\u002Fb2b1c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d\u002Fkeys\u002Fab12cd34",[241,2844,256],{"class":255},[241,2846,2847,2849,2851,2853],{"class":243,"line":259},[241,2848,262],{"class":251},[241,2850,266],{"class":265},[241,2852,269],{"class":251},[241,2854,272],{"class":265},[98,2856,2857,1577,2859,2861],{},[111,2858,1576],{},[111,2860,1449],{}," if the prefix doesn't exist,\nbelongs to a different group (even a group on your own account), or was\nalready revoked — same anti-enumeration rule as everywhere else on this\nAPI.",[2863,2864,2865,2881],"table",{},[2866,2867,2868],"thead",{},[2869,2870,2871,2875,2878],"tr",{},[2872,2873,2874],"th",{},"Status",[2872,2876,2877],{},"When",[2872,2879,2880],{},"Message",[2882,2883,2884,2896,2906,2935,2949,2963],"tbody",{},[2869,2885,2886,2890,2893],{},[2887,2888,2889],"td",{},"201",[2887,2891,2892],{},"Group key minted",[2887,2894,2895],{},"—",[2869,2897,2898,2901,2904],{},[2887,2899,2900],{},"204",[2887,2902,2903],{},"Group key revoked",[2887,2905,2895],{},[2869,2907,2908,2910,2931],{},[2887,2909,113],{},[2887,2911,2912,2913,1431,2916,1431,2919,2922,2923,2926,2927,2930],{},"Any group-key endpoint (",[111,2914,2915],{},"POST",[111,2917,2918],{},"GET",[111,2920,2921],{},"DELETE ...\u002Fkeys*",") called with a ",[111,2924,2925],{},"goal_grp_"," key instead of an unscoped ",[111,2928,2929],{},"goal_acct_"," key — including a key acting on its own group",[2887,2932,2933],{},[111,2934,2479],{},[2869,2936,2937,2939,2944],{},[2887,2938,1473],{},[2887,2940,2941,2943],{},[111,2942,2652],{}," isn't a valid UUID or isn't one of your groups",[2887,2945,2946],{},[111,2947,2948],{},"not found",[2869,2950,2951,2953,2959],{},[2887,2952,1473],{},[2887,2954,2955,2958],{},[111,2956,2957],{},"{prefix}"," doesn't exist, belongs to a different group, or is already revoked",[2887,2960,2961],{},[111,2962,2948],{},[2869,2964,2965,2967,2973],{},[2887,2966,301],{},[2887,2968,2969,2972],{},[111,2970,2971],{},"POST ...\u002Fkeys"," past this group's 10-active-key cap",[2887,2974,2975],{},[111,2976,2977],{},"ten active group keys already — revoke one before minting another",[289,2979,2981],{"id":2980},"group-errors","Group errors",[98,2983,2984,2985,2987],{},"A missing group id and a foreign one — a group that belongs to someone\nelse's account — both answer the same ",[111,2986,1473],{},", the same\ncan't-enumerate-another-tenant's-ids rule the rest of this API follows.",[2863,2989,2990,3000],{},[2866,2991,2992],{},[2869,2993,2994,2996,2998],{},[2872,2995,2874],{},[2872,2997,2877],{},[2872,2999,2880],{},[2882,3001,3002,3028,3046,3066,3084,3110,3127],{},[2869,3003,3004,3006,3023],{},[2887,3005,1725],{},[2887,3007,3008,1431,3010,3012,3013,3015,3016,3019,3020,3022],{},[111,3009,2915],{},[111,3011,2232],{}," with an empty or missing ",[111,3014,899],{}," (on ",[111,3017,3018],{},"PATCH",", only when ",[111,3021,899],{}," is sent)",[2887,3024,3025],{},[111,3026,3027],{},"name required",[2869,3029,3030,3032,3041],{},[2887,3031,1725],{},[2887,3033,3034,1431,3036,637,3038,3040],{},[111,3035,2915],{},[111,3037,2232],{},[111,3039,899],{}," over 200 characters",[2887,3042,3043],{},[111,3044,3045],{},"name too long",[2869,3047,3048,3050,3061],{},[2887,3049,1725],{},[2887,3051,3052,3054,3055,3057,3058,3060],{},[111,3053,2232],{}," with neither ",[111,3056,899],{}," nor ",[111,3059,1796],{}," in the body",[2887,3062,3063],{},[111,3064,3065],{},"name or external_ref required",[2869,3067,3068,3070,3079],{},[2887,3069,1725],{},[2887,3071,3072,1431,3074,3076,3077,3040],{},[111,3073,2915],{},[111,3075,2232],{}," with an ",[111,3078,1796],{},[2887,3080,3081],{},[111,3082,3083],{},"external_ref too long",[2869,3085,3086,3088,3106],{},[2887,3087,1473],{},[2887,3089,3090,3091,3093,3094,614,3098,3101,3102,3105],{},"Group id doesn't exist, isn't yours, or isn't a valid UUID — on any endpoint that takes a ",[111,3092,1167],{}," (group CRUD, ",[107,3095,3097],{"href":3096},"#add-a-site","site creation",[107,3099,3100],{"href":1267},"site update",", the ",[107,3103,3104],{"href":2424},"events filter",")",[2887,3107,3108],{},[111,3109,2948],{},[2869,3111,3112,3114,3122],{},[2887,3113,301],{},[2887,3115,3116,3118,3119,3121],{},[111,3117,2063],{}," or ",[111,3120,2232],{}," with a name you already have on another group",[2887,3123,3124],{},[111,3125,3126],{},"group name already exists",[2869,3128,3129,3131,3140],{},[2887,3130,301],{},[2887,3132,3133,3118,3135,3076,3137,3139],{},[111,3134,2063],{},[111,3136,2232],{},[111,3138,1796],{}," you already have on another group",[2887,3141,3142],{},[111,3143,3144],{},"external_ref already exists",[116,3146,3148],{"id":3147},"site-keys","Site keys",[289,3150,3152],{"id":3151},"list-a-sites-keys","List a site's keys",[98,3154,3155,3158,3159,3161],{},[111,3156,3157],{},"GET \u002Fsites\u002F{id}\u002Ftokens"," lists every key a site has ever had — active\n",[102,3160,2672],{}," revoked — newest first.",[231,3163,3165],{"className":233,"code":3164,"filename":235,"language":236,"meta":237,"style":237},"curl https:\u002F\u002Fapi.hellolog.io\u002Fv1\u002Fwordpress-activity-audit-log\u002Faccount\u002Fsites\u002F3fa85f64-5717-4562-b3fc-2c963f66afa6\u002Ftokens \\\n  -H \"Authorization: Bearer goal_acct_xxxxxxxx_...\"\n",[111,3166,3167,3176],{"__ignoreMap":237},[241,3168,3169,3171,3174],{"class":243,"line":244},[241,3170,248],{"class":247},[241,3172,3173],{"class":251}," https:\u002F\u002Fapi.hellolog.io\u002Fv1\u002Fwordpress-activity-audit-log\u002Faccount\u002Fsites\u002F3fa85f64-5717-4562-b3fc-2c963f66afa6\u002Ftokens",[241,3175,256],{"class":255},[241,3177,3178,3180,3182,3184],{"class":243,"line":259},[241,3179,262],{"class":251},[241,3181,266],{"class":265},[241,3183,269],{"class":251},[241,3185,272],{"class":265},[231,3187,3189],{"className":329,"code":3188,"language":331,"meta":237,"style":237},"{\n  \"tokens\": [\n    { \"prefix\": \"ab12cd34\", \"created_at\": \"2026-08-01T00:00:00Z\", \"last_used_at\": \"2026-08-20T00:00:00Z\", \"revoked_at\": null },\n    { \"prefix\": \"ef56gh78\", \"created_at\": \"2026-08-10T00:00:00Z\", \"last_used_at\": null, \"revoked_at\": \"2026-08-15T00:00:00Z\" }\n  ]\n}\n",[111,3190,3191,3195,3208,3273,3339,3343],{"__ignoreMap":237},[241,3192,3193],{"class":243,"line":244},[241,3194,338],{"class":265},[241,3196,3197,3199,3202,3204,3206],{"class":243,"line":259},[241,3198,343],{"class":265},[241,3200,3201],{"class":346},"tokens",[241,3203,350],{"class":265},[241,3205,353],{"class":265},[241,3207,1007],{"class":265},[241,3209,3210,3212,3214,3216,3218,3220,3222,3224,3226,3228,3230,3232,3234,3236,3238,3240,3242,3244,3246,3248,3250,3252,3254,3257,3259,3261,3263,3265,3267,3269,3271],{"class":243,"line":366},[241,3211,2727],{"class":265},[241,3213,266],{"class":265},[241,3215,553],{"class":247},[241,3217,350],{"class":265},[241,3219,353],{"class":265},[241,3221,266],{"class":265},[241,3223,843],{"class":251},[241,3225,350],{"class":265},[241,3227,451],{"class":265},[241,3229,266],{"class":265},[241,3231,571],{"class":247},[241,3233,350],{"class":265},[241,3235,353],{"class":265},[241,3237,266],{"class":265},[241,3239,580],{"class":251},[241,3241,350],{"class":265},[241,3243,451],{"class":265},[241,3245,266],{"class":265},[241,3247,2780],{"class":247},[241,3249,350],{"class":265},[241,3251,353],{"class":265},[241,3253,266],{"class":265},[241,3255,3256],{"class":251},"2026-08-20T00:00:00Z",[241,3258,350],{"class":265},[241,3260,451],{"class":265},[241,3262,266],{"class":265},[241,3264,2798],{"class":247},[241,3266,350],{"class":265},[241,3268,353],{"class":265},[241,3270,2805],{"class":265},[241,3272,480],{"class":265},[241,3274,3275,3277,3279,3281,3283,3285,3287,3290,3292,3294,3296,3298,3300,3302,3304,3307,3309,3311,3313,3315,3317,3319,3322,3324,3326,3328,3330,3332,3335,3337],{"class":243,"line":387},[241,3276,2727],{"class":265},[241,3278,266],{"class":265},[241,3280,553],{"class":247},[241,3282,350],{"class":265},[241,3284,353],{"class":265},[241,3286,266],{"class":265},[241,3288,3289],{"class":251},"ef56gh78",[241,3291,350],{"class":265},[241,3293,451],{"class":265},[241,3295,266],{"class":265},[241,3297,571],{"class":247},[241,3299,350],{"class":265},[241,3301,353],{"class":265},[241,3303,266],{"class":265},[241,3305,3306],{"class":251},"2026-08-10T00:00:00Z",[241,3308,350],{"class":265},[241,3310,451],{"class":265},[241,3312,266],{"class":265},[241,3314,2780],{"class":247},[241,3316,350],{"class":265},[241,3318,353],{"class":265},[241,3320,3321],{"class":265}," null,",[241,3323,266],{"class":265},[241,3325,2798],{"class":247},[241,3327,350],{"class":265},[241,3329,353],{"class":265},[241,3331,266],{"class":265},[241,3333,3334],{"class":251},"2026-08-15T00:00:00Z",[241,3336,350],{"class":265},[241,3338,585],{"class":265},[241,3340,3341],{"class":243,"line":408},[241,3342,1209],{"class":265},[241,3344,3345],{"class":243,"line":423},[241,3346,591],{"class":265},[98,3348,3349,624,3351,3353,3354,3356,3357,3361],{},[111,3350,2798],{},[111,3352,1222],{}," for an active key and set for a revoked one — both\nstay in this list indefinitely, so it doubles as an audit trail, not just\na view of what's currently active. ",[111,3355,553],{}," is what\n",[107,3358,3360],{"href":3359},"#revoke-a-site-key","revoke a site key"," takes.",[289,3363,3365],{"id":3364},"mint-a-new-site-key","Mint a new site key",[98,3367,3368,3371],{},[111,3369,3370],{},"POST \u002Fsites\u002F{id}\u002Ftokens"," issues an additional site key for an existing\nsite — useful for rotating without downtime.",[231,3373,3375],{"className":233,"code":3374,"filename":235,"language":236,"meta":237,"style":237},"curl -X POST https:\u002F\u002Fapi.hellolog.io\u002Fv1\u002Fwordpress-activity-audit-log\u002Faccount\u002Fsites\u002F3fa85f64-5717-4562-b3fc-2c963f66afa6\u002Ftokens \\\n  -H \"Authorization: Bearer goal_acct_xxxxxxxx_...\"\n",[111,3376,3377,3389],{"__ignoreMap":237},[241,3378,3379,3381,3383,3385,3387],{"class":243,"line":244},[241,3380,248],{"class":247},[241,3382,1283],{"class":251},[241,3384,1286],{"class":251},[241,3386,3173],{"class":251},[241,3388,256],{"class":255},[241,3390,3391,3393,3395,3397],{"class":243,"line":259},[241,3392,262],{"class":251},[241,3394,266],{"class":265},[241,3396,269],{"class":251},[241,3398,272],{"class":265},[231,3400,3402],{"className":329,"code":3401,"language":331,"meta":237,"style":237},"{\n  \"token\": \"goal_live_ef56gh78_...\",\n  \"prefix\": \"ef56gh78\"\n}\n",[111,3403,3404,3408,3427,3443],{"__ignoreMap":237},[241,3405,3406],{"class":243,"line":244},[241,3407,338],{"class":265},[241,3409,3410,3412,3414,3416,3418,3420,3423,3425],{"class":243,"line":259},[241,3411,343],{"class":265},[241,3413,1382],{"class":346},[241,3415,350],{"class":265},[241,3417,353],{"class":265},[241,3419,266],{"class":265},[241,3421,3422],{"class":251},"goal_live_ef56gh78_...",[241,3424,350],{"class":265},[241,3426,363],{"class":265},[241,3428,3429,3431,3433,3435,3437,3439,3441],{"class":243,"line":366},[241,3430,343],{"class":265},[241,3432,553],{"class":346},[241,3434,350],{"class":265},[241,3436,353],{"class":265},[241,3438,266],{"class":265},[241,3440,3289],{"class":251},[241,3442,272],{"class":265},[241,3444,3445],{"class":243,"line":387},[241,3446,591],{"class":265},[98,3448,3449,3450,2064,3453,3456],{},"A site can only have ",[102,3451,3452],{},"2 active keys at a time",[111,3454,3455],{},"409 two active keys already — revoke one before minting another"," if you try for a third.",[289,3458,3460],{"id":3459},"revoke-a-site-key","Revoke a site key",[98,3462,3463,3466],{},[111,3464,3465],{},"DELETE \u002Fsites\u002F{id}\u002Ftokens\u002F{prefix}"," revokes one of a site's keys by its\nprefix (the short identifier returned alongside the token, not the token\nitself).",[231,3468,3470],{"className":233,"code":3469,"filename":235,"language":236,"meta":237,"style":237},"curl -X DELETE https:\u002F\u002Fapi.hellolog.io\u002Fv1\u002Fwordpress-activity-audit-log\u002Faccount\u002Fsites\u002F3fa85f64-5717-4562-b3fc-2c963f66afa6\u002Ftokens\u002Fef56gh78 \\\n  -H \"Authorization: Bearer goal_acct_xxxxxxxx_...\"\n",[111,3471,3472,3485],{"__ignoreMap":237},[241,3473,3474,3476,3478,3480,3483],{"class":243,"line":244},[241,3475,248],{"class":247},[241,3477,1283],{"class":251},[241,3479,1696],{"class":251},[241,3481,3482],{"class":251}," https:\u002F\u002Fapi.hellolog.io\u002Fv1\u002Fwordpress-activity-audit-log\u002Faccount\u002Fsites\u002F3fa85f64-5717-4562-b3fc-2c963f66afa6\u002Ftokens\u002Fef56gh78",[241,3484,256],{"class":255},[241,3486,3487,3489,3491,3493],{"class":243,"line":259},[241,3488,262],{"class":251},[241,3490,266],{"class":265},[241,3492,269],{"class":251},[241,3494,272],{"class":265},[98,3496,3497,2395],{},[111,3498,1576],{},[116,3500,3502],{"id":3501},"events","Events",[289,3504,3506],{"id":3505},"list-events-across-your-account","List events across your account",[98,3508,3509,3511,3512,3514,3515,3517],{},[111,3510,2427],{}," returns events from every site on your account, newest first,\ncursor-paginated — the same shape as the ",[107,3513,133],{"href":50},", plus an\noptional ",[111,3516,1345],{}," to narrow it to one site.",[98,3519,122,3520,3522,3523,3525,3526,3529,3530,3118,3532,3534,3535,3537],{},[107,3521,166],{"href":155}," has an implicit ",[111,3524,1167],{}," filter for\nits own group applied to ",[102,3527,3528],{},"every"," call, even one with no query\nparameters at all — you'll never see another group's events through it.\nAn explicit ",[111,3531,1345],{},[111,3533,1167],{}," naming anything outside the key's own\ngroup answers ",[111,3536,1473],{},", the same as any other cross-group access on this API.",[2863,3539,3540,3550],{},[2866,3541,3542],{},[2869,3543,3544,3547],{},[2872,3545,3546],{},"Parameter",[2872,3548,3549],{},"Description",[2882,3551,3552,3561,3576,3586,3599,3608,3618,3635,3651,3680,3690],{},[2869,3553,3554,3558],{},[2887,3555,3556],{},[111,3557,1345],{},[2887,3559,3560],{},"Restrict to one site. Must be a site on your own account.",[2869,3562,3563,3567],{},[2887,3564,3565],{},[111,3566,1167],{},[2887,3568,3569,3570,3572,3573,3575],{},"Restrict to every site in one ",[107,3571,173],{"href":150},". Must be a group on your own account. AND-combines with every other filter, including ",[111,3574,1345],{}," — if the site isn't in that group, the result is simply empty, not an error.",[2869,3577,3578,3583],{},[2887,3579,3580],{},[111,3581,3582],{},"limit",[2887,3584,3585],{},"Page size, 1–200. Defaults to 50.",[2869,3587,3588,3596],{},[2887,3589,3590,930,3593],{},[111,3591,3592],{},"from",[111,3594,3595],{},"to",[2887,3597,3598],{},"ISO 8601 time bounds on when the event occurred.",[2869,3600,3601,3605],{},[2887,3602,3603],{},[111,3604,111],{},[2887,3606,3607],{},"Filter by event code. Repeatable or comma-separated.",[2869,3609,3610,3615],{},[2887,3611,3612],{},[111,3613,3614],{},"user_id",[2887,3616,3617],{},"Filter by WordPress user ID.",[2869,3619,3620,3625],{},[2887,3621,3622],{},[111,3623,3624],{},"object",[2887,3626,3627,3628,614,3631,3634],{},"Filter by the object type the event touched (e.g. ",[111,3629,3630],{},"post",[111,3632,3633],{},"user",").",[2869,3636,3637,3642],{},[2887,3638,3639],{},[111,3640,3641],{},"event_type",[2887,3643,3644,3645,614,3648,3634],{},"Filter by event type (e.g. ",[111,3646,3647],{},"created",[111,3649,3650],{},"deleted",[2869,3652,3653,3658],{},[2887,3654,3655],{},[111,3656,3657],{},"severity",[2887,3659,3660,3661,614,3664,614,3667,614,3670,614,3673,3676,3677,302],{},"Filter by severity. Repeatable or comma-separated. Closed set: ",[111,3662,3663],{},"info",[111,3665,3666],{},"low",[111,3668,3669],{},"medium",[111,3671,3672],{},"high",[111,3674,3675],{},"critical"," — anything else answers ",[111,3678,3679],{},"400 {\"error\":\"invalid severity\"}",[2869,3681,3682,3687],{},[2887,3683,3684],{},[111,3685,3686],{},"q",[2887,3688,3689],{},"Free-text search over the event message.",[2869,3691,3692,3697],{},[2887,3693,3694],{},[111,3695,3696],{},"cursor",[2887,3698,3699,3700,302],{},"Opaque cursor from a previous response's ",[111,3701,3702],{},"next_cursor",[231,3704,3706],{"className":233,"code":3705,"filename":235,"language":236,"meta":237,"style":237},"curl \"https:\u002F\u002Fapi.hellolog.io\u002Fv1\u002Fwordpress-activity-audit-log\u002Faccount\u002Fevents?site_id=3fa85f64-5717-4562-b3fc-2c963f66afa6&code=9000&limit=50\" \\\n  -H \"Authorization: Bearer goal_acct_xxxxxxxx_...\"\n",[111,3707,3708,3721],{"__ignoreMap":237},[241,3709,3710,3712,3714,3717,3719],{"class":243,"line":244},[241,3711,248],{"class":247},[241,3713,266],{"class":265},[241,3715,3716],{"class":251},"https:\u002F\u002Fapi.hellolog.io\u002Fv1\u002Fwordpress-activity-audit-log\u002Faccount\u002Fevents?site_id=3fa85f64-5717-4562-b3fc-2c963f66afa6&code=9000&limit=50",[241,3718,350],{"class":265},[241,3720,256],{"class":255},[241,3722,3723,3725,3727,3729],{"class":243,"line":259},[241,3724,262],{"class":251},[241,3726,266],{"class":265},[241,3728,269],{"class":251},[241,3730,272],{"class":265},[231,3732,3734],{"className":329,"code":3733,"language":331,"meta":237,"style":237},"{\n  \"events\": [\n    {\n      \"id\": 918273,\n      \"occurred_at\": \"2026-08-18T09:41:02Z\",\n      \"code\": 9000,\n      \"severity\": \"info\",\n      \"object\": \"product\",\n      \"event_type\": \"created\",\n      \"user_id\": 4,\n      \"username\": \"a.kovacs\",\n      \"message\": \"WC product \\\"Merino scarf\\\" created.\",\n      \"site_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n      \"domain\": \"shop.example.com\",\n      \"site_name\": \"Main store\"\n    }\n  ],\n  \"next_cursor\": \"eyJ0IjoiMjAyNi0wOC0xOFQwOTo0MDo1OVoiLCJpIjo5MTgyNzB9\"\n}\n",[111,3735,3736,3740,3752,3756,3771,3791,3806,3824,3843,3861,3875,3895,3926,3944,3962,3979,3983,3989,4007],{"__ignoreMap":237},[241,3737,3738],{"class":243,"line":244},[241,3739,338],{"class":265},[241,3741,3742,3744,3746,3748,3750],{"class":243,"line":259},[241,3743,343],{"class":265},[241,3745,3501],{"class":346},[241,3747,350],{"class":265},[241,3749,353],{"class":265},[241,3751,1007],{"class":265},[241,3753,3754],{"class":243,"line":366},[241,3755,1012],{"class":265},[241,3757,3758,3760,3762,3764,3766,3769],{"class":243,"line":387},[241,3759,1017],{"class":265},[241,3761,881],{"class":247},[241,3763,350],{"class":265},[241,3765,353],{"class":265},[241,3767,3768],{"class":447}," 918273",[241,3770,363],{"class":265},[241,3772,3773,3775,3778,3780,3782,3784,3787,3789],{"class":243,"line":408},[241,3774,1017],{"class":265},[241,3776,3777],{"class":247},"occurred_at",[241,3779,350],{"class":265},[241,3781,353],{"class":265},[241,3783,266],{"class":265},[241,3785,3786],{"class":251},"2026-08-18T09:41:02Z",[241,3788,350],{"class":265},[241,3790,363],{"class":265},[241,3792,3793,3795,3797,3799,3801,3804],{"class":243,"line":423},[241,3794,1017],{"class":265},[241,3796,111],{"class":247},[241,3798,350],{"class":265},[241,3800,353],{"class":265},[241,3802,3803],{"class":447}," 9000",[241,3805,363],{"class":265},[241,3807,3808,3810,3812,3814,3816,3818,3820,3822],{"class":243,"line":483},[241,3809,1017],{"class":265},[241,3811,3657],{"class":247},[241,3813,350],{"class":265},[241,3815,353],{"class":265},[241,3817,266],{"class":265},[241,3819,3663],{"class":251},[241,3821,350],{"class":265},[241,3823,363],{"class":265},[241,3825,3826,3828,3830,3832,3834,3836,3839,3841],{"class":243,"line":537},[241,3827,1017],{"class":265},[241,3829,3624],{"class":247},[241,3831,350],{"class":265},[241,3833,353],{"class":265},[241,3835,266],{"class":265},[241,3837,3838],{"class":251},"product",[241,3840,350],{"class":265},[241,3842,363],{"class":265},[241,3844,3845,3847,3849,3851,3853,3855,3857,3859],{"class":243,"line":588},[241,3846,1017],{"class":265},[241,3848,3641],{"class":247},[241,3850,350],{"class":265},[241,3852,353],{"class":265},[241,3854,266],{"class":265},[241,3856,3647],{"class":251},[241,3858,350],{"class":265},[241,3860,363],{"class":265},[241,3862,3863,3865,3867,3869,3871,3873],{"class":243,"line":915},[241,3864,1017],{"class":265},[241,3866,3614],{"class":247},[241,3868,350],{"class":265},[241,3870,353],{"class":265},[241,3872,506],{"class":447},[241,3874,363],{"class":265},[241,3876,3877,3879,3882,3884,3886,3888,3891,3893],{"class":243,"line":1146},[241,3878,1017],{"class":265},[241,3880,3881],{"class":247},"username",[241,3883,350],{"class":265},[241,3885,353],{"class":265},[241,3887,266],{"class":265},[241,3889,3890],{"class":251},"a.kovacs",[241,3892,350],{"class":265},[241,3894,363],{"class":265},[241,3896,3897,3899,3902,3904,3906,3908,3911,3914,3917,3919,3922,3924],{"class":243,"line":1162},[241,3898,1017],{"class":265},[241,3900,3901],{"class":247},"message",[241,3903,350],{"class":265},[241,3905,353],{"class":265},[241,3907,266],{"class":265},[241,3909,3910],{"class":251},"WC product ",[241,3912,3913],{"class":255},"\\\"",[241,3915,3916],{"class":251},"Merino scarf",[241,3918,3913],{"class":255},[241,3920,3921],{"class":251}," created.",[241,3923,350],{"class":265},[241,3925,363],{"class":265},[241,3927,3928,3930,3932,3934,3936,3938,3940,3942],{"class":243,"line":1182},[241,3929,1017],{"class":265},[241,3931,1345],{"class":247},[241,3933,350],{"class":265},[241,3935,353],{"class":265},[241,3937,266],{"class":265},[241,3939,358],{"class":251},[241,3941,350],{"class":265},[241,3943,363],{"class":265},[241,3945,3946,3948,3950,3952,3954,3956,3958,3960],{"class":243,"line":1200},[241,3947,1017],{"class":265},[241,3949,1038],{"class":247},[241,3951,350],{"class":265},[241,3953,353],{"class":265},[241,3955,266],{"class":265},[241,3957,1047],{"class":251},[241,3959,350],{"class":265},[241,3961,363],{"class":265},[241,3963,3964,3966,3969,3971,3973,3975,3977],{"class":243,"line":1206},[241,3965,1017],{"class":265},[241,3967,3968],{"class":247},"site_name",[241,3970,350],{"class":265},[241,3972,353],{"class":265},[241,3974,266],{"class":265},[241,3976,1086],{"class":251},[241,3978,272],{"class":265},[241,3980,3981],{"class":243,"line":1212},[241,3982,1203],{"class":265},[241,3984,3986],{"class":243,"line":3985},17,[241,3987,3988],{"class":265},"  ],\n",[241,3990,3992,3994,3996,3998,4000,4002,4005],{"class":243,"line":3991},18,[241,3993,343],{"class":265},[241,3995,3702],{"class":346},[241,3997,350],{"class":265},[241,3999,353],{"class":265},[241,4001,266],{"class":265},[241,4003,4004],{"class":251},"eyJ0IjoiMjAyNi0wOC0xOFQwOTo0MDo1OVoiLCJpIjo5MTgyNzB9",[241,4006,272],{"class":265},[241,4008,4010],{"class":243,"line":4009},19,[241,4011,591],{"class":265},[98,4013,2005,4014,4016,4017,4019,4020,4022],{},[111,4015,3702],{}," back as ",[111,4018,3696],{}," to fetch the next page. An empty\n",[111,4021,3702],{}," means you're on the last page.",[98,4024,4025,4027,4028,4030,4031,1226,4033,4035,4036,4039],{},[111,4026,1345],{}," tells you which of your sites each row came from — the field\nthat matters once you're not scoping the call to a single ",[111,4029,1345],{},".\n",[111,4032,1038],{},[111,4034,3968],{}," are ",[111,4037,4038],{},"omitempty",": they're only absent if the\nevent's site was deleted after the event was written, which shouldn't\ncome up in practice since deleting a site cascades its events too.",[98,4041,4042],{},"Filtering by group works the same way, combined with any other filter —\nhere, every critical event across all of one client's sites:",[231,4044,4046],{"className":233,"code":4045,"filename":235,"language":236,"meta":237,"style":237},"curl \"https:\u002F\u002Fapi.hellolog.io\u002Fv1\u002Fwordpress-activity-audit-log\u002Faccount\u002Fevents?group_id=b2b1c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d&code=9000&limit=50\" \\\n  -H \"Authorization: Bearer goal_acct_xxxxxxxx_...\"\n",[111,4047,4048,4061],{"__ignoreMap":237},[241,4049,4050,4052,4054,4057,4059],{"class":243,"line":244},[241,4051,248],{"class":247},[241,4053,266],{"class":265},[241,4055,4056],{"class":251},"https:\u002F\u002Fapi.hellolog.io\u002Fv1\u002Fwordpress-activity-audit-log\u002Faccount\u002Fevents?group_id=b2b1c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d&code=9000&limit=50",[241,4058,350],{"class":265},[241,4060,256],{"class":255},[241,4062,4063,4065,4067,4069],{"class":243,"line":259},[241,4064,262],{"class":251},[241,4066,266],{"class":265},[241,4068,269],{"class":251},[241,4070,272],{"class":265},[98,4072,4073,4074,4076],{},"Same response shape as above — ",[111,4075,3702],{}," paginates it the same way.",[116,4078,4080],{"id":4079},"rate-limits","Rate limits",[98,4082,4083,4084,4087,4088,4091,4092,4095],{},"Account keys — unscoped or ",[107,4085,4086],{"href":155},"group-scoped"," — are\nrate-limited to ",[102,4089,4090],{},"10 requests\u002Fsecond, burst 30",", per key. Going over it\nreturns ",[111,4093,4094],{},"429",". Each key gets its own independent bucket, so a group key\nnever shares its budget with the account's unscoped key or with a sibling\ngroup's key, and vice versa.",[98,4097,4098,4100],{},[107,4099,69],{"href":70}," are exempt from this\nlimit entirely, on every key they hold, scoped or not.",[116,4102,4104],{"id":4103},"errors","Errors",[98,4106,4107,4108,4111,4112,4114,4115,4118,4119,4121,4122,4124,4125,4127,4128,4130],{},"Every error response is ",[111,4109,4110],{},"{\"error\": \"\u003Cmessage>\"}",". Site-id errors — a\nmissing site, or a site that belongs to someone else's account — both come\nback as a plain ",[111,4113,1473],{},", so a foreign site id is indistinguishable from one\nthat doesn't exist. Group ids follow the exact same rule — see\n",[107,4116,2981],{"href":4117},"#group-errors"," above for the group-specific table. A\n",[107,4120,166],{"href":155}," reaching outside its own group — a\nsibling group's or an ungrouped site\u002Fevent, or any group-CRUD or\ngroup-key endpoint — gets this same treatment: ",[111,4123,1473],{}," for \"not yours\",\n",[111,4126,113],{}," only for the handful of unscoped-only actions listed in\n",[107,4129,177],{"href":155},"'s own error table above.",[2863,4132,4133,4143],{},[2866,4134,4135],{},[2869,4136,4137,4139,4141],{},[2872,4138,2874],{},[2872,4140,2877],{},[2872,4142,2880],{},[2882,4144,4145,4161,4179,4196,4212,4238,4255,4267,4292,4303,4325,4338,4352,4369,4383,4397,4411,4427,4440],{},[2869,4146,4147,4149,4156],{},[2887,4148,1725],{},[2887,4150,4151,4153,4154],{},[111,4152,1244],{}," with an unparseable ",[111,4155,1038],{},[2887,4157,4158],{},[111,4159,4160],{},"invalid domain",[2869,4162,4163,4165,4174],{},[2887,4164,1725],{},[2887,4166,4167,637,4169,4171,4172],{},[111,4168,1244],{},[111,4170,1058],{}," that isn't ",[111,4173,1254],{},[2887,4175,4176],{},[111,4177,4178],{},"site_url must be an http(s) URL",[2869,4180,4181,4183,4191],{},[2887,4182,1725],{},[2887,4184,4185,3054,4187,3057,4189,3060],{},[111,4186,1270],{},[111,4188,899],{},[111,4190,1167],{},[2887,4192,4193],{},[111,4194,4195],{},"name or group_id required",[2869,4197,4198,4200,4208],{},[2887,4199,1725],{},[2887,4201,4202,4204,4205],{},[111,4203,1670],{}," without ",[111,4206,4207],{},"?confirm=true",[2887,4209,4210],{},[111,4211,1750],{},[2869,4213,4214,4216,4233],{},[2887,4215,1725],{},[2887,4217,4218,637,4220,4222,4223,614,4225,614,4227,614,4229,614,4231],{},[111,4219,2427],{},[111,4221,3657],{}," value outside ",[111,4224,3663],{},[111,4226,3666],{},[111,4228,3669],{},[111,4230,3672],{},[111,4232,3675],{},[2887,4234,4235],{},[111,4236,4237],{},"invalid severity",[2869,4239,4240,4243,4250],{},[2887,4241,4242],{},"401",[2887,4244,4245,4246,4249],{},"Missing or invalid ",[111,4247,4248],{},"Authorization"," header",[2887,4251,4252],{},[183,4253,4254],{},"(varies)",[2869,4256,4257,4259,4262],{},[2887,4258,113],{},[2887,4260,4261],{},"Account is on the Free plan",[2887,4263,4264],{},[111,4265,4266],{},"api access requires a paid plan",[2869,4268,4269,4271,4288],{},[2887,4270,113],{},[2887,4272,4273,4274,1431,4276,1431,4278,4281,4282,2922,4285,4287],{},"Group CRUD (",[111,4275,2915],{},[111,4277,3018],{},[111,4279,4280],{},"DELETE \u002Fgroups*",") or any group-key endpoint (",[111,4283,4284],{},"...\u002Fgroups\u002F{id}\u002Fkeys*",[107,4286,166],{"href":155}," instead of an unscoped account key — even for its own group",[2887,4289,4290],{},[111,4291,2479],{},[2869,4293,4294,4296,4299],{},[2887,4295,1473],{},[2887,4297,4298],{},"Site id doesn't exist, or isn't yours",[2887,4300,4301],{},[111,4302,2948],{},[2869,4304,4305,4307,4321],{},[2887,4306,1473],{},[2887,4308,4309,614,4311,1667,4313,4315,4316,1667,4318,4320],{},[111,4310,1244],{},[111,4312,1270],{},[111,4314,1167],{},", or ",[111,4317,2427],{},[111,4319,1167],{},", isn't a valid UUID or isn't one of your groups",[2887,4322,4323],{},[111,4324,2948],{},[2869,4326,4327,4329,4334],{},[2887,4328,1473],{},[2887,4330,122,4331,4333],{},[107,4332,166],{"href":155}," targeting a site, group, or event outside its own group",[2887,4335,4336],{},[111,4337,2948],{},[2869,4339,4340,4342,4347],{},[2887,4341,301],{},[2887,4343,4344,4346],{},[111,4345,1244],{}," for a domain you already registered",[2887,4348,4349],{},[111,4350,4351],{},"site already registered",[2869,4353,4354,4356,4364],{},[2887,4355,301],{},[2887,4357,4358,3118,4360,4363],{},[111,4359,1244],{},[111,4361,4362],{},"...\u002Factivate"," past your plan's site cap",[2887,4365,4366],{},[111,4367,4368],{},"plan site limit reached",[2869,4370,4371,4373,4378],{},[2887,4372,301],{},[2887,4374,4375,4377],{},[111,4376,4362],{}," on a revoked (not paused) site",[2887,4379,4380],{},[111,4381,4382],{},"site cannot be reactivated — contact support",[2869,4384,4385,4387,4392],{},[2887,4386,301],{},[2887,4388,4389,4391],{},[111,4390,3370],{}," when 2 keys are already active",[2887,4393,4394],{},[111,4395,4396],{},"two active keys already — revoke one before minting another",[2869,4398,4399,4401,4407],{},[2887,4400,301],{},[2887,4402,4403,3118,4405,3121],{},[111,4404,2063],{},[111,4406,2232],{},[2887,4408,4409],{},[111,4410,3126],{},[2869,4412,4413,4415,4423],{},[2887,4414,301],{},[2887,4416,4417,3118,4419,3076,4421,3139],{},[111,4418,2063],{},[111,4420,2232],{},[111,4422,1796],{},[2887,4424,4425],{},[111,4426,3144],{},[2869,4428,4429,4431,4436],{},[2887,4430,301],{},[2887,4432,4433,4435],{},[111,4434,221],{}," past that group's 10-active-key cap",[2887,4437,4438],{},[111,4439,2977],{},[2869,4441,4442,4444,4451],{},[2887,4443,4094],{},[2887,4445,4446,4447,4450],{},"Over 10 req\u002Fs (burst 30) on this key — ",[107,4448,4449],{"href":70},"resellers"," exempt",[2887,4452,4453],{},[111,4454,4455],{},"rate limited",[116,4457,4459],{"id":4458},"also-available-mcp","Also available: MCP",[98,4461,4462,4463,4466],{},"If you'd rather ask questions than write queries, connect the same account\nkey to ",[107,4464,79],{"href":4465},"\u002Fai\u002Fmcp#connect-with-an-account-key"," and manage sites or query\nevents across your account directly from an AI tool.",[4468,4469,4470],"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 .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}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}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":237,"searchDepth":244,"depth":259,"links":4472},[4473,4474,4475,4476,4479,4486,4494,4499,4502,4503,4504],{"id":118,"depth":259,"text":119},{"id":189,"depth":259,"text":190},{"id":225,"depth":259,"text":226},{"id":286,"depth":259,"text":287,"children":4477},[4478],{"id":291,"depth":366,"text":292},{"id":440,"depth":259,"text":950,"children":4480},[4481,4482,4483,4484,4485],{"id":953,"depth":366,"text":954},{"id":1238,"depth":366,"text":1239},{"id":1477,"depth":366,"text":1478},{"id":1604,"depth":366,"text":1605},{"id":1657,"depth":366,"text":1658},{"id":1775,"depth":259,"text":1517,"children":4487},[4488,4489,4490,4491,4492,4493],{"id":1828,"depth":366,"text":1829},{"id":2058,"depth":366,"text":1997},{"id":2226,"depth":366,"text":2227},{"id":2350,"depth":366,"text":2351},{"id":2398,"depth":366,"text":177},{"id":2980,"depth":366,"text":2981},{"id":3147,"depth":259,"text":3148,"children":4495},[4496,4497,4498],{"id":3151,"depth":366,"text":3152},{"id":3364,"depth":366,"text":3365},{"id":3459,"depth":366,"text":3460},{"id":3501,"depth":259,"text":3502,"children":4500},[4501],{"id":3505,"depth":366,"text":3506},{"id":4079,"depth":259,"text":4080},{"id":4103,"depth":259,"text":4104},{"id":4458,"depth":259,"text":4459},"Manage sites and read events across your whole account with an account key. Paid plans only.","md",null,{},{"icon":67},{"title":64,"description":4505},"GSZEiUCTKmVKfZairttd2Hp76_Intu2cjFePXecbMB0",[4513,4515],{"title":59,"path":60,"stem":61,"description":4514,"icon":62,"children":-1},"The WP-admin settings screen — Connection, Filters and Diagnostics — and their WP-CLI equivalents.",{"title":69,"path":70,"stem":71,"description":4516,"icon":72,"children":-1},"Grant an account unlimited plan limits with the operator-only reseller flag.",1787524098038]