[{"data":1,"prerenderedAt":605},["ShallowReactive",2],{"page-\u002Fprojects\u002Fruns-artifacts":3,"all-pages":274},{"id":4,"title":5,"body":6,"description":265,"extension":266,"meta":267,"navigation":124,"path":268,"robots":269,"seo":270,"sitemap":271,"stem":272,"__hash__":273},"content\u002F02.projects\u002F2.runs-artifacts.md","Runs & Artifacts",{"type":7,"value":8,"toc":259},"minimark",[9,14,48,52,55,160,163,167,215,226,230,255],[10,11,13],"h2",{"id":12},"reading-a-run","Reading a Run",[15,16,17,18,22,23,26,27,26,30,33,34,37,38,41,42,47],"p",{},"Open ",[19,20,21],"code",{},"...\u002Fworkflows\u002F\u003Cworkflow>\u002Fruns"," and pick a run. The run tree shows every\nactivity and step with its status (",[19,24,25],{},"SUCCEEDED",", ",[19,28,29],{},"FAILED",[19,31,32],{},"SKIPPED","), logs,\nand files produced. Steps you gave an ",[19,35,36],{},"id"," to can be cross-referenced from\nlater conditions via ",[19,39,40],{},"run.steps.\u003Cid>"," (see\n",[43,44,46],"a",{"href":45},"\u002Fworkflows\u002Fsyntax-reference#conditions","Syntax Reference",").",[10,49,51],{"id":50},"downloading-artifacts","Downloading Artifacts",[15,53,54],{},"Artifacts belong to the run. Pull them without the browser:",[56,57,62],"pre",{"className":58,"code":59,"language":60,"meta":61,"style":61},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# Download one artifact file from a run\nbh run artifact download --run-id \"\u003CRUN_ID>\" --artifact-name \"\u003CNAME>\" -o findings.txt\n\n# Upload a shared file to blob storage (e.g. wordlists, templates)\nbh blob upload --src .\u002Fwordlist.txt --dst \"wordlists\u002Fdirs.txt\"\n","bash","",[19,63,64,73,119,126,132],{"__ignoreMap":61},[65,66,69],"span",{"class":67,"line":68},"line",1,[65,70,72],{"class":71},"sHwdD","# Download one artifact file from a run\n",[65,74,76,80,84,87,90,93,97,100,103,106,108,111,113,116],{"class":67,"line":75},2,[65,77,79],{"class":78},"sBMFI","bh",[65,81,83],{"class":82},"sfazB"," run",[65,85,86],{"class":82}," artifact",[65,88,89],{"class":82}," download",[65,91,92],{"class":82}," --run-id",[65,94,96],{"class":95},"sMK4o"," \"",[65,98,99],{"class":82},"\u003CRUN_ID>",[65,101,102],{"class":95},"\"",[65,104,105],{"class":82}," --artifact-name",[65,107,96],{"class":95},[65,109,110],{"class":82},"\u003CNAME>",[65,112,102],{"class":95},[65,114,115],{"class":82}," -o",[65,117,118],{"class":82}," findings.txt\n",[65,120,122],{"class":67,"line":121},3,[65,123,125],{"emptyLinePlaceholder":124},true,"\n",[65,127,129],{"class":67,"line":128},4,[65,130,131],{"class":71},"# Upload a shared file to blob storage (e.g. wordlists, templates)\n",[65,133,135,137,140,143,146,149,152,154,157],{"class":67,"line":134},5,[65,136,79],{"class":78},[65,138,139],{"class":82}," blob",[65,141,142],{"class":82}," upload",[65,144,145],{"class":82}," --src",[65,147,148],{"class":82}," .\u002Fwordlist.txt",[65,150,151],{"class":82}," --dst",[65,153,96],{"class":95},[65,155,156],{"class":82},"wordlists\u002Fdirs.txt",[65,158,159],{"class":95},"\"\n",[15,161,162],{},"Blob storage is managed from the CLI. Reading a blob from inside a workflow is\nnot yet supported by any step.",[10,164,166],{"id":165},"cleanup","Cleanup",[56,168,170],{"className":58,"code":169,"language":60,"meta":61,"style":61},"bh run artifact delete --run-id \"\u003CRUN_ID>\" --artifact-name \"\u003CNAME>\"\nbh run delete --run-id \"\u003CRUN_ID>\"\n",[19,171,172,199],{"__ignoreMap":61},[65,173,174,176,178,180,183,185,187,189,191,193,195,197],{"class":67,"line":68},[65,175,79],{"class":78},[65,177,83],{"class":82},[65,179,86],{"class":82},[65,181,182],{"class":82}," delete",[65,184,92],{"class":82},[65,186,96],{"class":95},[65,188,99],{"class":82},[65,190,102],{"class":95},[65,192,105],{"class":82},[65,194,96],{"class":95},[65,196,110],{"class":82},[65,198,159],{"class":95},[65,200,201,203,205,207,209,211,213],{"class":67,"line":75},[65,202,79],{"class":78},[65,204,83],{"class":82},[65,206,182],{"class":82},[65,208,92],{"class":82},[65,210,96],{"class":95},[65,212,99],{"class":82},[65,214,159],{"class":95},[15,216,217,218,221,222,225],{},"Prefer ",[19,219,220],{},"expires_in"," on ",[19,223,224],{},"step.upload_artifact"," for automatic retention of noisy\nraw output; use explicit deletes for one-off cleanup.",[10,227,229],{"id":228},"next-steps","Next Steps",[231,232,233,241,248],"ul",{},[234,235,236,240],"li",{},[43,237,239],{"href":238},"\u002Fprojects\u002Foverview","Projects Overview",": The full object model.",[234,242,243,247],{},[43,244,246],{"href":245},"\u002Fworkflows\u002Fsteps#artifacts","Steps",": How artifacts move between activities.",[234,249,250,254],{},[43,251,253],{"href":252},"\u002Fbh\u002Fcommands","BH Commands",": Full CLI reference.",[256,257,258],"style",{},"html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html .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":61,"searchDepth":134,"depth":128,"links":260},[261,262,263,264],{"id":12,"depth":75,"text":13},{"id":50,"depth":75,"text":51},{"id":165,"depth":75,"text":166},{"id":228,"depth":75,"text":229},"Read run results in the UI, download artifacts with the BH CLI, and delete runs you no longer need.","md",{},"\u002Fprojects\u002Fruns-artifacts",null,{"title":5,"description":265},{"loc":268},"02.projects\u002F2.runs-artifacts","b30bMMNWXA4YYo75_EOwF0dproATMTTJh5Qwlv5aCH0",[275,337,348,367,402,418,430,441,452,463,487,506,525,536,547],{"title":276,"path":277,"stem":278,"children":279},"Workflows","\u002Fworkflows","01.workflows",[280,282,286,290,294,297,301,305,309,313,317,321,325,329,333],{"title":276,"path":277,"stem":281},"01.workflows\u002Findex",{"title":283,"path":284,"stem":285},"Workflow Quick Reference","\u002Fworkflows\u002Fquick-reference","01.workflows\u002F00.quick-reference",{"title":287,"path":288,"stem":289},"Workflows Overview","\u002Fworkflows\u002Foverview","01.workflows\u002F01.overview",{"title":291,"path":292,"stem":293},"Workflow Syntax Reference","\u002Fworkflows\u002Fsyntax-reference","01.workflows\u002F02.syntax-reference",{"title":246,"path":295,"stem":296},"\u002Fworkflows\u002Fsteps","01.workflows\u002F03.steps",{"title":298,"path":299,"stem":300},"Step Outputs","\u002Fworkflows\u002Fstep-outputs","01.workflows\u002F04.step-outputs",{"title":302,"path":303,"stem":304},"Concurrency","\u002Fworkflows\u002Fconcurrency","01.workflows\u002F05.concurrency",{"title":306,"path":307,"stem":308},"Transforms","\u002Fworkflows\u002Ftransforms","01.workflows\u002F06.transforms",{"title":310,"path":311,"stem":312},"For Each","\u002Fworkflows\u002Ffor-each","01.workflows\u002F07.for-each",{"title":314,"path":315,"stem":316},"Modules","\u002Fworkflows\u002Fmodules","01.workflows\u002F08.modules",{"title":318,"path":319,"stem":320},"Agents","\u002Fworkflows\u002Fagents","01.workflows\u002F09.agents",{"title":322,"path":323,"stem":324},"Decisions","\u002Fworkflows\u002Fdecisions","01.workflows\u002F10.decisions",{"title":326,"path":327,"stem":328},"Configuration References","\u002Fworkflows\u002Fconfig","01.workflows\u002F11.config",{"title":330,"path":331,"stem":332},"Comparison With Other Automation Systems","\u002Fworkflows\u002Fcomparison","01.workflows\u002F12.comparison",{"title":334,"path":335,"stem":336},"Generate with AI","\u002Fworkflows\u002Fai-generation","01.workflows\u002F13.ai-generation",{"title":338,"path":339,"stem":340,"children":341},"Projects","\u002Fprojects","02.projects",[342,345,347],{"title":343,"path":339,"stem":344},"Projects & Runs","02.projects\u002Findex",{"title":239,"path":238,"stem":346},"02.projects\u002F1.overview",{"title":5,"path":268,"stem":272},{"title":349,"path":350,"stem":351,"children":352},"Runners","\u002Frunners","03.runners",[353,355,359,363],{"title":349,"path":350,"stem":354},"03.runners\u002Findex",{"title":356,"path":357,"stem":358},"Runner Overview","\u002Frunners\u002Foverview","03.runners\u002F1.overview",{"title":360,"path":361,"stem":362},"Getting Started with Runners","\u002Frunners\u002Fgetting-started","03.runners\u002F2.getting-started",{"title":364,"path":365,"stem":366},"Custom Runner Images","\u002Frunners\u002Fcustom-image","03.runners\u002F3.custom-image",{"title":368,"path":369,"stem":370,"children":371},"Datasets","\u002Fdatasets","04.datasets",[372,374,378,382,386,390,394,398],{"title":368,"path":369,"stem":373},"04.datasets\u002Findex",{"title":375,"path":376,"stem":377},"Datasets Overview","\u002Fdatasets\u002Foverview","04.datasets\u002F1.overview",{"title":379,"path":380,"stem":381},"Dataset Schemas and Identity","\u002Fdatasets\u002Fschema","04.datasets\u002F2.schema",{"title":383,"path":384,"stem":385},"Pushing and Reading Dataset Rows","\u002Fdatasets\u002Fworkflows","04.datasets\u002F3.workflows",{"title":387,"path":388,"stem":389},"Dataset SQL Reference","\u002Fdatasets\u002Fsql","04.datasets\u002F4.sql",{"title":391,"path":392,"stem":393},"Dataset Structured Filters","\u002Fdatasets\u002Ffilters","04.datasets\u002F5.filters",{"title":395,"path":396,"stem":397},"Dataset Saved Views","\u002Fdatasets\u002Fviews","04.datasets\u002F6.views",{"title":399,"path":400,"stem":401},"Datasets API and CLI","\u002Fdatasets\u002Fapi-cli","04.datasets\u002F7.api-cli",{"title":403,"path":404,"stem":405,"children":406},"Agent","\u002Fagent","05.agent",[407,410,414],{"title":408,"path":404,"stem":409},"BH Agent","05.agent\u002Findex",{"title":411,"path":412,"stem":413},"BH Agent Overview","\u002Fagent\u002Foverview","05.agent\u002F1.overview",{"title":415,"path":416,"stem":417},"MCP servers","\u002Fagent\u002Fmcp-servers","05.agent\u002F2.mcp-servers",{"title":419,"path":420,"stem":421,"children":422},"Bhlast","\u002Fbhlast","06.bhlast",[423,426],{"title":424,"path":420,"stem":425},"Bhlast Servers","06.bhlast\u002Findex",{"title":427,"path":428,"stem":429},"Bhlast servers overview","\u002Fbhlast\u002Foverview","06.bhlast\u002F1.overview",{"title":431,"path":432,"stem":433,"children":434},"Notifications","\u002Fnotifications","07.notifications",[435,437],{"title":431,"path":432,"stem":436},"07.notifications\u002Findex",{"title":438,"path":439,"stem":440},"Notifications Overview","\u002Fnotifications\u002Foverview","07.notifications\u002F1.overview",{"title":442,"path":443,"stem":444,"children":445},"Blob Storage","\u002Fblob-storage","08.blob-storage",[446,448],{"title":442,"path":443,"stem":447},"08.blob-storage\u002Findex",{"title":449,"path":450,"stem":451},"Blob Storage Overview","\u002Fblob-storage\u002Foverview","08.blob-storage\u002F1.overview",{"title":453,"path":454,"stem":455,"children":456},"Payloads","\u002Fpayloads","09.payloads",[457,459],{"title":453,"path":454,"stem":458},"09.payloads\u002Findex",{"title":460,"path":461,"stem":462},"Payloads overview","\u002Fpayloads\u002Foverview","09.payloads\u002F1.overview",{"title":464,"path":465,"stem":466,"children":467},"Cve Watcher","\u002Fcve-watcher","10.cve-watcher",[468,471,475,479,483],{"title":469,"path":465,"stem":470},"CVE Watcher","10.cve-watcher\u002Findex",{"title":472,"path":473,"stem":474},"CVE Watcher Overview","\u002Fcve-watcher\u002Foverview","10.cve-watcher\u002F1.overview",{"title":476,"path":477,"stem":478},"CVE Watcher Search and Filters","\u002Fcve-watcher\u002Fsearch","10.cve-watcher\u002F2.search",{"title":480,"path":481,"stem":482},"CVE Watcher Push Notifications","\u002Fcve-watcher\u002Fnotifications","10.cve-watcher\u002F3.notifications",{"title":484,"path":485,"stem":486},"CVE Watcher API and Scopes","\u002Fcve-watcher\u002Fapi","10.cve-watcher\u002F4.api",{"title":488,"path":489,"stem":490,"children":491},"Developer","\u002Fdeveloper","11.developer",[492,494,498,502],{"title":488,"path":489,"stem":493},"11.developer\u002Findex",{"title":495,"path":496,"stem":497},"Developer Overview","\u002Fdeveloper\u002Foverview","11.developer\u002F1.overview",{"title":499,"path":500,"stem":501},"Personal Access Token Scopes","\u002Fdeveloper\u002Fscopes","11.developer\u002F2.scopes",{"title":503,"path":504,"stem":505},"Personal Access Tokens","\u002Fdeveloper\u002Fpersonal-access-tokens","11.developer\u002F3.personal-access-tokens",{"title":507,"path":508,"stem":509,"children":510},"Bh","\u002Fbh","12.bh",[511,514,518,521],{"title":512,"path":508,"stem":513},"BH CLI","12.bh\u002Findex",{"title":515,"path":516,"stem":517},"BH CLI Overview","\u002Fbh\u002Foverview","12.bh\u002F1.overview",{"title":519,"path":252,"stem":520},"BH CLI Commands","12.bh\u002F2.commands",{"title":522,"path":523,"stem":524},"BH CLI Examples","\u002Fbh\u002Fexamples","12.bh\u002F3.examples",{"title":526,"path":527,"stem":528,"children":529},"Billing","\u002Fbilling","13.billing",[530,532],{"title":526,"path":527,"stem":531},"13.billing\u002Findex",{"title":533,"path":534,"stem":535},"Billing Overview","\u002Fbilling\u002Foverview","13.billing\u002F1.overview",{"title":537,"path":538,"stem":539,"children":540},"Tools","\u002Ftools","14.tools",[541,543],{"title":537,"path":538,"stem":542},"14.tools\u002Findex",{"title":544,"path":545,"stem":546},"Cookie Lab","\u002Ftools\u002Fcookie-lab","14.tools\u002F1.cookie-lab",{"title":548,"path":549,"stem":550,"children":551},"Site Policies","\u002Fsite-policies","99.site-policies",[552,554,567,571,575,579,583,587,591],{"title":548,"path":549,"stem":553},"99.site-policies\u002Findex",{"title":555,"path":556,"stem":557,"children":558},"Privacy Policy","\u002Fsite-policies\u002Fprivacy-policy","99.site-policies\u002F1.privacy-policy",[559,563],{"title":560,"path":561,"stem":562},"Company Processors","\u002Fsite-policies\u002Fprivacy-policy\u002Fcompany-processors","99.site-policies\u002Fprivacy-policy\u002F1.company-processors",{"title":564,"path":565,"stem":566},"Data Export Instructions","\u002Fsite-policies\u002Fprivacy-policy\u002Fdata-export-instructions","99.site-policies\u002Fprivacy-policy\u002F2.data-export-instructions",{"title":568,"path":569,"stem":570},"Terms of Service","\u002Fsite-policies\u002Fterms-of-service","99.site-policies\u002F2.terms-of-service",{"title":572,"path":573,"stem":574},"California Resident Notice at Collection","\u002Fsite-policies\u002Fccpa","99.site-policies\u002F3.ccpa",{"title":576,"path":577,"stem":578},"Cancellation Policy","\u002Fsite-policies\u002Fcancellation-policy","99.site-policies\u002F4.cancellation-policy",{"title":580,"path":581,"stem":582},"Refund Policy","\u002Fsite-policies\u002Frefund-policy","99.site-policies\u002F5.refund-policy",{"title":584,"path":585,"stem":586},"Taxes on Services","\u002Fsite-policies\u002Ftaxes-on-services","99.site-policies\u002F6.taxes-on-services",{"title":588,"path":589,"stem":590},"Disclaimer","\u002Fsite-policies\u002Fdisclaimer","99.site-policies\u002F7.disclaimer",{"title":592,"path":593,"stem":594,"children":595},"Security","\u002Fsite-policies\u002Fsecurity","99.site-policies\u002Fsecurity\u002Findex",[596,597,601],{"title":592,"path":593,"stem":594},{"title":598,"path":599,"stem":600},"Security Overview","\u002Fsite-policies\u002Fsecurity\u002Fsecurity-overview","99.site-policies\u002Fsecurity\u002F1.security-overview",{"title":602,"path":603,"stem":604},"Security Response","\u002Fsite-policies\u002Fsecurity\u002Fsecurity-response","99.site-policies\u002Fsecurity\u002F2.security-response",1794410312376]