Get the editable head rendered as a directory of files. Structural files carry inline content; the workflow’s own files are referenced by id. The returned rev can be supplied as baseRev to patch without a second fetch.
GET
/
agents
/
v2
/
workflows
/
{workflowId}
/
head
/
files
Get workflow head files
curl --request GET \
--url https://odyssey.asteroid.ai/agents/v2/workflows/{workflowId}/head/files \
--header 'X-Api-Key: <api-key>'
Which contents come inline: none (a pure manifest), structural (the default), or all (structural plus file bytes within the response budget).
Which file contents a tree read carries inline.
Return only the files at these exact tree paths. A path that names nothing yields no entry. The inline budget applies to the filtered set, so a narrow read can inline files a whole-tree read would have to skip.
Narrow which variants// files the tree carries: "none" strips every variant, a comma-separated list keeps only those variant keys. Files outside variants/ are always kept, and the response's variantKeys still names every variant. Ignored unless the workflow has variant mode enabled; absent keeps every variant.
Ceiling, in bytes, on the total inlined file contents in one response. Clamped to the server maximum. Files are admitted in path order until the ceiling is reached; the rest stay references.
Response
The request has succeeded.
A workflow version rendered as a directory of files. Structural files carry inline content; the workflow's own files are referenced by id.
The revision the tree reflects. For the editable head, supply this as baseRev when patching. Agent-file-only patches overlay the current head if it has moved; structural-file patches are rejected with 409 when stale.
The workflow's name. The directory is rendered relative to the workflow root, so a client that lays it out under a per-workflow folder needs the name to derive that folder — and would otherwise have to fetch the workflow for it.
Hex-encoded SHA-256 over the workflow's whole file directory: every structural file's path and content, and every agent file's path and checksum. It covers the whole workflow regardless of any paths, variants or contents narrowing on the read, so two reads of the same workflow always agree. A client keeping the directory in version control compares this one string to answer "does the published agent still match my checkout?" instead of diffing every file. Absent when an agent file has no checksum yet, since the tree cannot then be hashed in full.
Every variant key the workflow's files carry, sorted, regardless of any variants filter on the read — a narrowed tree still names what it could ask for. Absent unless the workflow has variant mode enabled.
The workflow's version number, absent for a draft that has never been published.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Asteroid Workflows","description":"Asteroid API, SDK, and MCP documentation: build and operate browser and computer use workflows that drive healthcare portal work — prior authorization, eligibility, credentialing, claims, scheduling, enrollment, and EHR automation. HIPAA compliant, SOC 2 Type II certified.","colors":{"primary":"#692FFF","light":"#bacef5","dark":"#000000"},"logo":{"light":"https://mintcdn.com/entropylabs/_BgZG9pdBu2QjJIY/logo/logo_black.png?fit=max\u0026auto=format\u0026n=_BgZG9pdBu2QjJIY\u0026q=85\u0026s=26c9e69b06fad83cfbc0ebde8e6e7a3f","dark":"https://mintcdn.com/entropylabs/_BgZG9pdBu2QjJIY/logo/logo.png?fit=max\u0026auto=format\u0026n=_BgZG9pdBu2QjJIY\u0026q=85\u0026s=891a506d76e3996df0c818545fe74376","href":"https://asteroid.ai"},"favicon":{"light":"https://mintcdn.com/entropylabs/RLazHcq7oQoLRWiq/logo/favicon-light.png?fit=max\u0026auto=format\u0026n=RLazHcq7oQoLRWiq\u0026q=85\u0026s=0394d8f606428ac1194058b407aacea7","dark":"https://mintcdn.com/entropylabs/RLazHcq7oQoLRWiq/logo/favicon-dark.png?fit=max\u0026auto=format\u0026n=RLazHcq7oQoLRWiq\u0026q=85\u0026s=e6975c70d96315b5bff355ee1b302d6a"},"api":{"openapi":["https://odyssey.asteroid.ai/agents/v2/openapi.yaml","https://odyssey.asteroid.ai/webhooks/openapi.json"],"playground":{"display":"interactive"}},"navbar":{"links":[{"icon":"book","href":"https://asteroid.ai/blog","label":"Blog"}],"primary":{"type":"button","label":"Platform","href":"https://platform.asteroid.ai"}},"footer":{"socials":{"github":"https://github.com/asteroidai","linkedin":"https://www.linkedin.com/company/asteroidai"}},"search":{"prompt":"Search Asteroid documentation..."},"seo":{"metatags":{"canonical":"https://docs.asteroid.ai","robots":"index, follow","googlebot":"index, follow","og:site_name":"Asteroid Docs","og:locale":"en_US","keywords":"browser workflows, browser automation, computer use workflows, web workflow, healthcare workflow automation, hipaa healthcare workflow automation, claims processing automation, revenue cycle automation, prior authorization automation, ehr automation","og:image":"https://docs.asteroid.ai/logo/social-preview-1200x630.png","og:image:alt":"Asteroid browser and computer-use workflows: AI-first, SOC 2 and HIPAA compliant, trusted by 100+ teams in production.","og:image:width":"1200","og:image:height":"630","twitter:site":"@asteroid_inc","twitter:creator":"@asteroid_inc","twitter:image":"https://docs.asteroid.ai/logo/social-preview-1200x630.png","twitter:image:alt":"Asteroid browser and computer-use workflows: AI-first, SOC 2 and HIPAA compliant, trusted by 100+ teams in production.","twitter:image:width":"1200","twitter:image:height":"630","twitter:card":"summary_large_image"}},"icons":{"library":"lucide"},"contextual":{"options":["copy","view","mcp","perplexity","cursor","vscode","chatgpt","claude"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"entropylabs","hasAudioNarration":false,"actualSubdomain":"entropylabs","customDomains":["docs.asteroid.ai"],"gitSource":{"type":"github","owner":"asteroidai","repo":"agents","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"entitlements":{},"buildId":"6af285170bf6cfcfbf8b3b61","clientVersion":"0.0.4102","searchFilterCounts":[{"language":"default","tag":"API","count":71},{"language":"default","tag":"Reference","count":68},{"language":"default","tag":"Documentation","count":43},{"language":"default","tag":"Secrets","count":19},{"language":"default","tag":"Concepts","count":16},{"language":"default","tag":"Execution","count":12},{"language":"default","tag":"Profiles","count":9},{"language":"default","tag":"Files","count":8},{"language":"default","tag":"Profile Groups","count":8},{"language":"default","tag":"Operate","count":6}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/files/get-workflow-head-files","slug":"/api-reference/files/get-workflow-head-files","pageMetadata":{"title":"Get workflow head files","description":"Get the editable head rendered as a directory of files. Structural files carry inline content; the workflow's own files are referenced by id. The returned `rev` can be supplied as `baseRev` to patch without a second fetch.","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml get /agents/v2/workflows/{workflowId}/head/files","href":"/api-reference/files/get-workflow-head-files","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Get the editable head rendered as a directory of files. Structural files carry inline content; the workflow’s own files are referenced by id. The returned \", _jsx(_components.code, {\n children: \"rev\"\n }), \" can be supplied as \", _jsx(_components.code, {\n children: \"baseRev\"\n }), \" to patch without a second fetch.\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Get workflow head files","description":"Get the editable head rendered as a directory of files. Structural files carry inline content; the workflow's own files are referenced by id. The returned `rev` can be supplied as `baseRev` to patch without a second fetch.","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml get /agents/v2/workflows/{workflowId}/head/files","href":"/api-reference/files/get-workflow-head-files","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"description":"Get the editable head rendered as a directory of files. Structural files carry inline content; the workflow's own files are referenced by id. The returned `rev` can be supplied as `baseRev` to patch without a second fetch.","operationId":"WorkflowHead_getFiles","parameters":["78048731-b55b-4042-bf51-3077e95148e8","6933b5f3-2e70-4dcf-8ee8-e507c8f39732","3b5ca43b-5482-4af5-8edf-3317b973cb93","50accc1a-de4d-4310-98bf-15b87d6d8c19","f8e14636-7f17-4bd7-bc64-6f3d9e660af2","e3254067-e3e4-4bfa-a71c-8401d28fbb07"],"responses":{"200":"4724d4a6-a788-43e3-83ae-e79500564c6d","400":"91585b90-4071-4bd8-a5ca-2b055a617009","401":"1538e978-2532-4414-993a-96620cb9d691","403":"c1749a76-840f-41d8-93b5-e7498844dbf4","404":"fac0c934-daf0-4c4c-ae47-05c7b78a667b","500":"535cf2b4-8257-48a1-b029-1853766be97e"},"summary":"Get workflow head files","tags":["Files"],"method":"get","type":"path","servers":["5cdecf24-c584-4310-bafd-027a2609564f"],"security":["232ac6d7-6130-4dd9-8ac7-362574399ed1"],"path":"/agents/v2/workflows/{workflowId}/head/files","baseUrlOptions":["https://odyssey.asteroid.ai"],"title":"Get workflow head files","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"78048731-b55b-4042-bf51-3077e95148e8":{"in":"path","name":"workflowId","required":true,"schema":{"format":"uuid","type":"string","isRequired":true,"uniqueKey":"","typeLabel":"string\u003cuuid>"}},"6933b5f3-2e70-4dcf-8ee8-e507c8f39732":{"description":"Which contents come inline: none (a pure manifest), structural (the default), or all (structural plus file bytes within the response budget).","explode":false,"in":"query","name":"contents","schema":{"description":"Which contents come inline: none (a pure manifest), structural (the default), or all (structural plus file bytes within the response budget).\nWhich file contents a tree read carries inline.","enum":["none","structural","all"],"type":"string","uniqueKey":"","typeLabel":"enum\u003cstring>"}},"3b5ca43b-5482-4af5-8edf-3317b973cb93":{"description":"Return only the files at these exact tree paths. A path that names nothing yields no entry. The inline budget applies to the filtered set, so a narrow read can inline files a whole-tree read would have to skip.","in":"query","name":"paths","schema":{"items":{"type":"string","uniqueKey":"items.[INDEX]","typeLabel":"string"},"type":"array","description":"Return only the files at these exact tree paths. A path that names nothing yields no entry. The inline budget applies to the filtered set, so a narrow read can inline files a whole-tree read would have to skip.","uniqueKey":"","typeLabel":"string[]"}},"50accc1a-de4d-4310-98bf-15b87d6d8c19":{"description":"Narrow which variants/\u003ckey>/ files the tree carries: \"none\" strips every variant, a comma-separated list keeps only those variant keys. Files outside variants/ are always kept, and the response's variantKeys still names every variant. Ignored unless the workflow has variant mode enabled; absent keeps every variant.","in":"query","name":"variants","schema":{"type":"string","description":"Narrow which variants/\u003ckey>/ files the tree carries: \"none\" strips every variant, a comma-separated list keeps only those variant keys. Files outside variants/ are always kept, and the response's variantKeys still names every variant. Ignored unless the workflow has variant mode enabled; absent keeps every variant.","uniqueKey":"","typeLabel":"string"}},"f8e14636-7f17-4bd7-bc64-6f3d9e660af2":{"description":"Per-file ceiling, in bytes, for inlined file contents. Clamped to the server maximum. Files above the ceiling stay references.","explode":false,"in":"query","name":"maxFileBytes","schema":{"format":"int64","type":"integer","description":"Per-file ceiling, in bytes, for inlined file contents. Clamped to the server maximum. Files above the ceiling stay references.","uniqueKey":"","typeLabel":"integer\u003cint64>"}},"e3254067-e3e4-4bfa-a71c-8401d28fbb07":{"description":"Ceiling, in bytes, on the total inlined file contents in one response. Clamped to the server maximum. Files are admitted in path order until the ceiling is reached; the rest stay references.","explode":false,"in":"query","name":"maxTotalBytes","schema":{"format":"int64","type":"integer","description":"Ceiling, in bytes, on the total inlined file contents in one response. Clamped to the server maximum. Files are admitted in path order until the ceiling is reached; the rest stay references.","uniqueKey":"","typeLabel":"integer\u003cint64>"}}},"responses":{"4724d4a6-a788-43e3-83ae-e79500564c6d":{"content":{"application/json":{"schema":{"description":"A workflow version rendered as a directory of files. Structural files carry inline content; the workflow's own files are referenced by id.","properties":{"files":{"description":"The files in the workflow, sorted by path.","items":{"description":"A single entry in a workflow's directory-of-files representation.","properties":{"kind":{"type":"string","description":"Whether this is a derived structural file (content inlined) or a user agent file (referenced by fileId).","enum":["structural","agent_file"],"isRequired":true,"uniqueKey":"files.items.[INDEX].kind","typeLabel":"enum\u003cstring>"},"path":{"description":"The file path, relative to the workflow root (e.g. `settings.yaml`, `nodes/login/instructions.md`).","type":"string","isRequired":true,"uniqueKey":"files.items.[INDEX].path","typeLabel":"string"},"size":{"description":"The file size in bytes.","format":"int64","type":"integer","isRequired":true,"uniqueKey":"files.items.[INDEX].size","typeLabel":"integer\u003cint64>"},"checksum":{"description":"Hex-encoded SHA-256 of the file contents, when known. Lets a client materialising the directory skip files it already has. Absent for structural files, whose content is inlined anyway.","type":"string","uniqueKey":"files.items.[INDEX].checksum","typeLabel":"string"},"content":{"description":"Inline UTF-8 content. Present for structural files only, and omitted under `contents=none`; agent files carry their bytes in contentBase64, since arbitrary uploads are not guaranteed to be valid UTF-8.","type":"string","uniqueKey":"files.items.[INDEX].content","typeLabel":"string"},"contentBase64":{"description":"Base64-encoded file bytes. Present only for agent files, and only when `contents=all` and the file fits the response budget. Absent when contents were not requested, the file exceeded the budget, or storage could not be read — fall back to the workflow agent-file download endpoints using fileId.","type":"string","uniqueKey":"files.items.[INDEX].contentBase64","typeLabel":"string"},"downloadUrl":{"description":"For an agent file: a URL that redirects to a short-lived signed URL for the file's bytes. Browser clients with no bucket access use this to preview, download and diff files the response did not inline. Absent for structural files, whose content is inlined, and on the internal surface, whose callers read a skipped file straight from storage by `storageObjectKey`.","format":"uri","type":"string","uniqueKey":"files.items.[INDEX].downloadUrl","typeLabel":"string\u003curi>"},"fileId":{"type":"string","description":"For an agent file: the id used to fetch its content via the workflow agent-file endpoints.","format":"uuid","uniqueKey":"files.items.[INDEX].fileId","typeLabel":"string\u003cuuid>"},"mimeType":{"description":"The file's MIME type, when known.","type":"string","uniqueKey":"files.items.[INDEX].mimeType","typeLabel":"string"},"storageObjectKey":{"description":"For an agent file: the object key of its blob in the agents bucket. A caller with bucket access (astro-agent) reads a file the response budget skipped straight from storage, instead of a signed-URL mint plus a download redirect. Absent for structural files, which have no blob.","type":"string","uniqueKey":"files.items.[INDEX].storageObjectKey","typeLabel":"string"},"updatedAt":{"description":"For an agent file: when its contents were last written.","format":"date-time","type":"string","uniqueKey":"files.items.[INDEX].updatedAt","typeLabel":"string\u003cdate-time>"}},"required":["path","kind","size"],"type":"object","uniqueKey":"files.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"files","typeLabel":"object[]"},"rev":{"description":"The revision the tree reflects. For the editable head, supply this as `baseRev` when patching. Agent-file-only patches overlay the current head if it has moved; structural-file patches are rejected with 409 when stale.","type":"integer","isRequired":true,"uniqueKey":"rev","typeLabel":"integer"},"versionId":{"format":"uuid","type":"string","isRequired":true,"uniqueKey":"versionId","typeLabel":"string\u003cuuid>"},"workflowId":{"type":"string","description":"The id of the workflow this version belongs to. Lets a client that materialises the directory record what it holds without a second fetch.","format":"uuid","isRequired":true,"uniqueKey":"workflowId","typeLabel":"string\u003cuuid>"},"workflowName":{"description":"The workflow's name. The directory is rendered relative to the workflow root, so a client that lays it out under a per-workflow folder needs the name to derive that folder — and would otherwise have to fetch the workflow for it.","type":"string","isRequired":true,"uniqueKey":"workflowName","typeLabel":"string"},"contentHash":{"description":"Hex-encoded SHA-256 over the workflow's whole file directory: every structural file's path and content, and every agent file's path and checksum. It covers the whole workflow regardless of any paths, variants or contents narrowing on the read, so two reads of the same workflow always agree. A client keeping the directory in version control compares this one string to answer \"does the published agent still match my checkout?\" instead of diffing every file. Absent when an agent file has no checksum yet, since the tree cannot then be hashed in full.","type":"string","uniqueKey":"contentHash","typeLabel":"string"},"variantKeys":{"description":"Every variant key the workflow's files carry, sorted, regardless of any variants filter on the read — a narrowed tree still names what it could ask for. Absent unless the workflow has variant mode enabled.","items":{"type":"string","uniqueKey":"variantKeys.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"variantKeys","typeLabel":"string[]"},"version":{"description":"The workflow's version number, absent for a draft that has never been published.","type":"integer","uniqueKey":"version","typeLabel":"integer"}},"required":["rev","workflowId","workflowName","files","versionId"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"files":[{"kind":"structural","path":"\u003cstring>","size":123,"checksum":"\u003cstring>","content":"\u003cstring>","contentBase64":"\u003cstring>","downloadUrl":"\u003cstring>","fileId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","mimeType":"\u003cstring>","storageObjectKey":"\u003cstring>","updatedAt":"2023-11-07T05:31:56Z"}],"rev":123,"versionId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","workflowId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","workflowName":"\u003cstring>","contentHash":"\u003cstring>","variantKeys":["\u003cstring>"],"version":123}}},"exampleType":"generated"}},"description":"The request has succeeded.","exampleType":"generated"},"91585b90-4071-4bd8-a5ca-2b055a617009":{"content":{"application/json":{"schema":{"properties":{"code":{"enum":[400],"type":"number","x-enum-varnames":["BadRequest"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cnumber>"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"detail":{"description":"Explanation of this occurrence. Same text as message","type":"string","uniqueKey":"detail","typeLabel":"string"},"errors":{"description":"The parameters that failed validation, when known","items":{"description":"A problem with one request parameter","properties":{"detail":{"description":"What is wrong with it","type":"string","isRequired":true,"uniqueKey":"errors.items.[INDEX].detail","typeLabel":"string"},"parameter":{"description":"The query or path parameter name","type":"string","isRequired":true,"uniqueKey":"errors.items.[INDEX].parameter","typeLabel":"string"}},"required":["parameter","detail"],"type":"object","uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"errors","typeLabel":"object[]"},"instance":{"description":"The request path that produced the problem","type":"string","uniqueKey":"instance","typeLabel":"string"},"status":{"format":"int32","type":"integer","uniqueKey":"status","typeLabel":"integer\u003cint32>"},"title":{"description":"Short summary of the problem type","type":"string","uniqueKey":"title","typeLabel":"string"},"type":{"description":"A URI that identifies the problem type. about:blank when the status says it all","type":"string","uniqueKey":"type","typeLabel":"string"}},"required":["code","message"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":400,"message":"\u003cstring>","detail":"\u003cstring>","errors":[{"detail":"\u003cstring>","parameter":"\u003cstring>"}],"instance":"\u003cstring>","status":123,"title":"\u003cstring>","type":"\u003cstring>"}}},"exampleType":"generated"}},"description":"The server could not understand the request due to invalid syntax.","exampleType":"generated"},"1538e978-2532-4414-993a-96620cb9d691":{"content":{"application/json":{"schema":{"properties":{"code":{"enum":[401],"type":"number","x-enum-varnames":["Unauthorized"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cnumber>"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"detail":{"description":"Explanation of this occurrence. Same text as message","type":"string","uniqueKey":"detail","typeLabel":"string"},"instance":{"description":"The request path that produced the problem","type":"string","uniqueKey":"instance","typeLabel":"string"},"status":{"format":"int32","type":"integer","uniqueKey":"status","typeLabel":"integer\u003cint32>"},"title":{"description":"Short summary of the problem type","type":"string","uniqueKey":"title","typeLabel":"string"},"type":{"description":"A URI that identifies the problem type. about:blank when the status says it all","type":"string","uniqueKey":"type","typeLabel":"string"}},"required":["code","message"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":401,"message":"\u003cstring>","detail":"\u003cstring>","instance":"\u003cstring>","status":123,"title":"\u003cstring>","type":"\u003cstring>"}}},"exampleType":"generated"}},"description":"Access is unauthorized.","exampleType":"generated"},"c1749a76-840f-41d8-93b5-e7498844dbf4":{"content":{"application/json":{"schema":{"properties":{"code":{"enum":[403],"type":"number","x-enum-varnames":["Forbidden"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cnumber>"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"capability":{"description":"The missing capability key, when reason is capability_required","type":"string","uniqueKey":"capability","typeLabel":"string"},"detail":{"description":"Explanation of this occurrence. Same text as message","type":"string","uniqueKey":"detail","typeLabel":"string"},"instance":{"description":"The request path that produced the problem","type":"string","uniqueKey":"instance","typeLabel":"string"},"reason":{"type":"string","description":"Why the request was refused, when the client can act on it","enum":["capability_required","geo_blocked"],"uniqueKey":"reason","typeLabel":"enum\u003cstring>"},"status":{"format":"int32","type":"integer","uniqueKey":"status","typeLabel":"integer\u003cint32>"},"title":{"description":"Short summary of the problem type","type":"string","uniqueKey":"title","typeLabel":"string"},"type":{"description":"A URI that identifies the problem type. about:blank when the status says it all","type":"string","uniqueKey":"type","typeLabel":"string"}},"required":["code","message"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":403,"message":"\u003cstring>","capability":"\u003cstring>","detail":"\u003cstring>","instance":"\u003cstring>","reason":"capability_required","status":123,"title":"\u003cstring>","type":"\u003cstring>"}}},"exampleType":"generated"}},"description":"Access is forbidden.","exampleType":"generated"},"fac0c934-daf0-4c4c-ae47-05c7b78a667b":{"content":{"application/json":{"schema":{"properties":{"code":{"enum":[404],"type":"number","x-enum-varnames":["NotFound"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cnumber>"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"detail":{"description":"Explanation of this occurrence. Same text as message","type":"string","uniqueKey":"detail","typeLabel":"string"},"instance":{"description":"The request path that produced the problem","type":"string","uniqueKey":"instance","typeLabel":"string"},"status":{"format":"int32","type":"integer","uniqueKey":"status","typeLabel":"integer\u003cint32>"},"title":{"description":"Short summary of the problem type","type":"string","uniqueKey":"title","typeLabel":"string"},"type":{"description":"A URI that identifies the problem type. about:blank when the status says it all","type":"string","uniqueKey":"type","typeLabel":"string"}},"required":["code","message"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":404,"message":"\u003cstring>","detail":"\u003cstring>","instance":"\u003cstring>","status":123,"title":"\u003cstring>","type":"\u003cstring>"}}},"exampleType":"generated"}},"description":"The server cannot find the requested resource.","exampleType":"generated"},"535cf2b4-8257-48a1-b029-1853766be97e":{"content":{"application/json":{"schema":{"properties":{"code":{"enum":[500],"type":"number","x-enum-varnames":["InternalServerError"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cnumber>"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"detail":{"description":"Explanation of this occurrence. Same text as message","type":"string","uniqueKey":"detail","typeLabel":"string"},"instance":{"description":"The request path that produced the problem","type":"string","uniqueKey":"instance","typeLabel":"string"},"status":{"format":"int32","type":"integer","uniqueKey":"status","typeLabel":"integer\u003cint32>"},"title":{"description":"Short summary of the problem type","type":"string","uniqueKey":"title","typeLabel":"string"},"type":{"description":"A URI that identifies the problem type. about:blank when the status says it all","type":"string","uniqueKey":"type","typeLabel":"string"}},"required":["code","message"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":500,"message":"\u003cstring>","detail":"\u003cstring>","instance":"\u003cstring>","status":123,"title":"\u003cstring>","type":"\u003cstring>"}}},"exampleType":"generated"}},"description":"Server error","exampleType":"generated"}},"security":{"232ac6d7-6130-4dd9-8ac7-362574399ed1":{"ApiKeyAuth":{"in":"header","name":"X-Api-Key","type":"apiKey","scopes":[],"schemeName":"ApiKeyAuth"}}},"servers":{"5cdecf24-c584-4310-bafd-027a2609564f":{"url":"https://odyssey.asteroid.ai"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"in":"header","name":"X-Api-Key","type":"apiKey","scopes":[],"schemeName":"ApiKeyAuth"},"schema":{"title":"X-Api-Key","type":"string","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"ApiKeyAuth","name":"X-Api-Key"}],"title":"ApiKeyAuth"}]},"originalFileLocation":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml"},"subdomain":"entropylabs","siteName":"Asteroid Workflows","title":"Get workflow head files - Asteroid Workflows","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-10T02:44:48.129Z","originalFileLocation":"api-reference/files/get-workflow-head-files.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Get the editable head rendered as a directory of files. Structural files carry inline content; the workflow\u0026#x27;s own files are referenced by id. The returned rev can be supplied as baseRev to patch without a second fetch.\">\u003cmeta data-mint-head name=\"keywords\" content=\"browser workflows, browser automation, computer use workflows, web workflow, healthcare workflow automation, hipaa healthcare workflow automation, claims processing automation, revenue cycle automation, prior authorization automation, ehr automation\">\u003cmeta data-mint-head name=\"application-name\" content=\"Asteroid Workflows\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"index, follow\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/entropylabs/ZFt5yje-Sd320od_/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/entropylabs/ZFt5yje-Sd320od_/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/entropylabs/ZFt5yje-Sd320od_/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/entropylabs/ZFt5yje-Sd320od_/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/entropylabs/ZFt5yje-Sd320od_/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/entropylabs/ZFt5yje-Sd320od_/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/entropylabs/ZFt5yje-Sd320od_/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/entropylabs/ZFt5yje-Sd320od_/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/entropylabs/ZFt5yje-Sd320od_/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Get workflow head files - Asteroid Workflows\">\u003cmeta data-mint-head property=\"og:description\" content=\"Get the editable head rendered as a directory of files. Structural files carry inline content; the workflow\u0026#x27;s own files are referenced by id. The returned rev can be supplied as baseRev to patch without a second fetch.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Asteroid Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.asteroid.ai/api-reference/files/get-workflow-head-files\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://docs.asteroid.ai/logo/social-preview-1200x630.png\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Get workflow head files - Asteroid Workflows\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Get the editable head rendered as a directory of files. Structural files carry inline content; the workflow\u0026#x27;s own files are referenced by id. The returned rev can be supplied as baseRev to patch without a second fetch.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://docs.asteroid.ai/logo/social-preview-1200x630.png\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/entropylabs/ZFt5yje-Sd320od_/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Asteroid Workflows\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#692FFF\">\u003cmeta data-mint-head name=\"og:locale\" content=\"en_US\">\u003cmeta data-mint-head name=\"googlebot\" content=\"index, follow\">\u003cmeta data-mint-head name=\"og:image:alt\" content=\"Asteroid browser and computer-use workflows: AI-first, SOC 2 and HIPAA compliant, trusted by 100+ teams in production.\">\u003cmeta data-mint-head name=\"twitter:creator\" content=\"@asteroid_inc\">\u003cmeta data-mint-head name=\"twitter:image:alt\" content=\"Asteroid browser and computer-use workflows: AI-first, SOC 2 and HIPAA compliant, trusted by 100+ teams in production.\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.asteroid.ai/api-reference/files/get-workflow-head-files\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/files/get-workflow-head-files.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.asteroid.ai/#organization\",\"name\":\"Asteroid Workflows\",\"url\":\"https://docs.asteroid.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/entropylabs/_BgZG9pdBu2QjJIY/logo/logo_black.png?fit=max\u0026auto=format\u0026n=_BgZG9pdBu2QjJIY\u0026q=85\u0026s=26c9e69b06fad83cfbc0ebde8e6e7a3f\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.asteroid.ai#website\",\"name\":\"Asteroid Workflows\",\"url\":\"https://docs.asteroid.ai\",\"publisher\":{\"@id\":\"https://docs.asteroid.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.asteroid.ai/api-reference/files/get-workflow-head-files#webpage\",\"url\":\"https://docs.asteroid.ai/api-reference/files/get-workflow-head-files\",\"name\":\"Get workflow head files\",\"description\":\"Get the editable head rendered as a directory of files. Structural files carry inline content; the workflow's own files are referenced by id. The returned rev can be supplied as baseRev to patch without a second fetch.\",\"dateModified\":\"2026-11-10T02:44:48.129Z\",\"isPartOf\":{\"@id\":\"https://docs.asteroid.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.asteroid.ai/api-reference/files/get-workflow-head-files#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.asteroid.ai/api-reference/files/get-workflow-head-files#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Reference\",\"item\":\"https://docs.asteroid.ai\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Files\",\"item\":\"https://docs.asteroid.ai/api-reference/files/get-execution-files\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Get workflow head files\",\"item\":\"https://docs.asteroid.ai/api-reference/files/get-workflow-head-files\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.asteroid.ai/api-reference/files/get-workflow-head-files#apireference\",\"headline\":\"Get workflow head files\",\"name\":\"Get workflow head files\",\"description\":\"Get the editable head rendered as a directory of files. Structural files carry inline content; the workflow's own files are referenced by id. The returned rev can be supplied as baseRev to patch without a second fetch.\",\"url\":\"https://docs.asteroid.ai/api-reference/files/get-workflow-head-files\",\"mainEntityOfPage\":{\"@id\":\"https://docs.asteroid.ai/api-reference/files/get-workflow-head-files#webpage\"},\"image\":\"https://docs.asteroid.ai/logo/social-preview-1200x630.png\",\"dateModified\":\"2026-11-10T02:44:48.129Z\",\"publisher\":{\"@id\":\"https://docs.asteroid.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.asteroid.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Asteroid Workflows\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Asteroid Workflows\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/files/get-workflow-head-files.md","siteName":"Asteroid Workflows","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/start/what-asteroid-is"}]},{"tab":"API","groups":[{"group":"Get Started","icon":"cloud","pages":[{"title":"API reference","icon":"book","href":"/api-reference/overview"}]},{"group":"Errors","icon":"triangle-alert","pages":[{"title":"Errors","sidebarTitle":"Overview","icon":"triangle-alert","href":"/errors/overview"},{"title":"Live limit reached","icon":"gauge","href":"/errors/limit-reached"}]},{"group":"Reference","pages":[{"group":"Agent Profile Pools","pages":[]},{"group":"Agent Profiles","pages":[]},{"group":"Agents","pages":[]},{"group":"Files","pages":[{"title":"Get Execution Files","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml get /agents/v2/executions/{executionId}/files","href":"/api-reference/files/get-execution-files"},{"title":"Download execution file","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml get /agents/v2/executions/{executionId}/files/{fileId}/download","href":"/api-reference/files/download-execution-file"},{"title":"Stage a file for an execution","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml post /agents/v2/temp-files","href":"/api-reference/files/stage-a-file-for-an-execution"},{"title":"Stage a file for an execution","description":"Stage a file prior to starting an execution, so that it can be used when the execution is started. See the /agents/{agentId}/execute to understand how to pass the returned file information to the execution endpoint.","deprecated":true,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml post /agents/v2/temp-files/{organizationId}","href":"/api-reference/files/stage-a-file-for-an-execution-1"},{"title":"Get workflow head files","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml get /agents/v2/workflows/{workflowId}/head/files","href":"/api-reference/files/get-workflow-head-files"},{"title":"Patch workflow head files","description":"Patch the editable head's file representation in place: apply file writes and deletes, re-derive the structured workflow, and persist it. Structural-file writes require a matching baseRev. When the head is frozen (published or executed) the edit forks a fresh version behind the scenes.","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml patch /agents/v2/workflows/{workflowId}/head/files","href":"/api-reference/files/patch-workflow-head-files"},{"title":"Publish workflow head","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml post /agents/v2/workflows/{workflowId}/head/publish","href":"/api-reference/files/publish-workflow-head"},{"title":"Validate workflow head","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml post /agents/v2/workflows/{workflowId}/head/validate","href":"/api-reference/files/validate-workflow-head"}]},{"group":"Workflows","pages":[{"title":"List workflows","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml get /agents/v2/workflows","href":"/api-reference/workflows/list-workflows"},{"title":"List available tools","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml get /agents/v2/workflows/available-tools","href":"/api-reference/workflows/list-available-tools"},{"title":"Execute workflow","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml post /agents/v2/workflows/{workflowId}/execute","href":"/api-reference/workflows/execute-workflow"},{"title":"Execute workflow and wait for the result","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml post /agents/v2/workflows/{workflowId}/execute/sync","href":"/api-reference/workflows/execute-workflow-and-wait-for-the-result"}]},{"group":"Context","pages":[{"title":"Get Context","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml get /agents/v2/context","href":"/api-reference/context/get-context"},{"title":"Who am I","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml get /users/v2/whoami","href":"/api-reference/context/who-am-i"}]},{"group":"Documentation","pages":[]},{"group":"Execution","pages":[{"title":"List executions","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml get /agents/v2/executions","href":"/api-reference/execution/list-executions"},{"title":"Get execution","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml get /agents/v2/executions/{executionId}","href":"/api-reference/execution/get-execution"},{"title":"Delete execution","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml delete /agents/v2/executions/{executionId}","href":"/api-reference/execution/delete-execution"},{"title":"Retrieve execution activities","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml get /agents/v2/executions/{executionId}/activities","href":"/api-reference/execution/retrieve-execution-activities"},{"title":"Cancel execution","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml post /agents/v2/executions/{executionId}/cancel","href":"/api-reference/execution/cancel-execution"},{"title":"Pause execution","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml post /agents/v2/executions/{executionId}/pause","href":"/api-reference/execution/pause-execution"},{"title":"Get recording redirect","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml get /agents/v2/executions/{executionId}/recording","href":"/api-reference/execution/get-recording-redirect"},{"title":"Rerun execution","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml post /agents/v2/executions/{executionId}/rerun","href":"/api-reference/execution/rerun-execution"},{"title":"Resume execution","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml post /agents/v2/executions/{executionId}/resume","href":"/api-reference/execution/resume-execution"},{"title":"Update execution status","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml post /agents/v2/executions/{executionId}/status","href":"/api-reference/execution/update-execution-status"},{"title":"Wait for an execution's status to change","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml get /agents/v2/executions/{executionId}/sync","href":"/api-reference/execution/wait-for-an-executions-status-to-change"},{"title":"Send user message to execution","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml post /agents/v2/executions/{executionId}/user-messages","href":"/api-reference/execution/send-user-message-to-execution"}]},{"group":"Profile Groups","pages":[{"title":"List Profile Groups","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml get /agents/v2/profile-groups","href":"/api-reference/profile-groups/list-profile-groups"},{"title":"Create Profile Group","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml post /agents/v2/profile-groups","href":"/api-reference/profile-groups/create-profile-group"},{"title":"Get Profile Group","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml get /agents/v2/profile-groups/{groupId}","href":"/api-reference/profile-groups/get-profile-group"},{"title":"Delete Profile Group","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml delete /agents/v2/profile-groups/{groupId}","href":"/api-reference/profile-groups/delete-profile-group"},{"title":"Update Profile Group","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml patch /agents/v2/profile-groups/{groupId}","href":"/api-reference/profile-groups/update-profile-group"},{"title":"List Profile Group Members","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml get /agents/v2/profile-groups/{groupId}/members","href":"/api-reference/profile-groups/list-profile-group-members"},{"title":"Add Profiles to Profile Group","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml post /agents/v2/profile-groups/{groupId}/members","href":"/api-reference/profile-groups/add-profiles-to-profile-group"},{"title":"Remove Profiles from Profile Group","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml delete /agents/v2/profile-groups/{groupId}/members","href":"/api-reference/profile-groups/remove-profiles-from-profile-group"}]},{"group":"Profiles","pages":[{"title":"List Profiles","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml get /agents/v2/profiles","href":"/api-reference/profiles/list-profiles"},{"title":"Create Profile","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml post /agents/v2/profiles","href":"/api-reference/profiles/create-profile"},{"title":"Get Profile","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml get /agents/v2/profiles/{profileId}","href":"/api-reference/profiles/get-profile"},{"title":"Delete Profile","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml delete /agents/v2/profiles/{profileId}","href":"/api-reference/profiles/delete-profile"},{"title":"Update Profile","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml patch /agents/v2/profiles/{profileId}","href":"/api-reference/profiles/update-profile"},{"title":"Clear Browser Cache","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml delete /agents/v2/profiles/{profileId}/clear-browser-cache","href":"/api-reference/profiles/clear-browser-cache"},{"title":"Duplicate Profile","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml post /agents/v2/profiles/{profileId}/duplicate","href":"/api-reference/profiles/duplicate-profile"},{"title":"Get Profile Inbox Emails","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml get /agents/v2/profiles/{profileId}/inbox-emails","href":"/api-reference/profiles/get-profile-inbox-emails"},{"title":"Get Profile Inbox Email","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml get /agents/v2/profiles/{profileId}/inbox-emails/{emailId}","href":"/api-reference/profiles/get-profile-inbox-email"}]},{"group":"Schema","pages":[]},{"group":"Secrets","pages":[{"title":"List Secret Requests","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml get /agents/v2/secret-requests","href":"/api-reference/secrets/list-secret-requests"},{"title":"Create Secret Request","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml post /agents/v2/secret-requests","href":"/api-reference/secrets/create-secret-request"},{"title":"Delete Secret Request","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml delete /agents/v2/secret-requests/{requestId}","href":"/api-reference/secrets/delete-secret-request"},{"title":"Revoke Secret Request","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml post /agents/v2/secret-requests/{requestId}/revoke","href":"/api-reference/secrets/revoke-secret-request"},{"title":"List Secret Templates","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml get /agents/v2/secret-templates","href":"/api-reference/secrets/list-secret-templates"},{"title":"Create Secret Template","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml post /agents/v2/secret-templates","href":"/api-reference/secrets/create-secret-template"},{"title":"Get Secret Template","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml get /agents/v2/secret-templates/{templateId}","href":"/api-reference/secrets/get-secret-template"},{"title":"Delete Secret Template","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml delete /agents/v2/secret-templates/{templateId}","href":"/api-reference/secrets/delete-secret-template"},{"title":"Update Secret Template","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml patch /agents/v2/secret-templates/{templateId}","href":"/api-reference/secrets/update-secret-template"},{"title":"Duplicate Secret Template","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml post /agents/v2/secret-templates/{templateId}/duplicate","href":"/api-reference/secrets/duplicate-secret-template"},{"title":"List Secrets","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml get /agents/v2/secrets","href":"/api-reference/secrets/list-secrets"},{"title":"Create Secret","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml post /agents/v2/secrets","href":"/api-reference/secrets/create-secret"},{"title":"Get Secret","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml get /agents/v2/secrets/{secretId}","href":"/api-reference/secrets/get-secret"},{"title":"Delete Secret","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml delete /agents/v2/secrets/{secretId}","href":"/api-reference/secrets/delete-secret"},{"title":"Update Secret","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml patch /agents/v2/secrets/{secretId}","href":"/api-reference/secrets/update-secret"},{"title":"Add Secret Field","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml post /agents/v2/secrets/{secretId}/fields","href":"/api-reference/secrets/add-secret-field"},{"title":"Remove Secret Field","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml delete /agents/v2/secrets/{secretId}/fields/{fieldKey}","href":"/api-reference/secrets/remove-secret-field"},{"title":"Rotate Secret","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml post /agents/v2/secrets/{secretId}/rotate","href":"/api-reference/secrets/rotate-secret"},{"title":"List Secret Versions","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml get /agents/v2/secrets/{secretId}/versions","href":"/api-reference/secrets/list-secret-versions"}]},{"group":"Vault","pages":[]},{"group":"Workflow Versions","pages":[{"title":"List workflow versions","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml get /agents/v2/workflows/{workflowId}/versions","href":"/api-reference/workflow-versions/list-workflow-versions"},{"title":"Get workflow version files","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml get /agents/v2/workflows/{workflowId}/versions/{versionId}/files","href":"/api-reference/workflow-versions/get-workflow-version-files"},{"title":"Get workflow version inputs","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml get /agents/v2/workflows/{workflowId}/versions/{versionId}/inputs","href":"/api-reference/workflow-versions/get-workflow-version-inputs"},{"title":"Get workflow version output schemas","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/agents/v2/openapi.yaml get /agents/v2/workflows/{workflowId}/versions/{versionId}/output-schemas","href":"/api-reference/workflow-versions/get-workflow-version-output-schemas"}]}]},{"group":"Webhooks","pages":[{"group":"API Reference","pages":[{"title":"Webhook Notification Payload","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/webhooks/openapi.json post /webhooks/example","href":"/api-reference/webhook-notification-payload"},{"title":"Batch Webhook Notification Payload","deprecated":null,"version":null,"openapi":"https://odyssey.asteroid.ai/webhooks/openapi.json post /webhooks/example-batch","href":"/api-reference/batch-webhook-notification-payload"}]}]}]},{"tab":"CLI","pages":[{"title":"CLI","href":"/cli/install"}]},{"tab":"MCP","pages":[{"title":"MCP","href":"/mcp/install"}]}]},"basePath":"","title":"Get workflow head files - Asteroid Workflows","buildId":"dpl_596ePT575z4qnAFksq1biRW97aLY","deploymentId":"dpl_596ePT575z4qnAFksq1biRW97aLY","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C9Wu0MeN.js","utils-jWgu-6Qf.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DBD8f9qn.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BGuX1ui5.js","snippetPresets-Evy63nQB.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BQHO1lnV.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-B6C8m-t_.js","shallow-BG4cT0fH.js","getApiPlaygroundDisplay-CgEPrE-D.js","CodeSnippet-CU8JyZ9N.js","CodeSnippets-BnxHU32T.js","Page-D6S0Yh6q.js","getPastedJson-CwiYOonh.js","icon-DYDpWmDf.js","MethodPill-C-J-l7_c.js","DuplicateIcon-B6ARwg9w.js","createIcon-Dsv4MtDq.js","DynamicMarkdown-CtasenyM.js","SectionHeading-YNcgYwjB.js","axios-vUo_bRtp.js","Markdown-CwLx6PAg.js","clsx-C3kuh_dz.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CmKHfscc.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-U3mI6Ljh.js"]}