{
"error": "Too many API requests this minute (120 a minute on your plan). Try again in 12 seconds.",
"code": "rate_limited",
"limit": "api_other_per_minute",
"retry_after": 12
}
{
"error": "Service temporarily unavailable. The database is not accepting requests. Retry shortly."
}
Checks each step of a workflow now and sends nothing. It looks at the workflow’s computer (without waking it), each agent installed there, each app signed in (with a read that proves it), the channels and sheets it names, the secrets its scripts read (by name only) and your credit. Validate before you turn a workflow on, and after you change it.A step that would fail answers say (what is in the way, in a sentence) and fix (the one thing that fixes it).
text/event-stream streams each step as it is known (event: step), then the whole answer (event: done). Anything else answers JSON once every step is checked.
When ok is false: the one thing that fixes it. action is one of reconnect (connect the app on the computer), edit (change the step), secrets, setup (set the agent up on the computer), credits or check, with what it needs, like app and label.
import os, requestsr = requests.post( "https://www.orgo.ai/api/workflows/morning-report/validate", headers={"Authorization": f"Bearer {os.environ['ORGO_API_KEY']}"},)result = r.json()for s in result["steps"]: if not s["ok"]: print(s["step"], s["say"])
{
"error": "Too many API requests this minute (120 a minute on your plan). Try again in 12 seconds.",
"code": "rate_limited",
"limit": "api_other_per_minute",
"retry_after": 12
}
{
"error": "Service temporarily unavailable. The database is not accepting requests. Retry shortly."
}
{"docsConfig":{"theme":"maple","$schema":"https://mintlify.com/docs.json","name":"Orgo","description":"Launch cloud computers that AI agents can control and interact with.","colors":{"primary":"#000000","light":"#FAF7F2","dark":"#141414"},"logo":{"light":"https://mintcdn.com/orgo/i0HN53mFBmljZF6E/logo/light.svg?fit=max\u0026auto=format\u0026n=i0HN53mFBmljZF6E\u0026q=85\u0026s=6927059bac59f8c8c83e70fb407944c6","dark":"https://mintcdn.com/orgo/i0HN53mFBmljZF6E/logo/dark.svg?fit=max\u0026auto=format\u0026n=i0HN53mFBmljZF6E\u0026q=85\u0026s=33f05e5c249d5cdcc572bd289842327e"},"favicon":"https://mintcdn.com/orgo/4ygSx2i3hLBIVLwQ/favicon.svg?fit=max\u0026auto=format\u0026n=4ygSx2i3hLBIVLwQ\u0026q=85\u0026s=62d6cb6ade8b42253d67d0074ad1427f","api":{"playground":{}},"appearance":{"default":"system"},"navbar":{"links":[{"href":"https://docs.orgo.ai/llms.txt","label":"llms.txt"},{"href":"https://docs.orgo.ai/llms-full.txt","label":"llms-full.txt"},{"href":"mailto:contact@orgo.ai","label":"Help"}],"primary":{"type":"button","label":"Get an API Key","href":"https://www.orgo.ai/api-keys"}},"footer":{"socials":{"github":"https://github.com/spencerkinney","x":"https://twitter.com/orgo","discord":"https://discord.gg/tbYGpvnnJD"}},"seo":{"metatags":{"og:title":"Orgo - Cloud computers for AI agents","og:description":"Launch cloud computers that AI agents can control and interact with. Drive them with any model provider, install agents inside them, or run developer CLIs on them 24/7.","og:image":"https://mintlify.s3.us-west-1.amazonaws.com/orgo/images/hero-dark.png","og:image:width":"1200","og:image:height":"630","og:url":"https://docs.orgo.ai","og:type":"website","og:site_name":"Orgo Documentation","twitter:card":"summary_large_image","twitter:title":"Orgo - Cloud computers for AI agents","twitter:description":"Launch cloud computers that AI agents can control and interact with.","twitter:image":"https://mintlify.s3.us-west-1.amazonaws.com/orgo/images/hero-dark.png"}},"styling":{"latex":true},"navigation":{"global":{"anchors":[{"anchor":"Developer Console","icon":"terminal","href":"https://www.orgo.ai/start"},{"anchor":"Blog","icon":"newspaper","href":"https://www.orgo.ai/blog"},{"anchor":"Discord","icon":"discord","href":"https://discord.gg/tbYGpvnnJD"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"orgo","hasAudioNarration":false,"actualSubdomain":"orgo","customDomains":["docs.orgo.ai"],"gitSource":{"type":"github","owner":"orgoai","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aeb4013a60f76c944533b19","collectionId":"561d0bad-aa73-4e50-8854-a128f5f55bd8","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aeb4013a60f76c944533b19"},"entitlements":{},"buildId":"6aed9b4dad97e8452b1fa27e","clientVersion":"0.0.4074","searchFilterCounts":[{"language":"default","tag":"API Reference","count":109},{"language":"default","tag":"Guides","count":57},{"language":"default","tag":"Computers","count":18},{"language":"default","tag":"Templates","count":18},{"language":"default","tag":"Clients","count":15},{"language":"default","tag":"Computer Actions","count":13},{"language":"default","tag":"Workflows","count":13},{"language":"default","tag":"Get Started","count":9},{"language":"default","tag":"Computer Lifecycle","count":7},{"language":"default","tag":"Files","count":7}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","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":"vite-origin","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":"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},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/workflows/validate","slug":"/api-reference/workflows/validate","pageMetadata":{"title":"Validate a workflow","description":"Prove a workflow will work before it runs, step by step, and send nothing.","openapi":"POST /workflows/{id}/validate","href":"/api-reference/workflows/validate"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Prove a workflow will work before it runs, step by step, and send nothing.\"\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,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,p:`p`,pre:`pre`,span:`span`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{CodeBlock,CodeGroup,Expandable,Heading,ParamField,ResponseField,Table}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!CodeGroup)_missingMdxReference(`CodeGroup`,true);if(!Expandable)_missingMdxReference(`Expandable`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Checks each step of a workflow now and sends nothing. It looks at the workflow’s computer (without waking it), each agent installed there, each app signed in (with a read that proves it), the channels and sheets it names, the secrets its scripts read (by name only) and your credit. Validate before you turn a workflow on, and after you change it.`}),`\n`,_jsxs(_components.p,{children:[`A step that would fail answers `,_jsx(_components.code,{children:`say`}),` (what is in the way, in a sentence) and `,_jsx(_components.code,{children:`fix`}),` (the one thing that fixes it).`]}),`\n`,_jsx(Heading,{level:`2`,id:`path-parameters`,children:`Path parameters`}),`\n`,_jsx(ParamField,{path:`id`,type:`string`,required:true,id:`param-id`,children:_jsxs(_components.p,{children:[`The workflow’s id, like `,_jsx(_components.code,{children:`morning-report`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`headers`,children:`Headers`}),`\n`,_jsx(ParamField,{header:`Accept`,type:`string`,id:`param-accept`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`text/event-stream`}),` streams each step as it is known (`,_jsx(_components.code,{children:`event: step`}),`), then the whole answer (`,_jsx(_components.code,{children:`event: done`}),`). Anything else answers JSON once every step is checked.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`response`,children:`Response`}),`\n`,_jsxs(ResponseField,{name:`ok`,type:`boolean`,id:`param-ok`,children:[_jsx(_components.code,{children:`true`}),` when every step will work.`]}),`\n`,_jsxs(ResponseField,{name:`steps`,type:`array`,id:`param-steps`,children:[_jsx(_components.p,{children:`Each step’s answer.`}),_jsxs(Expandable,{title:`Step`,children:[_jsx(ResponseField,{name:`step`,type:`string`,id:`param-step`,children:`The step’s id.`}),_jsxs(ResponseField,{name:`ok`,type:`boolean`,id:`param-ok-1`,children:[_jsx(_components.code,{children:`true`}),` when it will work.`]}),_jsxs(ResponseField,{name:`say`,type:`string`,id:`param-say`,children:[`When `,_jsx(_components.code,{children:`ok`}),` is `,_jsx(_components.code,{children:`false`}),`: what is in the way.`]}),_jsxs(ResponseField,{name:`fix`,type:`object`,id:`param-fix`,children:[`When `,_jsx(_components.code,{children:`ok`}),` is `,_jsx(_components.code,{children:`false`}),`: the one thing that fixes it. `,_jsx(_components.code,{children:`action`}),` is one of `,_jsx(_components.code,{children:`reconnect`}),` (connect the app on the computer), `,_jsx(_components.code,{children:`edit`}),` (change the step), `,_jsx(_components.code,{children:`secrets`}),`, `,_jsx(_components.code,{children:`setup`}),` (set the agent up on the computer), `,_jsx(_components.code,{children:`credits`}),` or `,_jsx(_components.code,{children:`check`}),`, with what it needs, like `,_jsx(_components.code,{children:`app`}),` and `,_jsx(_components.code,{children:`label`}),`.`]})]})]}),`\n`,_jsx(ResponseField,{name:`to_fix`,type:`string[]`,id:`param-to-fix`,children:`What to do, in plain words, one item per fix.`}),`\n`,_jsx(Heading,{level:`2`,id:`example`,children:`Example`}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`cURL`,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://www.orgo.ai/api/workflows/morning-report/validate`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$ORGO_API_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`Stream`,numberOfLines:`3`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -N`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://www.orgo.ai/api/workflows/morning-report/validate`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$ORGO_API_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Accept: text/event-stream\"`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`Python`,numberOfLines:`10`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`10`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` os, requests`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`r `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` requests.post(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://www.orgo.ai/api/workflows/morning-report/validate\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` headers`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Authorization\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`f`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Bearer `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`{`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`os.environ[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'ORGO_API_KEY'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`}`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`},`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`result `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` r.json()`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`for`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` s `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`in`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` result[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"steps\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` not`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` s[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"ok\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` print`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(s[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"step\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`], s[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"say\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`])`})]}),`\n`]})})})]}),`\n`,_jsx(Heading,{level:`3`,id:`response-2`,children:`Response`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`8`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"ok\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"steps\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"step\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"a\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"ok\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"step\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"b\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"ok\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"say\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Slack isn’t connected on this computer.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"fix\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"action\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"reconnect\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"app\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"slack\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"label\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Connect Slack\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` } }`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"to_fix\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Connect Slack\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`stream`,children:`Stream`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`6`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`event: step`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`data: {\"step\":\"a\",\"ok\":true}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`event: done`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`data: {\"ok\":true,\"steps\":[{\"step\":\"a\",\"ok\":true}],\"to_fix\":[]}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(Heading,{level:`2`,id:`errors`,children:`Errors`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Status`}),_jsx(_components.th,{children:`Code`}),_jsx(_components.th,{children:`When`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`401`})}),_jsx(_components.td,{}),_jsx(_components.td,{children:`No key, or a key Orgo doesn’t know.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`403`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`key_permission`})}),_jsx(_components.td,{children:`A restricted key without Workflows read, or without Control write and AI write for a workflow that has a computer.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`403`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`computer_key_held`})}),_jsx(_components.td,{children:`A restricted or expiring key, and the workflow’s computer holds its own Orgo key.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`404`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`not_found`})}),_jsx(_components.td,{children:`No workflow by that id.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`404`})}),_jsx(_components.td,{children:`(no body)`}),_jsx(_components.td,{children:`Workflows aren’t open to your account.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`429`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`rate_limited`})}),_jsxs(_components.td,{children:[`Your plan’s rate limit for other API calls. Carries `,_jsx(_components.code,{children:`Retry-After`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`503`})}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Orgo couldn’t verify the key because of a server-side fault. Retry.`})]})]})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Validate a workflow","description":"Prove a workflow will work before it runs, step by step, and send nothing.","openapi":"POST /workflows/{id}/validate","href":"/api-reference/workflows/validate"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Path parameters","slug":"path-parameters","depth":2,"children":[]},{"title":"Headers","slug":"headers","depth":2,"children":[]},{"title":"Response","slug":"response","depth":2,"children":[]},{"title":"Example","slug":"example","depth":2,"children":[{"title":"Response","slug":"response-2","depth":3,"children":[]},{"title":"Stream","slug":"stream","depth":3,"children":[]}]},{"title":"Errors","slug":"errors","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"Check a workflow will work, sending nothing","description":"Prove a workflow will work before it runs, step by step, and send nothing.","tags":["Workflows"],"parameters":["a7971df3-8497-4311-b6da-00b16b941646"],"responses":{"200":"9ec701f8-036f-43a6-8658-da58e971da34","401":"e45d193f-4d18-493c-bbfa-88168531f38c","403":"4dd64c97-45b4-442e-a09d-032660e9ef47","404":"8c9a5fb2-1aca-4404-88e5-8eee0ea3b054","429":"ac0dfdb5-40ad-4fda-83ed-9da1d584a8c7","503":"bf5ab9de-49d6-4995-9014-4f5a8c16b72d"},"method":"post","type":"path","servers":["15e37b84-87fb-4dce-b60e-bcbc01469910"],"security":["456dd273-a30d-4362-bd3c-c72c0edb3b88"],"path":"/workflows/{id}/validate","baseUrlOptions":["https://www.orgo.ai/api"],"title":"Check a workflow will work, sending nothing","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"a7971df3-8497-4311-b6da-00b16b941646":{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-z0-9-]{1,60}$","isRequired":true,"uniqueKey":"","typeLabel":"string"},"example":"morning-report"}},"responses":{"9ec701f8-036f-43a6-8658-da58e971da34":{"description":"Each step’s answer (or the stream).","content":{"application/json":{"schema":{"type":"object","required":["ok","steps"],"properties":{"ok":{"type":"boolean","isRequired":true,"uniqueKey":"ok","typeLabel":"boolean"},"steps":{"type":"array","items":{"type":"object","required":["step","ok"],"properties":{"step":{"type":"string","isRequired":true,"uniqueKey":"steps.items.[INDEX].step","typeLabel":"string"},"ok":{"type":"boolean","isRequired":true,"uniqueKey":"steps.items.[INDEX].ok","typeLabel":"boolean"},"say":{"type":"string","description":"What is in the way.","uniqueKey":"steps.items.[INDEX].say","typeLabel":"string"},"fix":{"type":"object","description":"The one thing that fixes it: action (reconnect, edit, secrets, setup, credits, check) and what it needs.","uniqueKey":"steps.items.[INDEX].fix","typeLabel":"object"}},"uniqueKey":"steps.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"steps","typeLabel":"object[]"},"to_fix":{"type":"array","items":{"type":"string","uniqueKey":"to_fix.items.[INDEX]","typeLabel":"string"},"uniqueKey":"to_fix","typeLabel":"string[]"}},"uniqueKey":"","typeLabel":"object"},"example":{"ok":false,"steps":[{"step":"a","ok":true},{"step":"b","ok":false,"say":"Slack isn’t connected on this computer.","fix":{"action":"reconnect","app":"slack","label":"Connect Slack"}}],"to_fix":["Connect Slack"]},"examples":{"Example":{"title":"Example","value":{"ok":false,"steps":[{"step":"a","ok":true},{"step":"b","ok":false,"say":"Slack isn’t connected on this computer.","fix":{"action":"reconnect","app":"slack","label":"Connect Slack"}}],"to_fix":["Connect Slack"]}}},"exampleType":"examples"},"text/event-stream":{"schema":{"type":"string","uniqueKey":"","typeLabel":"string"},"example":"event: step\ndata: {\"step\":\"a\",\"ok\":true}\n\nevent: done\ndata: {\"ok\":true,\"steps\":[{\"step\":\"a\",\"ok\":true}],\"to_fix\":[]}\n\n","examples":{"Example":{"title":"Example","value":"event: step\ndata: {\"step\":\"a\",\"ok\":true}\n\nevent: done\ndata: {\"ok\":true,\"steps\":[{\"step\":\"a\",\"ok\":true}],\"to_fix\":[]}\n\n"}},"exampleType":"examples"}},"exampleType":"examples"},"e45d193f-4d18-493c-bbfa-88168531f38c":{"description":"Unauthenticated (with WWW-Authenticate and docs).","content":{"application/json":{"schema":{"type":"object","required":["error","code"],"properties":{"error":{"type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"say":{"type":"string","description":"The same, short, for a person.","uniqueKey":"say","typeLabel":"string"},"next":{"type":"string","description":"The call that fixes it.","uniqueKey":"next","typeLabel":"string"},"to_fix":{"type":"array","items":{"type":"string","uniqueKey":"to_fix.items.[INDEX]","typeLabel":"string"},"uniqueKey":"to_fix","typeLabel":"string[]"},"problems":{"type":"array","items":{"type":"object","uniqueKey":"problems.items.[INDEX]","typeLabel":"object"},"uniqueKey":"problems","typeLabel":"object[]"},"version":{"oneOf":[{"type":"integer","description":"version_conflict: the newest version.","uniqueKey":"version.oneOf.0","typeLabel":"integer"},{"type":"null","description":"version_conflict: the newest version.","uniqueKey":"version.oneOf.1","typeLabel":"null"}],"uniqueKey":"version","typeLabel":"integer | null"},"lines":{"oneOf":[{"type":"string","description":"version_conflict: the newest lines, to merge into.","uniqueKey":"lines.oneOf.0","typeLabel":"string"},{"type":"null","description":"version_conflict: the newest lines, to merge into.","uniqueKey":"lines.oneOf.1","typeLabel":"null"}],"uniqueKey":"lines","typeLabel":"string | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"\u003cstring>","say":"\u003cstring>","next":"\u003cstring>","to_fix":["\u003cstring>"],"problems":[{}],"version":123,"lines":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"4dd64c97-45b4-442e-a09d-032660e9ef47":{"description":"A key without Workflows access at this level (key_permission); a key that may not act on the workflow’s computer (key_permission: Control write and AI write, or computer_key_held).","content":{"application/json":{"schema":{"type":"object","required":["error","code"],"properties":{"error":{"type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"say":{"type":"string","description":"The same, short, for a person.","uniqueKey":"say","typeLabel":"string"},"next":{"type":"string","description":"The call that fixes it.","uniqueKey":"next","typeLabel":"string"},"to_fix":{"type":"array","items":{"type":"string","uniqueKey":"to_fix.items.[INDEX]","typeLabel":"string"},"uniqueKey":"to_fix","typeLabel":"string[]"},"problems":{"type":"array","items":{"type":"object","uniqueKey":"problems.items.[INDEX]","typeLabel":"object"},"uniqueKey":"problems","typeLabel":"object[]"},"version":{"oneOf":[{"type":"integer","description":"version_conflict: the newest version.","uniqueKey":"version.oneOf.0","typeLabel":"integer"},{"type":"null","description":"version_conflict: the newest version.","uniqueKey":"version.oneOf.1","typeLabel":"null"}],"uniqueKey":"version","typeLabel":"integer | null"},"lines":{"oneOf":[{"type":"string","description":"version_conflict: the newest lines, to merge into.","uniqueKey":"lines.oneOf.0","typeLabel":"string"},{"type":"null","description":"version_conflict: the newest lines, to merge into.","uniqueKey":"lines.oneOf.1","typeLabel":"null"}],"uniqueKey":"lines","typeLabel":"string | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"\u003cstring>","say":"\u003cstring>","next":"\u003cstring>","to_fix":["\u003cstring>"],"problems":[{}],"version":123,"lines":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"8c9a5fb2-1aca-4404-88e5-8eee0ea3b054":{"description":"No workflow (or run) by that id (not_found); a bare 404 with no body where Workflows are not open to the account.","content":{"application/json":{"schema":{"type":"object","required":["error","code"],"properties":{"error":{"type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"say":{"type":"string","description":"The same, short, for a person.","uniqueKey":"say","typeLabel":"string"},"next":{"type":"string","description":"The call that fixes it.","uniqueKey":"next","typeLabel":"string"},"to_fix":{"type":"array","items":{"type":"string","uniqueKey":"to_fix.items.[INDEX]","typeLabel":"string"},"uniqueKey":"to_fix","typeLabel":"string[]"},"problems":{"type":"array","items":{"type":"object","uniqueKey":"problems.items.[INDEX]","typeLabel":"object"},"uniqueKey":"problems","typeLabel":"object[]"},"version":{"oneOf":[{"type":"integer","description":"version_conflict: the newest version.","uniqueKey":"version.oneOf.0","typeLabel":"integer"},{"type":"null","description":"version_conflict: the newest version.","uniqueKey":"version.oneOf.1","typeLabel":"null"}],"uniqueKey":"version","typeLabel":"integer | null"},"lines":{"oneOf":[{"type":"string","description":"version_conflict: the newest lines, to merge into.","uniqueKey":"lines.oneOf.0","typeLabel":"string"},{"type":"null","description":"version_conflict: the newest lines, to merge into.","uniqueKey":"lines.oneOf.1","typeLabel":"null"}],"uniqueKey":"lines","typeLabel":"string | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"\u003cstring>","say":"\u003cstring>","next":"\u003cstring>","to_fix":["\u003cstring>"],"problems":[{}],"version":123,"lines":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"ac0dfdb5-40ad-4fda-83ed-9da1d584a8c7":{"description":"Over one of the account's plan rate limits (`rate_limited`): `limit` names it, and `retry_after` and `Retry-After` say how many seconds to wait. Limits are per account, the workspace owner's when the request acts on a computer or a workspace, and set by its plan. See [Account limits and rate limits](/guides/account-limits#plan-rate-limits).","headers":{"Retry-After":{"description":"Seconds to wait before asking again.","schema":{"type":"integer","minimum":1}},"RateLimit-Limit":{"description":"The tightest limit this request counts against.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"How many are left of it in this window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until its window starts again.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","required":["error","code","limit","retry_after"],"properties":{"error":{"type":"string","description":"Which limit, in plain words, and when to try again.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","const":"rate_limited","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"limit":{"type":"string","enum":["computer_create_per_minute","computer_create_per_hour","computer_create_per_day","computer_lifecycle_per_minute","computer_lifecycle_per_computer_per_minute","computer_control_per_minute","computer_control_per_computer_per_minute","chat_runs_per_minute","chat_runs_concurrent","workspace_create_per_hour","api_other_per_minute"],"isRequired":true,"uniqueKey":"limit","typeLabel":"enum\u003cstring>"},"retry_after":{"type":"integer","minimum":1,"description":"Seconds to wait.","isRequired":true,"uniqueKey":"retry_after","typeLabel":"integer"}},"example":{"error":"Too many API requests this minute (120 a minute on your plan). Try again in 12 seconds.","code":"rate_limited","limit":"api_other_per_minute","retry_after":12},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"Too many API requests this minute (120 a minute on your plan). Try again in 12 seconds.","code":"rate_limited","limit":"api_other_per_minute","retry_after":12}}},"exampleType":"generated"}},"exampleType":"generated"},"bf5ab9de-49d6-4995-9014-4f5a8c16b72d":{"description":"Orgo could not verify the credential because of a server-side fault, such as a database outage. Retry after `Retry-After`. Do not rotate the key.","content":{"application/json":{"schema":{"type":"object","description":"The base error body. Every failure carries `error`; individual endpoints add the fields named in the schemas below.","required":["error"],"properties":{"error":{"type":"string","description":"Human-readable message.","example":"Access denied","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable reason. Present on the failures that define one, absent otherwise.","uniqueKey":"code","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":"Service temporarily unavailable. The database is not accepting requests. Retry shortly."},"examples":{"Example":{"title":"Example","value":{"error":"Service temporarily unavailable. The database is not accepting requests. Retry shortly."}}},"exampleType":"examples"}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying. Always `5`.","schema":{"type":"string","example":"5"}}},"exampleType":"examples"}},"security":{"456dd273-a30d-4362-bd3c-c72c0edb3b88":{"bearerAuth":{"type":"http","scheme":"bearer","description":"API key authentication. Get your key at orgo.ai/workspaces","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"15e37b84-87fb-4dce-b60e-bcbc01469910":{"url":"https://www.orgo.ai/api","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"API key authentication. Get your key at orgo.ai/workspaces","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"API key authentication. Get your key at orgo.ai/workspaces","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"orgo","siteName":"Orgo","title":"Orgo - Cloud computers for AI agents","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-06T09:19:04.444Z","originalFileLocation":"api-reference/workflows/validate.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=\"Prove a workflow will work before it runs, step by step, and send nothing.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Orgo\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/orgo/Q5PgTYL7leY4YWwy/_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/orgo/Q5PgTYL7leY4YWwy/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/orgo/Q5PgTYL7leY4YWwy/_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/orgo/Q5PgTYL7leY4YWwy/_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/orgo/Q5PgTYL7leY4YWwy/_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/orgo/Q5PgTYL7leY4YWwy/_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/orgo/Q5PgTYL7leY4YWwy/_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/orgo/Q5PgTYL7leY4YWwy/_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/orgo/Q5PgTYL7leY4YWwy/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Orgo - Cloud computers for AI agents\">\u003cmeta data-mint-head property=\"og:description\" content=\"Launch cloud computers that AI agents can control and interact with. Drive them with any model provider, install agents inside them, or run developer CLIs on them 24/7.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Orgo Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.orgo.ai/api-reference/workflows/validate\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://mintlify.s3.us-west-1.amazonaws.com/orgo/images/hero-dark.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=\"Orgo - Cloud computers for AI agents\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Launch cloud computers that AI agents can control and interact with.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://mintlify.s3.us-west-1.amazonaws.com/orgo/images/hero-dark.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/orgo/Q5PgTYL7leY4YWwy/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Orgo\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#000000\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.orgo.ai/api-reference/workflows/validate\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/workflows/validate.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.orgo.ai/#organization\",\"name\":\"Orgo\",\"url\":\"https://docs.orgo.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/orgo/i0HN53mFBmljZF6E/logo/light.svg?fit=max\u0026auto=format\u0026n=i0HN53mFBmljZF6E\u0026q=85\u0026s=6927059bac59f8c8c83e70fb407944c6\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.orgo.ai#website\",\"name\":\"Orgo\",\"url\":\"https://docs.orgo.ai\",\"publisher\":{\"@id\":\"https://docs.orgo.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.orgo.ai/api-reference/workflows/validate#webpage\",\"url\":\"https://docs.orgo.ai/api-reference/workflows/validate\",\"name\":\"Validate a workflow\",\"description\":\"Prove a workflow will work before it runs, step by step, and send nothing.\",\"dateModified\":\"2026-11-06T09:19:04.444Z\",\"isPartOf\":{\"@id\":\"https://docs.orgo.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.orgo.ai/api-reference/workflows/validate#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.orgo.ai/api-reference/workflows/validate#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Workflows\",\"item\":\"https://docs.orgo.ai/api-reference/workflows/list\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Validate a workflow\",\"item\":\"https://docs.orgo.ai/api-reference/workflows/validate\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.orgo.ai/api-reference/workflows/validate#apireference\",\"headline\":\"Validate a workflow\",\"name\":\"Validate a workflow\",\"description\":\"Prove a workflow will work before it runs, step by step, and send nothing.\",\"url\":\"https://docs.orgo.ai/api-reference/workflows/validate\",\"mainEntityOfPage\":{\"@id\":\"https://docs.orgo.ai/api-reference/workflows/validate#webpage\"},\"image\":\"https://mintlify.s3.us-west-1.amazonaws.com/orgo/images/hero-dark.png\",\"dateModified\":\"2026-11-06T09:19:04.444Z\",\"publisher\":{\"@id\":\"https://docs.orgo.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.orgo.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Orgo\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Orgo","nav":{"global":{"anchors":[{"anchor":"Developer Console","icon":"terminal","href":"https://www.orgo.ai/start"},{"anchor":"Blog","icon":"newspaper","href":"https://www.orgo.ai/blog"},{"anchor":"Discord","icon":"discord","href":"https://discord.gg/tbYGpvnnJD"}]},"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":"/introduction"}]},{"tab":"API Reference","groups":[{"group":"Overview","pages":[{"title":"API Reference","href":"/api-reference/introduction"},{"title":"Authentication","href":"/api-reference/authentication"}]},{"group":"API keys","pages":[{"title":"API key permissions","href":"/api-reference/api-keys/permissions"},{"title":"Create and manage API keys","href":"/api-reference/api-keys/manage"},{"title":"Key expiry and rotation","href":"/api-reference/api-keys/expiry-and-rotation"},{"title":"Key scopes and computer keys","href":"/api-reference/api-keys/computer-keys"}]},{"group":"Support","pages":[{"title":"Ask support","openapi":"POST /v1/support/ask","href":"/api-reference/support/ask"}]},{"group":"Account","pages":[{"title":"Get capacity","openapi":"GET /account/capacity","href":"/api-reference/account/capacity"},{"title":"Add capacity","openapi":"POST /account/capacity","href":"/api-reference/account/add-capacity"},{"title":"Reduce capacity","openapi":"PATCH /account/capacity","href":"/api-reference/account/reduce-capacity"}]},{"group":"Agent accounts","pages":[{"title":"Sign up an agent","openapi":"POST /v1/agents","href":"/api-reference/agents/signup"},{"title":"Get claim status","openapi":"GET /v1/agents/claim","href":"/api-reference/agents/get-claim"},{"title":"Refresh the claim link","openapi":"POST /v1/agents/claim","href":"/api-reference/agents/refresh-claim"}]},{"group":"Clients","pages":[{"title":"List clients","openapi":"GET /v1/accounts","href":"/api-reference/clients/list"},{"title":"Add a client","openapi":"POST /v1/accounts","href":"/api-reference/clients/create"},{"title":"Get client","openapi":"GET /v1/accounts/{id}","href":"/api-reference/clients/get"},{"title":"Update client","openapi":"PATCH /v1/accounts/{id}","href":"/api-reference/clients/update"},{"title":"Close client","openapi":"DELETE /v1/accounts/{id}","href":"/api-reference/clients/close"},{"title":"Replace a client’s key","openapi":"POST /v1/accounts/{id}/key","href":"/api-reference/clients/replace-key"},{"title":"Transfer a client","openapi":"POST /v1/accounts/{id}/transfer","href":"/api-reference/clients/transfer"},{"title":"Withdraw a transfer","openapi":"DELETE /v1/accounts/{id}/transfer","href":"/api-reference/clients/withdraw-transfer"},{"title":"Get billing","openapi":"GET /v1/accounts/{id}/billing","href":"/api-reference/clients/get-billing"},{"title":"Bill a client","openapi":"POST /v1/accounts/{id}/billing","href":"/api-reference/clients/send-payment-link"},{"title":"Change price","openapi":"PATCH /v1/accounts/{id}/billing","href":"/api-reference/clients/update-billing"},{"title":"Stop billing","openapi":"DELETE /v1/accounts/{id}/billing","href":"/api-reference/clients/stop-billing"},{"title":"Resend payment link","openapi":"POST /v1/accounts/{id}/billing/resend","href":"/api-reference/clients/resend-payment-link"},{"title":"List payments","openapi":"GET /v1/accounts/{id}/billing/payments","href":"/api-reference/clients/list-payments"},{"title":"Refund a payment","openapi":"POST /v1/accounts/{id}/billing/payments/{payment_id}/refund","href":"/api-reference/clients/refund-payment"}]},{"group":"Computer Use API","pages":[{"title":"Create chat completion","openapi":"POST /v1/chat/completions","href":"/api-reference/chat/completions"},{"title":"Threads","href":"/api-reference/chat/threads"}]},{"group":"Workspaces","pages":[{"title":"Create workspace","openapi":"POST /workspaces","href":"/api-reference/workspaces/create"},{"title":"List workspaces","openapi":"GET /workspaces","href":"/api-reference/workspaces/list"},{"title":"Get workspace","openapi":"GET /workspaces/{id}","href":"/api-reference/workspaces/get"},{"title":"Delete workspace","openapi":"POST /workspaces/{id}/delete","href":"/api-reference/workspaces/delete"}]},{"group":"Computers","pages":[{"title":"Create computer","openapi":"POST /computers","href":"/api-reference/computers/create"},{"title":"Get computer","openapi":"GET /computers/{id}","href":"/api-reference/computers/get"},{"title":"Update computer","openapi":"PATCH /computers/{id}","href":"/api-reference/computers/update"},{"title":"Extend computer","openapi":"POST /computers/{id}/extend","href":"/api-reference/computers/extend"},{"title":"Clone computer","openapi":"POST /computers/{id}/clone","href":"/api-reference/computers/clone"},{"title":"Fork computer","openapi":"POST /computers/{id}/fork","href":"/api-reference/computers/fork"},{"title":"Move computer","openapi":"PATCH /computers/{id}/move","href":"/api-reference/computers/move"},{"title":"Resize computer","openapi":"PATCH /computers/{id}/resize","href":"/api-reference/computers/resize"},{"title":"Delete computer","openapi":"DELETE /computers/{id}","href":"/api-reference/computers/delete"},{"title":"Get VNC password","openapi":"GET /computers/{id}/vnc-password","href":"/api-reference/computers/vnc-password"},{"title":"Get SSH settings","openapi":"GET /computers/{id}/ssh","href":"/api-reference/computers/ssh-get"},{"title":"Turn on SSH","openapi":"POST /computers/{id}/ssh","href":"/api-reference/computers/ssh-enable"},{"title":"Turn off SSH","openapi":"DELETE /computers/{id}/ssh","href":"/api-reference/computers/ssh-disable"},{"title":"Check computer health","href":"/api-reference/computers/health"},{"title":"Heal a computer","href":"/api-reference/computers/heal"},{"title":"Apply secrets to a computer","openapi":"POST /computers/{id}/secrets/sync","href":"/api-reference/computers/sync-secrets"},{"title":"Save a secret","href":"/api-reference/secrets/create"},{"title":"Apply secrets to many computers","openapi":"POST /secrets/apply","href":"/api-reference/secrets/apply"}]},{"group":"Computer Lifecycle","pages":[{"title":"Start computer","openapi":"POST /computers/{id}/start","href":"/api-reference/computers/start"},{"title":"Stop computer","openapi":"POST /computers/{id}/stop","href":"/api-reference/computers/stop"},{"title":"Restart computer","openapi":"POST /computers/{id}/restart","href":"/api-reference/computers/restart"},{"title":"Suspend computer","openapi":"POST /computers/{id}/suspend","href":"/api-reference/computers/suspend"},{"title":"Resume computer","openapi":"POST /computers/{id}/resume","href":"/api-reference/computers/resume"},{"title":"Get suspension","openapi":"GET /computers/{id}/suspension","href":"/api-reference/computers/suspension"},{"title":"Get computer operation","openapi":"GET /computers/{id}/operations/{operationId}","href":"/api-reference/computers/operation"}]},{"group":"Computer Actions","pages":[{"title":"Take screenshot","openapi":"GET /computers/{id}/screenshot","href":"/api-reference/computers/screenshot"},{"title":"Click mouse","openapi":"POST /computers/{id}/click","href":"/api-reference/computers/click"},{"title":"Move mouse","openapi":"POST /computers/{id}/mouse-move","href":"/api-reference/computers/mouse-move"},{"title":"Drag mouse","openapi":"POST /computers/{id}/drag","href":"/api-reference/computers/drag"},{"title":"Type text","openapi":"POST /computers/{id}/type","href":"/api-reference/computers/type"},{"title":"Press key","openapi":"POST /computers/{id}/key","href":"/api-reference/computers/key"},{"title":"Scroll","openapi":"POST /computers/{id}/scroll","href":"/api-reference/computers/scroll"},{"title":"Wait","openapi":"POST /computers/{id}/wait","href":"/api-reference/computers/wait"},{"title":"Execute bash","openapi":"POST /computers/{id}/bash","href":"/api-reference/computers/bash"},{"title":"Execute Python","openapi":"POST /computers/{id}/exec","href":"/api-reference/computers/exec"},{"title":"Terminal WebSocket","href":"/api-reference/computers/terminal"},{"title":"Audio WebSocket","href":"/api-reference/computers/audio"},{"title":"Events WebSocket","href":"/api-reference/computers/events"}]},{"group":"Screens","pages":[{"title":"List screens","openapi":"GET /computers/{id}/screens","href":"/api-reference/screens/list"},{"title":"Create a screen","openapi":"POST /computers/{id}/screens","href":"/api-reference/screens/create"},{"title":"Get a screen","openapi":"GET /computers/{id}/screens/{screenId}","href":"/api-reference/screens/get"},{"title":"Resize a screen","openapi":"PATCH /computers/{id}/screens/{screenId}","href":"/api-reference/screens/resize"},{"title":"Destroy a screen","openapi":"DELETE /computers/{id}/screens/{screenId}","href":"/api-reference/screens/delete"}]},{"group":"Files","pages":[{"title":"Upload file","openapi":"POST /files/upload","href":"/api-reference/files/upload"},{"title":"Start large upload","openapi":"POST /files/uploads","href":"/api-reference/files/start-upload"},{"title":"Complete large upload","openapi":"POST /files/uploads/complete","href":"/api-reference/files/complete-upload"},{"title":"Export file","openapi":"POST /files/export","href":"/api-reference/files/export"},{"title":"List files","openapi":"GET /files","href":"/api-reference/files/list"},{"title":"Download file","openapi":"GET /files/download","href":"/api-reference/files/download"},{"title":"Delete file","openapi":"DELETE /files/delete","href":"/api-reference/files/delete"}]},{"group":"Templates","pages":[{"title":"Get template schema","openapi":"GET /template-schema","href":"/api-reference/templates/schema"},{"title":"List templates","openapi":"GET /templates","href":"/api-reference/templates/list"},{"title":"Publish template","openapi":"POST /templates","href":"/api-reference/templates/publish"},{"title":"Validate template","openapi":"POST /templates/validate","href":"/api-reference/templates/validate"},{"title":"List template versions","openapi":"GET /templates/{namespace}/{name}","href":"/api-reference/templates/list-versions"},{"title":"Get template","openapi":"GET /templates/{namespace}/{name}/{version}","href":"/api-reference/templates/get"},{"title":"Delete template version","openapi":"DELETE /templates/{namespace}/{name}/{version}","href":"/api-reference/templates/delete"},{"title":"Build template","openapi":"POST /templates/{namespace}/{name}/{version}/build","href":"/api-reference/templates/build"},{"title":"Get build status","openapi":"GET /templates/{namespace}/{name}/{version}/build","href":"/api-reference/templates/build-status"},{"title":"Stream build logs","openapi":"GET /templates/{namespace}/{name}/{version}/build/events","href":"/api-reference/templates/build-events"},{"title":"List curated templates","openapi":"GET /templates/global","href":"/api-reference/templates/list-curated"},{"title":"Test-run a template","openapi":"POST /templates/run","href":"/api-reference/templates/test-run"}]},{"group":"Workflows","pages":[{"title":"List workflows","openapi":"GET /workflows","href":"/api-reference/workflows/list"},{"title":"Create a workflow","openapi":"POST /workflows","href":"/api-reference/workflows/create"},{"title":"Get a workflow","openapi":"GET /workflows/{id}","href":"/api-reference/workflows/get"},{"title":"Replace a workflow’s steps","openapi":"PUT /workflows/{id}","href":"/api-reference/workflows/replace"},{"title":"Update a workflow","openapi":"PATCH /workflows/{id}","href":"/api-reference/workflows/update"},{"title":"Delete a workflow","description":"Delete a workflow, its settings and its runs. Its runs stop with it.","openapi":"DELETE /workflows/{id}","href":"/api-reference/workflows/delete"},{"title":"Validate a workflow","openapi":"POST /workflows/{id}/validate","href":"/api-reference/workflows/validate"},{"title":"Start a run","description":"Run a workflow now. The run goes on in the background; a retry with the same Idempotency-Key never starts a second one.","openapi":"POST /workflows/{id}/runs","href":"/api-reference/workflows/start-run"},{"title":"List runs","openapi":"GET /workflows/{id}/runs","href":"/api-reference/workflows/list-runs"},{"title":"Get a run","openapi":"GET /workflows/{id}/runs/{runId}","href":"/api-reference/workflows/get-run"},{"title":"Stop a run","openapi":"POST /workflows/{id}/runs/{runId}/stop","href":"/api-reference/workflows/stop-run"},{"title":"Answer a waiting run","openapi":"POST /workflows/{id}/runs/{runId}/answer","href":"/api-reference/workflows/answer-run"},{"title":"Follow a workflow","openapi":"GET /workflows/{id}/events","href":"/api-reference/workflows/events"}]}]}]},"basePath":"","title":"Orgo - Cloud computers for AI agents","buildId":"dpl_BLQvU86QFwq3AhPofSTw6q8dGWKm","deploymentId":"dpl_BLQvU86QFwq3AhPofSTw6q8dGWKm","dynamics":["c2aa737661","b0f84f53ff","a9bb46feb3","2b790eda92"],"chunks":["OpenApiReferenceProvider-Myd8dsju.js","utils-C2HkQgW0.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-8rSppmTv.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B6MjiCFm.js","snippetPresets-DwrSAONL.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","Page-CxAy5y67.js","ApiExamples-1-a5UQKQ.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C541m7wZ.js","shallow-CWELCZ77.js","getApiPlaygroundDisplay-CTo5Zn03.js","CodeSnippet-D--dzvnl.js","CodeSnippets-DM3cXEDh.js","getPastedJson-C-VECgcL.js","icon-BPq2-Mg3.js","MethodPill-D9J5cUHd.js","DuplicateIcon-BqHaxUnD.js","createIcon-CIbcZHp9.js","DynamicMarkdown-BKiHAm_d.js","SectionHeading-DstQXt3H.js","axios-vUo_bRtp.js","Markdown-CpxgzsKA.js","clsx-C5EfhVm0.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CJ9Oly2E.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-Mk6P3qvh.js"]}