[{"data":1,"prerenderedAt":492},["ShallowReactive",2],{"page-\u002Fdeveloper\u002Fpersonal-access-tokens":3,"all-pages":160},{"id":4,"title":5,"body":6,"description":150,"extension":151,"meta":152,"navigation":153,"path":154,"robots":155,"seo":156,"sitemap":157,"stem":158,"__hash__":159},"content\u002F11.developer\u002F3.personal-access-tokens.md","Personal Access Tokens",{"type":7,"value":8,"toc":143},"minimark",[9,14,41,45,111,120,129,133,139],[10,11,13],"h2",{"id":12},"creating-a-token","Creating a Token",[15,16,17,26,38],"ol",{},[18,19,20,21,25],"li",{},"Open Settings → Personal Access Tokens (",[22,23,24],"code",{},"\u002Fsettings\u002Fpat\u002Fnew",").",[18,27,28,29,32,33,25],{},"Give the token a name (e.g. ",[22,30,31],{},"laptop-bh",") and select the minimum scopes it\nneeds (see ",[34,35,37],"a",{"href":36},"\u002Fdeveloper\u002Fscopes","Scopes",[18,39,40],{},"Save the displayed token value — it is shown once.",[10,42,44],{"id":43},"using-the-token","Using the Token",[46,47,52],"pre",{"className":48,"code":49,"language":50,"meta":51,"style":51},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export BOUNTYHUB_TOKEN=\"\u003Cyour_personal_access_token_here>\"\nbh blob upload --src .\u002Fwordlist.txt --dst \"wordlists\u002Fdirs.txt\"\n","bash","",[22,53,54,81],{"__ignoreMap":51},[55,56,59,63,67,71,74,78],"span",{"class":57,"line":58},"line",1,[55,60,62],{"class":61},"spNyl","export",[55,64,66],{"class":65},"sTEyZ"," BOUNTYHUB_TOKEN",[55,68,70],{"class":69},"sMK4o","=",[55,72,73],{"class":69},"\"",[55,75,77],{"class":76},"sfazB","\u003Cyour_personal_access_token_here>",[55,79,80],{"class":69},"\"\n",[55,82,84,88,91,94,97,100,103,106,109],{"class":57,"line":83},2,[55,85,87],{"class":86},"sBMFI","bh",[55,89,90],{"class":76}," blob",[55,92,93],{"class":76}," upload",[55,95,96],{"class":76}," --src",[55,98,99],{"class":76}," .\u002Fwordlist.txt",[55,101,102],{"class":76}," --dst",[55,104,105],{"class":69}," \"",[55,107,108],{"class":76},"wordlists\u002Fdirs.txt",[55,110,80],{"class":69},[112,113,114,115,119],"p",{},"The ",[34,116,118],{"href":117},"\u002Fbh\u002Foverview","BH CLI"," reads the same token; every command authenticates\nwith the scopes you granted. If a command fails with an authorization error,\nthe token is missing the scope for that area — add it in Settings and rotate:",[121,122,123,126],"ul",{},[18,124,125],{},"Token management itself (list vs create\u002Fupdate\u002Fdelete\u002Frotate) is gated by\nthe Personal Access Tokens scope.",[18,127,128],{},"Browser OAuth flows (e.g. Slack install) stay cookie-only and never accept\na PAT.",[10,130,132],{"id":131},"scope-rules","Scope Rules",[112,134,135,136,138],{},"Write scopes require their read scope, and subservice scopes require their\nparent (datasets need Projects read; Workflow LSP needs Workflow read).\nThe editor selects parents automatically. Full list:\n",[34,137,37],{"href":36},".",[140,141,142],"style",{},"html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}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 pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":51,"searchDepth":144,"depth":145,"links":146},5,4,[147,148,149],{"id":12,"depth":83,"text":13},{"id":43,"depth":83,"text":44},{"id":131,"depth":83,"text":132},"Create a scoped token for the BH CLI and API access, and rotate it when needed.","md",{},true,"\u002Fdeveloper\u002Fpersonal-access-tokens",null,{"title":5,"description":150},{"loc":154},"11.developer\u002F3.personal-access-tokens","tduBUwInpW5PCpI_hBBpwadhJE8rqzvLh4CFUi9hMec",[161,224,240,259,294,310,322,333,344,355,379,394,412,423,434],{"title":162,"path":163,"stem":164,"children":165},"Workflows","\u002Fworkflows","01.workflows",[166,168,172,176,180,184,188,192,196,200,204,208,212,216,220],{"title":162,"path":163,"stem":167},"01.workflows\u002Findex",{"title":169,"path":170,"stem":171},"Workflow Quick Reference","\u002Fworkflows\u002Fquick-reference","01.workflows\u002F00.quick-reference",{"title":173,"path":174,"stem":175},"Workflows Overview","\u002Fworkflows\u002Foverview","01.workflows\u002F01.overview",{"title":177,"path":178,"stem":179},"Workflow Syntax Reference","\u002Fworkflows\u002Fsyntax-reference","01.workflows\u002F02.syntax-reference",{"title":181,"path":182,"stem":183},"Steps","\u002Fworkflows\u002Fsteps","01.workflows\u002F03.steps",{"title":185,"path":186,"stem":187},"Step Outputs","\u002Fworkflows\u002Fstep-outputs","01.workflows\u002F04.step-outputs",{"title":189,"path":190,"stem":191},"Concurrency","\u002Fworkflows\u002Fconcurrency","01.workflows\u002F05.concurrency",{"title":193,"path":194,"stem":195},"Transforms","\u002Fworkflows\u002Ftransforms","01.workflows\u002F06.transforms",{"title":197,"path":198,"stem":199},"For Each","\u002Fworkflows\u002Ffor-each","01.workflows\u002F07.for-each",{"title":201,"path":202,"stem":203},"Modules","\u002Fworkflows\u002Fmodules","01.workflows\u002F08.modules",{"title":205,"path":206,"stem":207},"Agents","\u002Fworkflows\u002Fagents","01.workflows\u002F09.agents",{"title":209,"path":210,"stem":211},"Decisions","\u002Fworkflows\u002Fdecisions","01.workflows\u002F10.decisions",{"title":213,"path":214,"stem":215},"Configuration References","\u002Fworkflows\u002Fconfig","01.workflows\u002F11.config",{"title":217,"path":218,"stem":219},"Comparison With Other Automation Systems","\u002Fworkflows\u002Fcomparison","01.workflows\u002F12.comparison",{"title":221,"path":222,"stem":223},"Generate with AI","\u002Fworkflows\u002Fai-generation","01.workflows\u002F13.ai-generation",{"title":225,"path":226,"stem":227,"children":228},"Projects","\u002Fprojects","02.projects",[229,232,236],{"title":230,"path":226,"stem":231},"Projects & Runs","02.projects\u002Findex",{"title":233,"path":234,"stem":235},"Projects Overview","\u002Fprojects\u002Foverview","02.projects\u002F1.overview",{"title":237,"path":238,"stem":239},"Runs & Artifacts","\u002Fprojects\u002Fruns-artifacts","02.projects\u002F2.runs-artifacts",{"title":241,"path":242,"stem":243,"children":244},"Runners","\u002Frunners","03.runners",[245,247,251,255],{"title":241,"path":242,"stem":246},"03.runners\u002Findex",{"title":248,"path":249,"stem":250},"Runner Overview","\u002Frunners\u002Foverview","03.runners\u002F1.overview",{"title":252,"path":253,"stem":254},"Getting Started with Runners","\u002Frunners\u002Fgetting-started","03.runners\u002F2.getting-started",{"title":256,"path":257,"stem":258},"Custom Runner Images","\u002Frunners\u002Fcustom-image","03.runners\u002F3.custom-image",{"title":260,"path":261,"stem":262,"children":263},"Datasets","\u002Fdatasets","04.datasets",[264,266,270,274,278,282,286,290],{"title":260,"path":261,"stem":265},"04.datasets\u002Findex",{"title":267,"path":268,"stem":269},"Datasets Overview","\u002Fdatasets\u002Foverview","04.datasets\u002F1.overview",{"title":271,"path":272,"stem":273},"Dataset Schemas and Identity","\u002Fdatasets\u002Fschema","04.datasets\u002F2.schema",{"title":275,"path":276,"stem":277},"Pushing and Reading Dataset Rows","\u002Fdatasets\u002Fworkflows","04.datasets\u002F3.workflows",{"title":279,"path":280,"stem":281},"Dataset SQL Reference","\u002Fdatasets\u002Fsql","04.datasets\u002F4.sql",{"title":283,"path":284,"stem":285},"Dataset Structured Filters","\u002Fdatasets\u002Ffilters","04.datasets\u002F5.filters",{"title":287,"path":288,"stem":289},"Dataset Saved Views","\u002Fdatasets\u002Fviews","04.datasets\u002F6.views",{"title":291,"path":292,"stem":293},"Datasets API and CLI","\u002Fdatasets\u002Fapi-cli","04.datasets\u002F7.api-cli",{"title":295,"path":296,"stem":297,"children":298},"Agent","\u002Fagent","05.agent",[299,302,306],{"title":300,"path":296,"stem":301},"BH Agent","05.agent\u002Findex",{"title":303,"path":304,"stem":305},"BH Agent Overview","\u002Fagent\u002Foverview","05.agent\u002F1.overview",{"title":307,"path":308,"stem":309},"MCP servers","\u002Fagent\u002Fmcp-servers","05.agent\u002F2.mcp-servers",{"title":311,"path":312,"stem":313,"children":314},"Bhlast","\u002Fbhlast","06.bhlast",[315,318],{"title":316,"path":312,"stem":317},"Bhlast Servers","06.bhlast\u002Findex",{"title":319,"path":320,"stem":321},"Bhlast servers overview","\u002Fbhlast\u002Foverview","06.bhlast\u002F1.overview",{"title":323,"path":324,"stem":325,"children":326},"Notifications","\u002Fnotifications","07.notifications",[327,329],{"title":323,"path":324,"stem":328},"07.notifications\u002Findex",{"title":330,"path":331,"stem":332},"Notifications Overview","\u002Fnotifications\u002Foverview","07.notifications\u002F1.overview",{"title":334,"path":335,"stem":336,"children":337},"Blob Storage","\u002Fblob-storage","08.blob-storage",[338,340],{"title":334,"path":335,"stem":339},"08.blob-storage\u002Findex",{"title":341,"path":342,"stem":343},"Blob Storage Overview","\u002Fblob-storage\u002Foverview","08.blob-storage\u002F1.overview",{"title":345,"path":346,"stem":347,"children":348},"Payloads","\u002Fpayloads","09.payloads",[349,351],{"title":345,"path":346,"stem":350},"09.payloads\u002Findex",{"title":352,"path":353,"stem":354},"Payloads overview","\u002Fpayloads\u002Foverview","09.payloads\u002F1.overview",{"title":356,"path":357,"stem":358,"children":359},"Cve Watcher","\u002Fcve-watcher","10.cve-watcher",[360,363,367,371,375],{"title":361,"path":357,"stem":362},"CVE Watcher","10.cve-watcher\u002Findex",{"title":364,"path":365,"stem":366},"CVE Watcher Overview","\u002Fcve-watcher\u002Foverview","10.cve-watcher\u002F1.overview",{"title":368,"path":369,"stem":370},"CVE Watcher Search and Filters","\u002Fcve-watcher\u002Fsearch","10.cve-watcher\u002F2.search",{"title":372,"path":373,"stem":374},"CVE Watcher Push Notifications","\u002Fcve-watcher\u002Fnotifications","10.cve-watcher\u002F3.notifications",{"title":376,"path":377,"stem":378},"CVE Watcher API and Scopes","\u002Fcve-watcher\u002Fapi","10.cve-watcher\u002F4.api",{"title":380,"path":381,"stem":382,"children":383},"Developer","\u002Fdeveloper","11.developer",[384,386,390,393],{"title":380,"path":381,"stem":385},"11.developer\u002Findex",{"title":387,"path":388,"stem":389},"Developer Overview","\u002Fdeveloper\u002Foverview","11.developer\u002F1.overview",{"title":391,"path":36,"stem":392},"Personal Access Token Scopes","11.developer\u002F2.scopes",{"title":5,"path":154,"stem":158},{"title":395,"path":396,"stem":397,"children":398},"Bh","\u002Fbh","12.bh",[399,401,404,408],{"title":118,"path":396,"stem":400},"12.bh\u002Findex",{"title":402,"path":117,"stem":403},"BH CLI Overview","12.bh\u002F1.overview",{"title":405,"path":406,"stem":407},"BH CLI Commands","\u002Fbh\u002Fcommands","12.bh\u002F2.commands",{"title":409,"path":410,"stem":411},"BH CLI Examples","\u002Fbh\u002Fexamples","12.bh\u002F3.examples",{"title":413,"path":414,"stem":415,"children":416},"Billing","\u002Fbilling","13.billing",[417,419],{"title":413,"path":414,"stem":418},"13.billing\u002Findex",{"title":420,"path":421,"stem":422},"Billing Overview","\u002Fbilling\u002Foverview","13.billing\u002F1.overview",{"title":424,"path":425,"stem":426,"children":427},"Tools","\u002Ftools","14.tools",[428,430],{"title":424,"path":425,"stem":429},"14.tools\u002Findex",{"title":431,"path":432,"stem":433},"Cookie Lab","\u002Ftools\u002Fcookie-lab","14.tools\u002F1.cookie-lab",{"title":435,"path":436,"stem":437,"children":438},"Site Policies","\u002Fsite-policies","99.site-policies",[439,441,454,458,462,466,470,474,478],{"title":435,"path":436,"stem":440},"99.site-policies\u002Findex",{"title":442,"path":443,"stem":444,"children":445},"Privacy Policy","\u002Fsite-policies\u002Fprivacy-policy","99.site-policies\u002F1.privacy-policy",[446,450],{"title":447,"path":448,"stem":449},"Company Processors","\u002Fsite-policies\u002Fprivacy-policy\u002Fcompany-processors","99.site-policies\u002Fprivacy-policy\u002F1.company-processors",{"title":451,"path":452,"stem":453},"Data Export Instructions","\u002Fsite-policies\u002Fprivacy-policy\u002Fdata-export-instructions","99.site-policies\u002Fprivacy-policy\u002F2.data-export-instructions",{"title":455,"path":456,"stem":457},"Terms of Service","\u002Fsite-policies\u002Fterms-of-service","99.site-policies\u002F2.terms-of-service",{"title":459,"path":460,"stem":461},"California Resident Notice at Collection","\u002Fsite-policies\u002Fccpa","99.site-policies\u002F3.ccpa",{"title":463,"path":464,"stem":465},"Cancellation Policy","\u002Fsite-policies\u002Fcancellation-policy","99.site-policies\u002F4.cancellation-policy",{"title":467,"path":468,"stem":469},"Refund Policy","\u002Fsite-policies\u002Frefund-policy","99.site-policies\u002F5.refund-policy",{"title":471,"path":472,"stem":473},"Taxes on Services","\u002Fsite-policies\u002Ftaxes-on-services","99.site-policies\u002F6.taxes-on-services",{"title":475,"path":476,"stem":477},"Disclaimer","\u002Fsite-policies\u002Fdisclaimer","99.site-policies\u002F7.disclaimer",{"title":479,"path":480,"stem":481,"children":482},"Security","\u002Fsite-policies\u002Fsecurity","99.site-policies\u002Fsecurity\u002Findex",[483,484,488],{"title":479,"path":480,"stem":481},{"title":485,"path":486,"stem":487},"Security Overview","\u002Fsite-policies\u002Fsecurity\u002Fsecurity-overview","99.site-policies\u002Fsecurity\u002F1.security-overview",{"title":489,"path":490,"stem":491},"Security Response","\u002Fsite-policies\u002Fsecurity\u002Fsecurity-response","99.site-policies\u002Fsecurity\u002F2.security-response",1794410312376]