[{"data":1,"prerenderedAt":843},["ShallowReactive",2],{"navigation":3,"\u002Freference\u002Freseller-accounts":88,"\u002Freference\u002Freseller-accounts-surround":838},[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":69,"body":90,"description":831,"extension":832,"links":833,"meta":834,"navigation":835,"path":70,"seo":836,"stem":71,"__hash__":837},"docs\u002F2.reference\u002F7.reseller-accounts.md",{"type":91,"value":92,"toc":822},"minimark",[93,109,114,125,183,193,197,211,291,303,308,390,396,400,410,435,780,789,798,804,818],[94,95,97],"callout",{"icon":96},"i-lucide-shield-alert",[98,99,100,104,105,108],"p",{},[101,102,103],"strong",{},"Operator-only."," Every endpoint on this page requires a helloLOG ",[101,106,107],{},"admin\ntoken",", not a customer site key or account key. There is no self-serve way\nfor a customer to become a reseller.",[110,111,113],"h2",{"id":112},"what-a-reseller-account-is","What a reseller account is",[98,115,116,120,121,124],{},[117,118,119],"code",{},"accounts.is_reseller"," is an account ",[101,122,123],{},"type",", not a plan. It's a boolean\nflag an operator can flip on any account, on any plan — including Free.\nThere's no separate reseller plan or pricing; the flag just makes every\nexisting plan limit unlimited for that account:",[126,127,128,135,141,147,153,159,165],"ul",{},[129,130,131,134],"li",{},[101,132,133],{},"Site quota"," — unlimited, for both creating new sites and reactivating\npaused ones.",[129,136,137,140],{},[101,138,139],{},"Site key and account key counts"," — no cap (normally 2 active site\nkeys per site, 10 active account keys per account).",[129,142,143,146],{},[101,144,145],{},"The paid-plan API gate"," — the read API, the Account API, and MCP all\nbecome reachable regardless of plan slug, so a reseller sitting on the\nFree plan still gets full API\u002FMCP access.",[129,148,149,152],{},[101,150,151],{},"Retention"," — events are never purged by the retention worker.",[129,154,155,158],{},[101,156,157],{},"Fair use"," — the monthly fair-use email never fires.",[129,160,161,164],{},[101,162,163],{},"Downgrades"," — a plan change (including a Stripe-driven downgrade to\nFree) never pauses the account's sites.",[129,166,167,170,171,174,175,178,179,182],{},[101,168,169],{},"Limits readouts"," — the dashboard's ",[117,172,173],{},"\u002Fme",", ",[117,176,177],{},"\u002Fusage",", and ",[117,180,181],{},"\u002Fbilling","\nresponses all report unlimited limits for a reseller account.",[98,184,185,186,192],{},"The flag ",[101,187,188,189],{},"never changes ",[117,190,191],{},"accounts.plan",". A reseller account keeps\nwhatever plan slug it had — flipping the flag off restores exactly that\nplan's normal limits, immediately.",[110,194,196],{"id":195},"set-the-flag","Set the flag",[98,198,199,202,203,206,207,210],{},[117,200,201],{},"POST {base}\u002Fadmin\u002Faccounts\u002F{id}\u002Freseller"," where ",[117,204,205],{},"{base}"," is\n",[117,208,209],{},"https:\u002F\u002Fapi.hellolog.io\u002Fv1\u002Fwordpress-activity-audit-log",".",[212,213,219],"pre",{"className":214,"code":215,"filename":216,"language":217,"meta":218,"style":218},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl -X POST https:\u002F\u002Fapi.hellolog.io\u002Fv1\u002Fwordpress-activity-audit-log\u002Fadmin\u002Faccounts\u002F3fa85f64-5717-4562-b3fc-2c963f66afa6\u002Freseller \\\n  -H \"Authorization: Bearer \u003CADMIN_TOKEN>\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"enabled\":true}'\n","Terminal","bash","",[117,220,221,244,262,276],{"__ignoreMap":218},[222,223,226,230,234,237,240],"span",{"class":224,"line":225},"line",1,[222,227,229],{"class":228},"sBMFI","curl",[222,231,233],{"class":232},"sfazB"," -X",[222,235,236],{"class":232}," POST",[222,238,239],{"class":232}," https:\u002F\u002Fapi.hellolog.io\u002Fv1\u002Fwordpress-activity-audit-log\u002Fadmin\u002Faccounts\u002F3fa85f64-5717-4562-b3fc-2c963f66afa6\u002Freseller",[222,241,243],{"class":242},"sTEyZ"," \\\n",[222,245,247,250,254,257,260],{"class":224,"line":246},2,[222,248,249],{"class":232},"  -H",[222,251,253],{"class":252},"sMK4o"," \"",[222,255,256],{"class":232},"Authorization: Bearer \u003CADMIN_TOKEN>",[222,258,259],{"class":252},"\"",[222,261,243],{"class":242},[222,263,265,267,269,272,274],{"class":224,"line":264},3,[222,266,249],{"class":232},[222,268,253],{"class":252},[222,270,271],{"class":232},"Content-Type: application\u002Fjson",[222,273,259],{"class":252},[222,275,243],{"class":242},[222,277,279,282,285,288],{"class":224,"line":278},4,[222,280,281],{"class":232},"  -d",[222,283,284],{"class":252}," '",[222,286,287],{"class":232},"{\"enabled\":true}",[222,289,290],{"class":252},"'\n",[98,292,293,296,297,300,301,210],{},[117,294,295],{},"204 No Content"," on success. Send ",[117,298,299],{},"{\"enabled\":false}"," to turn it back off —\nthis restores the account's normal plan limits right away, it does not\ntouch ",[117,302,191],{},[304,305,307],"h3",{"id":306},"errors","Errors",[309,310,311,327],"table",{},[312,313,314],"thead",{},[315,316,317,321,324],"tr",{},[318,319,320],"th",{},"Status",[318,322,323],{},"When",[318,325,326],{},"Body",[328,329,330,349,366,379],"tbody",{},[315,331,332,336,339],{},[333,334,335],"td",{},"401",[333,337,338],{},"Missing or invalid bearer token",[333,340,341,344,345,348],{},[117,342,343],{},"{\"error\":\"missing bearer token\"}"," \u002F ",[117,346,347],{},"{\"error\":\"invalid token\"}"," (varies by failure)",[315,350,351,354,361],{},[333,352,353],{},"403",[333,355,356,357,360],{},"Token is valid but lacks the ",[117,358,359],{},"admin:write"," scope",[333,362,363],{},[117,364,365],{},"{\"error\":\"missing scope: admin:write\"}",[315,367,368,371,374],{},[333,369,370],{},"404",[333,372,373],{},"Account id doesn't exist",[333,375,376],{},[117,377,378],{},"{\"error\":\"not found\"}",[315,380,381,383,386],{},[333,382,370],{},[333,384,385],{},"Account id isn't a valid UUID",[333,387,388],{},[117,389,378],{},[98,391,392,393,395],{},"A malformed id and an unknown-but-well-formed id both answer the same\n",[117,394,370],{}," — the endpoint doesn't distinguish \"not a UUID\" from \"no such\naccount\" so a caller can't use the difference to enumerate account ids.",[110,397,399],{"id":398},"reading-the-flag-back","Reading the flag back",[98,401,402,405,406,409],{},[117,403,404],{},"GET {base}\u002Fadmin\u002Faccounts\u002F{id}"," includes ",[117,407,408],{},"is_reseller"," alongside the rest\nof the account:",[212,411,413],{"className":214,"code":412,"filename":216,"language":217,"meta":218,"style":218},"curl https:\u002F\u002Fapi.hellolog.io\u002Fv1\u002Fwordpress-activity-audit-log\u002Fadmin\u002Faccounts\u002F3fa85f64-5717-4562-b3fc-2c963f66afa6 \\\n  -H \"Authorization: Bearer \u003CADMIN_TOKEN>\"\n",[117,414,415,424],{"__ignoreMap":218},[222,416,417,419,422],{"class":224,"line":225},[222,418,229],{"class":228},[222,420,421],{"class":232}," https:\u002F\u002Fapi.hellolog.io\u002Fv1\u002Fwordpress-activity-audit-log\u002Fadmin\u002Faccounts\u002F3fa85f64-5717-4562-b3fc-2c963f66afa6",[222,423,243],{"class":242},[222,425,426,428,430,432],{"class":224,"line":246},[222,427,249],{"class":232},[222,429,253],{"class":252},[222,431,256],{"class":232},[222,433,434],{"class":252},"\"\n",[212,436,440],{"className":437,"code":438,"language":439,"meta":218,"style":218},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n  \"email\": \"partner@example.com\",\n  \"plan\": \"starter\",\n  \"is_reseller\": true,\n  \"created_at\": \"2026-07-01T10:00:00Z\",\n  \"sites\": [\n    {\n      \"id\": \"9d2c1e4a-6b8f-4a3d-9c7e-1f5a8b2d3c4e\",\n      \"account_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      \"rate_limit_rps\": 5,\n      \"retention_days\": 90,\n      \"created_at\": \"2026-07-01T10:05:00Z\",\n      \"active_token_count\": 1\n    }\n  ]\n}\n","json",[117,441,442,447,471,491,511,525,546,561,567,588,608,629,650,671,692,710,727,747,762,768,774],{"__ignoreMap":218},[222,443,444],{"class":224,"line":225},[222,445,446],{"class":252},"{\n",[222,448,449,452,456,458,461,463,466,468],{"class":224,"line":246},[222,450,451],{"class":252},"  \"",[222,453,455],{"class":454},"spNyl","id",[222,457,259],{"class":252},[222,459,460],{"class":252},":",[222,462,253],{"class":252},[222,464,465],{"class":232},"3fa85f64-5717-4562-b3fc-2c963f66afa6",[222,467,259],{"class":252},[222,469,470],{"class":252},",\n",[222,472,473,475,478,480,482,484,487,489],{"class":224,"line":264},[222,474,451],{"class":252},[222,476,477],{"class":454},"email",[222,479,259],{"class":252},[222,481,460],{"class":252},[222,483,253],{"class":252},[222,485,486],{"class":232},"partner@example.com",[222,488,259],{"class":252},[222,490,470],{"class":252},[222,492,493,495,498,500,502,504,507,509],{"class":224,"line":278},[222,494,451],{"class":252},[222,496,497],{"class":454},"plan",[222,499,259],{"class":252},[222,501,460],{"class":252},[222,503,253],{"class":252},[222,505,506],{"class":232},"starter",[222,508,259],{"class":252},[222,510,470],{"class":252},[222,512,514,516,518,520,522],{"class":224,"line":513},5,[222,515,451],{"class":252},[222,517,408],{"class":454},[222,519,259],{"class":252},[222,521,460],{"class":252},[222,523,524],{"class":252}," true,\n",[222,526,528,530,533,535,537,539,542,544],{"class":224,"line":527},6,[222,529,451],{"class":252},[222,531,532],{"class":454},"created_at",[222,534,259],{"class":252},[222,536,460],{"class":252},[222,538,253],{"class":252},[222,540,541],{"class":232},"2026-07-01T10:00:00Z",[222,543,259],{"class":252},[222,545,470],{"class":252},[222,547,549,551,554,556,558],{"class":224,"line":548},7,[222,550,451],{"class":252},[222,552,553],{"class":454},"sites",[222,555,259],{"class":252},[222,557,460],{"class":252},[222,559,560],{"class":252}," [\n",[222,562,564],{"class":224,"line":563},8,[222,565,566],{"class":252},"    {\n",[222,568,570,573,575,577,579,581,584,586],{"class":224,"line":569},9,[222,571,572],{"class":252},"      \"",[222,574,455],{"class":228},[222,576,259],{"class":252},[222,578,460],{"class":252},[222,580,253],{"class":252},[222,582,583],{"class":232},"9d2c1e4a-6b8f-4a3d-9c7e-1f5a8b2d3c4e",[222,585,259],{"class":252},[222,587,470],{"class":252},[222,589,591,593,596,598,600,602,604,606],{"class":224,"line":590},10,[222,592,572],{"class":252},[222,594,595],{"class":228},"account_id",[222,597,259],{"class":252},[222,599,460],{"class":252},[222,601,253],{"class":252},[222,603,465],{"class":232},[222,605,259],{"class":252},[222,607,470],{"class":252},[222,609,611,613,616,618,620,622,625,627],{"class":224,"line":610},11,[222,612,572],{"class":252},[222,614,615],{"class":228},"domain",[222,617,259],{"class":252},[222,619,460],{"class":252},[222,621,253],{"class":252},[222,623,624],{"class":232},"shop.example.com",[222,626,259],{"class":252},[222,628,470],{"class":252},[222,630,632,634,637,639,641,643,646,648],{"class":224,"line":631},12,[222,633,572],{"class":252},[222,635,636],{"class":228},"site_url",[222,638,259],{"class":252},[222,640,460],{"class":252},[222,642,253],{"class":252},[222,644,645],{"class":232},"https:\u002F\u002Fshop.example.com",[222,647,259],{"class":252},[222,649,470],{"class":252},[222,651,653,655,658,660,662,664,667,669],{"class":224,"line":652},13,[222,654,572],{"class":252},[222,656,657],{"class":228},"name",[222,659,259],{"class":252},[222,661,460],{"class":252},[222,663,253],{"class":252},[222,665,666],{"class":232},"Main store",[222,668,259],{"class":252},[222,670,470],{"class":252},[222,672,674,676,679,681,683,685,688,690],{"class":224,"line":673},14,[222,675,572],{"class":252},[222,677,678],{"class":228},"status",[222,680,259],{"class":252},[222,682,460],{"class":252},[222,684,253],{"class":252},[222,686,687],{"class":232},"active",[222,689,259],{"class":252},[222,691,470],{"class":252},[222,693,695,697,700,702,704,708],{"class":224,"line":694},15,[222,696,572],{"class":252},[222,698,699],{"class":228},"rate_limit_rps",[222,701,259],{"class":252},[222,703,460],{"class":252},[222,705,707],{"class":706},"sbssI"," 5",[222,709,470],{"class":252},[222,711,713,715,718,720,722,725],{"class":224,"line":712},16,[222,714,572],{"class":252},[222,716,717],{"class":228},"retention_days",[222,719,259],{"class":252},[222,721,460],{"class":252},[222,723,724],{"class":706}," 90",[222,726,470],{"class":252},[222,728,730,732,734,736,738,740,743,745],{"class":224,"line":729},17,[222,731,572],{"class":252},[222,733,532],{"class":228},[222,735,259],{"class":252},[222,737,460],{"class":252},[222,739,253],{"class":252},[222,741,742],{"class":232},"2026-07-01T10:05:00Z",[222,744,259],{"class":252},[222,746,470],{"class":252},[222,748,750,752,755,757,759],{"class":224,"line":749},18,[222,751,572],{"class":252},[222,753,754],{"class":228},"active_token_count",[222,756,259],{"class":252},[222,758,460],{"class":252},[222,760,761],{"class":706}," 1\n",[222,763,765],{"class":224,"line":764},19,[222,766,767],{"class":252},"    }\n",[222,769,771],{"class":224,"line":770},20,[222,772,773],{"class":252},"  ]\n",[222,775,777],{"class":224,"line":776},21,[222,778,779],{"class":252},"}\n",[98,781,782,784,785,788],{},[117,783,497],{}," stays ",[117,786,787],{},"\"starter\""," here even though the account is unlimited — that's\nthe point: the flag layers on top of the plan, it never rewrites it.",[98,790,791,794,795,797],{},[117,792,793],{},"GET {base}\u002Fadmin\u002Faccounts"," (the account list) includes the same\n",[117,796,408],{}," field on every row.",[110,799,801,802],{"id":800},"also-requires-adminwrite","Also requires ",[117,803,359],{},[98,805,806,807,810,811,814,815,817],{},"Like every other mutating admin route, this one sits behind\n",[117,808,809],{},"RequireAdminScope(\"admin:write\")"," — a read-only admin token\n(",[117,812,813],{},"admin:read"," only) can look up ",[117,816,408],{}," on an account but can't flip\nit.",[819,820,821],"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":218,"searchDepth":225,"depth":246,"links":823},[824,825,828,829],{"id":112,"depth":246,"text":113},{"id":195,"depth":246,"text":196,"children":826},[827],{"id":306,"depth":264,"text":307},{"id":398,"depth":246,"text":399},{"id":800,"depth":246,"text":830},"Also requires admin:write","Grant an account unlimited plan limits with the operator-only reseller flag.","md",null,{},{"icon":72},{"title":69,"description":831},"2UVdmGd519p-Mwz6B83TkAXHvHS6naiXnfRt-o5wX1c",[839,841],{"title":64,"path":65,"stem":66,"description":840,"icon":67,"children":-1},"Manage sites and read events across your whole account with an account key. Paid plans only.",{"title":79,"path":80,"stem":81,"description":842,"icon":82,"children":-1},"Ask your logs a question from Claude or any MCP-compatible AI tool. Paid plans only.",1787524098038]