Validates a template against the orgo.ai/v1 schema and returns either the normalized document or a structured list of errors. This endpoint has no side effects. Nothing is written, so it is cheap enough to call on every keystroke in an editor.Validate is also the right way to check a sugar-form template: it desugars server-side, which the published JSON Schema cannot do.
The raw template document. Send Content-Type: application/yaml to parse it as YAML. The body is parsed as YAML whenever the content type contains yaml; anything else is parsed as JSON. An empty body returns 400.
A validation failure is the 422 above: ok is false and the body carries errors, with no error field. Everything else is a transport-level failure.
Status
Body
Meaning
400
{ "error": "request body required" }
Empty body.
400
{ "error": string }
The body could not be parsed as a template: not valid YAML or JSON, or not a canonical, sugar, or {namespace, name, version, template} envelope document.
401
{ "error": "Invalid API key" }
The Bearer token starts with sk_ but is not a known Orgo key.
401
{ "error": "Authentication required" }
No Authorization header, or a Bearer token that is not an sk_ key.
An orgo.ai/v1 template document. Only api_version and template are required. See the full JSON Schema at GET /template-schema, or the schema guide at https://docs.orgo.ai/guides/templates/schema.
{"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:spencer@orgo.ai","label":"Help"}],"primary":{"type":"button","label":"Get an API Key","href":"https://www.orgo.ai/settings/credentials"}},"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":"6adf46dc861021733e4acac9","collectionId":"9a44ad1c-f33d-4224-b516-9c03241c22b6","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adf46dc861021733e4acac9"},"entitlements":{},"buildId":"6adf46dc861021733e4acac9","clientVersion":"0.0.3971","searchFilterCounts":[{"language":"default","tag":"API Reference","count":90},{"language":"default","tag":"Guides","count":47},{"language":"default","tag":"Templates","count":18},{"language":"default","tag":"Clients","count":15},{"language":"default","tag":"Computer Actions","count":13},{"language":"default","tag":"Computers","count":12},{"language":"default","tag":"Get Started","count":8},{"language":"default","tag":"Computer Lifecycle","count":7},{"language":"default","tag":"Files","count":7},{"language":"default","tag":"Screens","count":5}]},"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":"editor-v7-file-tree","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":"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":"pause-universal-search-reconcile","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":"per-site-search-delta","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":"editor-private-page-search","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":"editor-nav-generations","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":"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":"byok-sep-25","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":"editor-agent-model-picker","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":"billing-updated-9-15","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":"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}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/templates/validate","slug":"/api-reference/templates/validate","pageMetadata":{"title":"Validate template","description":"Check a template document for errors without publishing it.","openapi":"POST /templates/validate","href":"/api-reference/templates/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: \"Check a template document for errors without publishing it.\"\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={a:`a`,code:`code`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{CodeBlock,CodeGroup,Expandable,Heading,ResponseField,Table}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!CodeGroup)_missingMdxReference(`CodeGroup`,true);if(!Expandable)_missingMdxReference(`Expandable`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Validates a template against the `,_jsx(_components.code,{children:`orgo.ai/v1`}),` schema and returns either the normalized document or a structured list of errors. This endpoint has `,_jsx(_components.strong,{children:`no side effects`}),`. Nothing is written, so it is cheap enough to call on every keystroke in an editor.`]}),`\n`,_jsxs(_components.p,{children:[`Validate is also the right way to check a `,_jsx(_components.a,{href:`/guides/templates/schema#sugar-form`,children:`sugar-form`}),` template: it desugars server-side, which the published JSON Schema cannot do.`]}),`\n`,_jsx(Heading,{level:`2`,id:`request-body`,children:`Request body`}),`\n`,_jsxs(_components.p,{children:[`The raw template document. Send `,_jsx(_components.code,{children:`Content-Type: application/yaml`}),` to parse it as YAML. The body is parsed as YAML whenever the content type contains `,_jsx(_components.code,{children:`yaml`}),`; anything else is parsed as JSON. An empty body returns `,_jsx(_components.code,{children:`400`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`response`,children:`Response`}),`\n`,_jsx(ResponseField,{name:`ok`,type:`boolean`,id:`param-ok`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`true`}),` if the template is valid.`]})}),`\n`,_jsx(ResponseField,{name:`template`,type:`object`,id:`param-template`,children:_jsxs(_components.p,{children:[`The normalized template (sugar expanded into canonical form). Present when `,_jsx(_components.code,{children:`ok`}),` is `,_jsx(_components.code,{children:`true`}),`.`]})}),`\n`,_jsxs(ResponseField,{name:`errors`,type:`array`,id:`param-errors`,children:[_jsxs(_components.p,{children:[`Present when `,_jsx(_components.code,{children:`ok`}),` is `,_jsx(_components.code,{children:`false`}),`, alongside a `,_jsx(_components.code,{children:`422`}),` status. Each entry pinpoints one problem.`]}),_jsxs(Expandable,{title:`error`,children:[_jsxs(ResponseField,{name:`field`,type:`string`,id:`param-field`,children:[`Dotted path to the offending field, e.g. `,_jsx(_components.code,{children:`hardware.cpu`}),` or `,_jsx(_components.code,{children:`files[2].to`}),`.`]}),_jsx(ResponseField,{name:`code`,type:`string`,id:`param-code`,children:_jsxs(_components.p,{children:[`Machine-readable code, one of: `,_jsx(_components.code,{children:`required`}),`, `,_jsx(_components.code,{children:`invalid_enum`}),`, `,_jsx(_components.code,{children:`invalid_format`}),`, `,_jsx(_components.code,{children:`invalid_value`}),`, `,_jsx(_components.code,{children:`unsafe_path`}),`, `,_jsx(_components.code,{children:`mutex_conflict`}),`, `,_jsx(_components.code,{children:`unknown_reference`}),`, `,_jsx(_components.code,{children:`duplicate`}),`, `,_jsx(_components.code,{children:`unknown_api_version`}),`.`]})}),_jsx(ResponseField,{name:`message`,type:`string`,id:`param-message`,children:`Human-readable explanation.`}),_jsx(ResponseField,{name:`hint`,type:`string`,id:`param-hint`,children:`Suggestion for fixing it. Present on some errors only.`})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`example`,children:`Example`}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`cURL`,numberOfLines:`4`,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:`4`,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/templates/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:` \"Content-Type: application/yaml\"`}),_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:` --data-binary`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` @claude-code.yaml`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`Python`,numberOfLines:`14`,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:`14`,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/templates/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:`{`})]}),`\n`,_jsxs(_components.span,{className:`line`,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`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"application/yaml\"`}),_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:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` data`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`open`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"claude-code.yaml\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`).read(),`})]}),`\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:`if`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` not`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` result[`}),_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:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` for`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` e `}),_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:`\"errors\"`}),_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:`(`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`f`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`{`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`e[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'field'`}),_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:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`{`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`e[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'message'`}),_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(CodeBlock,{filename:`JavaScript`,numberOfLines:`12`,language:`javascript`,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:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`12`,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:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`readFileSync`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"node:fs\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` r`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` fetch`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://www.orgo.ai/api/templates/validate\"`}),_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\":`#9CDCFE`},children:` method:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"POST\"`}),_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\":`#9CDCFE`},children:` headers:`}),_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\":`#9CDCFE`},children:` Authorization:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:\" `Bearer \"}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#569CD6`},children:\"${\"}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`process`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`env`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`ORGO_API_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--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`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"application/yaml\"`}),_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\":`#9CDCFE`},children:` body:`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` readFileSync`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"claude-code.yaml\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"utf8\"`}),_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:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` result`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` r`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`json`}),_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:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`!`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`result`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`ok`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`console`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`error`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`result`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`errors`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`]})})})]}),`\n`,_jsx(Heading,{level:`3`,id:`valid-response`,children:`Valid response`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`7`,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:`7`,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:`true`}),_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:` \"template\"`}),_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:` \"api_version\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"orgo.ai/v1\"`}),_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:` \"template\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"claude-code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"version\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"1.0.0\"`}),_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`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(Heading,{level:`3`,id:`invalid-response-422`,children:[`Invalid response (`,_jsx(_components.code,{children:`422`}),`)`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`10`,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:`10`,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:` \"errors\"`}),_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:` \"field\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"hardware.cpu\"`}),_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:` \"code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"invalid_enum\"`}),_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:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"must be 1, 2, 4, 8, or 16\"`})]}),`\n`,_jsx(_components.span,{className:`line`,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`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`errors`,children:`Errors`}),`\n`,_jsxs(_components.p,{children:[`A validation failure is the `,_jsx(_components.code,{children:`422`}),` above: `,_jsx(_components.code,{children:`ok`}),` is `,_jsx(_components.code,{children:`false`}),` and the body carries `,_jsx(_components.code,{children:`errors`}),`, with no `,_jsx(_components.code,{children:`error`}),` field. Everything else is a transport-level failure.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Status`}),_jsx(_components.th,{children:`Body`}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`400`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`{ \"error\": \"request body required\" }`})}),_jsx(_components.td,{children:`Empty body.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`400`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`{ \"error\": string }`})}),_jsxs(_components.td,{children:[`The body could not be parsed as a template: not valid YAML or JSON, or not a canonical, sugar, or `,_jsx(_components.code,{children:`{namespace, name, version, template}`}),` envelope document.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`401`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`{ \"error\": \"Invalid API key\" }`})}),_jsxs(_components.td,{children:[`The Bearer token starts with `,_jsx(_components.code,{children:`sk_`}),` but is not a known Orgo key.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`401`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`{ \"error\": \"Authentication required\" }`})}),_jsxs(_components.td,{children:[`No `,_jsx(_components.code,{children:`Authorization`}),` header, or a Bearer token that is not an `,_jsx(_components.code,{children:`sk_`}),` key.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`403`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`{ \"error\": \"This endpoint requires an account-wide credential (workspace_scope_mismatch).\", \"code\": \"workspace_scope_mismatch\" }`})}),_jsx(_components.td,{children:`The key is workspace-scoped. Template endpoints need an account-wide key.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`422`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`{ \"ok\": false, \"errors\": [...] }`})}),_jsx(_components.td,{children:`The template is invalid.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`429`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`{ \"error\": string, \"code\": \"validate_rate_limited\" }`})}),_jsx(_components.td,{children:`Validate rate limit reached. Back off and retry.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`500`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`{ \"error\": string }`})}),_jsxs(_components.td,{children:[`Unexpected server error (`,_jsx(_components.code,{children:`\"internal error\"`}),`), or the validator host failed or timed out. Retry.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`503`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`{ \"error\": \"Service temporarily unavailable. …\" }`})}),_jsxs(_components.td,{children:[`Orgo could not verify the key because of a server-side fault. The key is fine. Retry. The response carries `,_jsx(_components.code,{children:`Retry-After: 5`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`503`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`{ \"error\": string }`})}),_jsx(_components.td,{children:`No fleet host is available to run the validator. 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 template","description":"Check a template document for errors without publishing it.","openapi":"POST /templates/validate","href":"/api-reference/templates/validate"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Request body","slug":"request-body","depth":2,"children":[]},{"title":"Response","slug":"response","depth":2,"children":[]},{"title":"Example","slug":"example","depth":2,"children":[{"title":"Valid response","slug":"valid-response","depth":3,"children":[]},{"title":"Invalid response (422)","slug":"invalid-response-422","depth":3,"children":[]}]},{"title":"Errors","slug":"errors","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"validateTemplate","summary":"Validate template","description":"Check a template document for errors without publishing it.","tags":["Templates"],"requestBody":"102c940e-7f72-4ec1-8c0c-afd480cffffa","responses":{"200":"a01a1a27-60b7-45b5-86ff-8d222126c742","400":"64583c5b-38cc-4f2e-a1a2-69b876f8f08d","401":"4cfd0cd2-1a7c-4677-bef1-b008b77a5fb6","403":"bdddc595-c1d8-4c5d-9cc9-ed3581dfa1b6","422":"a8229e44-b1fc-4b36-91e2-03c526e98387","429":"402c5255-3249-47d7-b36c-b7f974a7b751","500":"a3ee4e96-25e9-4b7c-b3ef-89bbc2bbfbfc","503":"b35d70b3-ea52-43b5-93f2-e4253d3ab29e"},"method":"post","type":"path","servers":["e2df60b1-8308-4209-9326-177e0b32ad47"],"security":["baf3152f-8447-4b36-8b6b-ff158fc4d8c3"],"path":"/templates/validate","baseUrlOptions":["https://www.orgo.ai/api"],"title":"Validate template","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/yaml":{"schema":{"type":"string","uniqueKey":"","typeLabel":"string"},"examples":{"Example":{"title":"Example","value":"\u003cstring>"}},"exampleType":"generated"},"application/json":{"schema":{"type":"object","description":"An orgo.ai/v1 template document. Only `api_version` and `template` are required. See the full JSON Schema at GET /template-schema, or the schema guide at https://docs.orgo.ai/guides/templates/schema.","required":["api_version","template"],"additionalProperties":true,"properties":{"api_version":{"type":"string","enum":["orgo.ai/v1"],"isRequired":true,"uniqueKey":"api_version","typeLabel":"enum\u003cstring>"},"template":{"type":"object","required":["name","version"],"properties":{"name":{"type":"string","description":"Lowercase kebab-case, 1-64 chars.","example":"claude-code","isRequired":true,"uniqueKey":"template.name","typeLabel":"string"},"version":{"type":"string","description":"Semver, immutable once published.","example":"1.0.0","isRequired":true,"uniqueKey":"template.version","typeLabel":"string"},"description":{"type":"string","uniqueKey":"template.description","typeLabel":"string"}},"isRequired":true,"uniqueKey":"template","typeLabel":"object"},"hardware":{"type":"object","uniqueKey":"hardware","typeLabel":"object"},"secrets":{"type":"array","items":{"type":"object","uniqueKey":"secrets.items.[INDEX]","typeLabel":"object"},"uniqueKey":"secrets","typeLabel":"object[]"},"vars":{"type":"object","uniqueKey":"vars","typeLabel":"object"},"env":{"type":"object","uniqueKey":"env","typeLabel":"object"},"build":{"type":"object","uniqueKey":"build","typeLabel":"object"},"files":{"type":"array","uniqueKey":"files","typeLabel":"array"},"apps":{"type":"array","uniqueKey":"apps","typeLabel":"array"},"triggers":{"type":"array","uniqueKey":"triggers","typeLabel":"array"},"terminal":{"type":"array","uniqueKey":"terminal","typeLabel":"array"},"hooks":{"type":"object","uniqueKey":"hooks","typeLabel":"object"},"telemetry":{"type":"object","uniqueKey":"telemetry","typeLabel":"object"},"egress_policy":{"type":"object","uniqueKey":"egress_policy","typeLabel":"object"},"streaming":{"type":"array","uniqueKey":"streaming","typeLabel":"array"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"api_version":"orgo.ai/v1","template":{"name":"claude-code","version":"1.0.0","description":"\u003cstring>"},"hardware":{},"secrets":[{}],"vars":{},"env":{},"build":{},"files":"\u003carray>","apps":"\u003carray>","triggers":"\u003carray>","terminal":"\u003carray>","hooks":{},"telemetry":{},"egress_policy":{},"streaming":"\u003carray>"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"a01a1a27-60b7-45b5-86ff-8d222126c742":{"description":"Validation result","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","uniqueKey":"ok","typeLabel":"boolean"},"template":{"type":"object","description":"An orgo.ai/v1 template document. Only `api_version` and `template` are required. See the full JSON Schema at GET /template-schema, or the schema guide at https://docs.orgo.ai/guides/templates/schema.","required":["api_version","template"],"additionalProperties":true,"properties":{"api_version":{"type":"string","enum":["orgo.ai/v1"],"isRequired":true,"uniqueKey":"template.api_version","typeLabel":"enum\u003cstring>"},"template":{"type":"object","required":["name","version"],"properties":{"name":{"type":"string","description":"Lowercase kebab-case, 1-64 chars.","example":"claude-code","isRequired":true,"uniqueKey":"template.template.name","typeLabel":"string"},"version":{"type":"string","description":"Semver, immutable once published.","example":"1.0.0","isRequired":true,"uniqueKey":"template.template.version","typeLabel":"string"},"description":{"type":"string","uniqueKey":"template.template.description","typeLabel":"string"}},"isRequired":true,"uniqueKey":"template.template","typeLabel":"object"},"hardware":{"type":"object","uniqueKey":"template.hardware","typeLabel":"object"},"secrets":{"type":"array","items":{"type":"object","uniqueKey":"template.secrets.items.[INDEX]","typeLabel":"object"},"uniqueKey":"template.secrets","typeLabel":"object[]"},"vars":{"type":"object","uniqueKey":"template.vars","typeLabel":"object"},"env":{"type":"object","uniqueKey":"template.env","typeLabel":"object"},"build":{"type":"object","uniqueKey":"template.build","typeLabel":"object"},"files":{"type":"array","uniqueKey":"template.files","typeLabel":"array"},"apps":{"type":"array","uniqueKey":"template.apps","typeLabel":"array"},"triggers":{"type":"array","uniqueKey":"template.triggers","typeLabel":"array"},"terminal":{"type":"array","uniqueKey":"template.terminal","typeLabel":"array"},"hooks":{"type":"object","uniqueKey":"template.hooks","typeLabel":"object"},"telemetry":{"type":"object","uniqueKey":"template.telemetry","typeLabel":"object"},"egress_policy":{"type":"object","uniqueKey":"template.egress_policy","typeLabel":"object"},"streaming":{"type":"array","uniqueKey":"template.streaming","typeLabel":"array"}},"uniqueKey":"template","typeLabel":"object"},"errors":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dotted path to the offending field.","example":"hardware.cpu","uniqueKey":"errors.items.[INDEX].field","typeLabel":"string"},"code":{"type":"string","example":"invalid_enum","uniqueKey":"errors.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"},"hint":{"type":"string","uniqueKey":"errors.items.[INDEX].hint","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"ok":true,"template":{"api_version":"orgo.ai/v1","template":{"name":"claude-code","version":"1.0.0","description":"\u003cstring>"},"hardware":{},"secrets":[{}],"vars":{},"env":{},"build":{},"files":"\u003carray>","apps":"\u003carray>","triggers":"\u003carray>","terminal":"\u003carray>","hooks":{},"telemetry":{},"egress_policy":{},"streaming":"\u003carray>"},"errors":[{"field":"hardware.cpu","code":"invalid_enum","message":"\u003cstring>","hint":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"64583c5b-38cc-4f2e-a1a2-69b876f8f08d":{"description":"Empty body, or the body could not be parsed as a template: not valid YAML or JSON, or not a canonical, sugar, or `{namespace, name, version, template}` envelope document.","content":{"application/json":{"schema":{"type":"object","description":"A failure from the template registry, relayed with the registry's own status and code.","required":["error"],"properties":{"error":{"type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable reason, when the registry supplied one.","uniqueKey":"code","typeLabel":"string"},"details":{"oneOf":[{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dotted path to the offending field.","example":"hardware.cpu","uniqueKey":"details.oneOf.0.items.[INDEX].field","typeLabel":"string"},"code":{"type":"string","example":"invalid_enum","uniqueKey":"details.oneOf.0.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","uniqueKey":"details.oneOf.0.items.[INDEX].message","typeLabel":"string"},"hint":{"type":"string","uniqueKey":"details.oneOf.0.items.[INDEX].hint","typeLabel":"string"}},"uniqueKey":"details.oneOf.0.items.[INDEX]","typeLabel":"object"},"description":"Per-field validation errors, or the raw upstream body when it was not JSON.","uniqueKey":"details.oneOf.0","typeLabel":"object[]"},{"type":"string","description":"Per-field validation errors, or the raw upstream body when it was not JSON.","uniqueKey":"details.oneOf.1","typeLabel":"string"}],"uniqueKey":"details","typeLabel":"object[] | string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"empty":{"title":"empty","value":{"error":"request body required"}},"parse":{"title":"parse","value":{"error":"…"}}},"exampleType":"examples"}},"exampleType":"examples"},"4cfd0cd2-1a7c-4677-bef1-b008b77a5fb6":{"description":"No usable credential. Send `Authorization: Bearer $ORGO_API_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"},"examples":{"invalid-key":{"title":"invalid-key","value":{"error":"Invalid API key"}},"no-credential":{"title":"no-credential","value":{"error":"Authentication required"}}},"exampleType":"examples"}},"exampleType":"examples"},"bdddc595-c1d8-4c5d-9cc9-ed3581dfa1b6":{"description":"The API key is workspace-scoped. Template endpoints need an account-wide 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"},"examples":{"account-wide-required":{"title":"account-wide-required","value":{"error":"This endpoint requires an account-wide credential (workspace_scope_mismatch).","code":"workspace_scope_mismatch"}}},"exampleType":"examples"}},"exampleType":"examples"},"a8229e44-b1fc-4b36-91e2-03c526e98387":{"description":"The template is invalid. `ok` is `false` and the body carries `errors`, with no `error` field.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","uniqueKey":"ok","typeLabel":"boolean"},"template":{"type":"object","description":"An orgo.ai/v1 template document. Only `api_version` and `template` are required. See the full JSON Schema at GET /template-schema, or the schema guide at https://docs.orgo.ai/guides/templates/schema.","required":["api_version","template"],"additionalProperties":true,"properties":{"api_version":{"type":"string","enum":["orgo.ai/v1"],"isRequired":true,"uniqueKey":"template.api_version","typeLabel":"enum\u003cstring>"},"template":{"type":"object","required":["name","version"],"properties":{"name":{"type":"string","description":"Lowercase kebab-case, 1-64 chars.","example":"claude-code","isRequired":true,"uniqueKey":"template.template.name","typeLabel":"string"},"version":{"type":"string","description":"Semver, immutable once published.","example":"1.0.0","isRequired":true,"uniqueKey":"template.template.version","typeLabel":"string"},"description":{"type":"string","uniqueKey":"template.template.description","typeLabel":"string"}},"isRequired":true,"uniqueKey":"template.template","typeLabel":"object"},"hardware":{"type":"object","uniqueKey":"template.hardware","typeLabel":"object"},"secrets":{"type":"array","items":{"type":"object","uniqueKey":"template.secrets.items.[INDEX]","typeLabel":"object"},"uniqueKey":"template.secrets","typeLabel":"object[]"},"vars":{"type":"object","uniqueKey":"template.vars","typeLabel":"object"},"env":{"type":"object","uniqueKey":"template.env","typeLabel":"object"},"build":{"type":"object","uniqueKey":"template.build","typeLabel":"object"},"files":{"type":"array","uniqueKey":"template.files","typeLabel":"array"},"apps":{"type":"array","uniqueKey":"template.apps","typeLabel":"array"},"triggers":{"type":"array","uniqueKey":"template.triggers","typeLabel":"array"},"terminal":{"type":"array","uniqueKey":"template.terminal","typeLabel":"array"},"hooks":{"type":"object","uniqueKey":"template.hooks","typeLabel":"object"},"telemetry":{"type":"object","uniqueKey":"template.telemetry","typeLabel":"object"},"egress_policy":{"type":"object","uniqueKey":"template.egress_policy","typeLabel":"object"},"streaming":{"type":"array","uniqueKey":"template.streaming","typeLabel":"array"}},"uniqueKey":"template","typeLabel":"object"},"errors":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dotted path to the offending field.","example":"hardware.cpu","uniqueKey":"errors.items.[INDEX].field","typeLabel":"string"},"code":{"type":"string","example":"invalid_enum","uniqueKey":"errors.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"},"hint":{"type":"string","uniqueKey":"errors.items.[INDEX].hint","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"example":{"ok":false,"errors":[{"field":"hardware.cpu","code":"invalid_enum","message":"must be 1, 2, 4, 8, or 16"}]},"examples":{"Example":{"title":"Example","value":{"ok":false,"errors":[{"field":"hardware.cpu","code":"invalid_enum","message":"must be 1, 2, 4, 8, or 16"}]}}},"exampleType":"examples"}},"exampleType":"examples"},"402c5255-3249-47d7-b36c-b7f974a7b751":{"description":"Validate rate limit reached. Back off and retry.","content":{"application/json":{"schema":{"type":"object","description":"A failure from the template registry, relayed with the registry's own status and code.","required":["error"],"properties":{"error":{"type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable reason, when the registry supplied one.","uniqueKey":"code","typeLabel":"string"},"details":{"oneOf":[{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dotted path to the offending field.","example":"hardware.cpu","uniqueKey":"details.oneOf.0.items.[INDEX].field","typeLabel":"string"},"code":{"type":"string","example":"invalid_enum","uniqueKey":"details.oneOf.0.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","uniqueKey":"details.oneOf.0.items.[INDEX].message","typeLabel":"string"},"hint":{"type":"string","uniqueKey":"details.oneOf.0.items.[INDEX].hint","typeLabel":"string"}},"uniqueKey":"details.oneOf.0.items.[INDEX]","typeLabel":"object"},"description":"Per-field validation errors, or the raw upstream body when it was not JSON.","uniqueKey":"details.oneOf.0","typeLabel":"object[]"},{"type":"string","description":"Per-field validation errors, or the raw upstream body when it was not JSON.","uniqueKey":"details.oneOf.1","typeLabel":"string"}],"uniqueKey":"details","typeLabel":"object[] | string"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":"…","code":"validate_rate_limited"},"examples":{"Example":{"title":"Example","value":{"error":"…","code":"validate_rate_limited"}}},"exampleType":"examples"}},"exampleType":"examples"},"a3ee4e96-25e9-4b7c-b3ef-89bbc2bbfbfc":{"description":"Unexpected server error (`internal error`), or the template registry host failed or timed out, with the underlying message in `error`. Retry.","content":{"application/json":{"schema":{"type":"object","description":"A failure from the template registry, relayed with the registry's own status and code.","required":["error"],"properties":{"error":{"type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable reason, when the registry supplied one.","uniqueKey":"code","typeLabel":"string"},"details":{"oneOf":[{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dotted path to the offending field.","example":"hardware.cpu","uniqueKey":"details.oneOf.0.items.[INDEX].field","typeLabel":"string"},"code":{"type":"string","example":"invalid_enum","uniqueKey":"details.oneOf.0.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","uniqueKey":"details.oneOf.0.items.[INDEX].message","typeLabel":"string"},"hint":{"type":"string","uniqueKey":"details.oneOf.0.items.[INDEX].hint","typeLabel":"string"}},"uniqueKey":"details.oneOf.0.items.[INDEX]","typeLabel":"object"},"description":"Per-field validation errors, or the raw upstream body when it was not JSON.","uniqueKey":"details.oneOf.0","typeLabel":"object[]"},{"type":"string","description":"Per-field validation errors, or the raw upstream body when it was not JSON.","uniqueKey":"details.oneOf.1","typeLabel":"string"}],"uniqueKey":"details","typeLabel":"object[] | string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"internal":{"title":"internal","value":{"error":"internal error"}},"timeout":{"title":"timeout","value":{"error":"timeout of 30000ms exceeded"}}},"exampleType":"examples"}},"exampleType":"examples"},"b35d70b3-ea52-43b5-93f2-e4253d3ab29e":{"description":"No template-capable host in the fleet could serve the request, or the fleet lookup itself failed. Retry.","content":{"application/json":{"schema":{"type":"object","description":"A failure from the template registry, relayed with the registry's own status and code.","required":["error"],"properties":{"error":{"type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable reason, when the registry supplied one.","uniqueKey":"code","typeLabel":"string"},"details":{"oneOf":[{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dotted path to the offending field.","example":"hardware.cpu","uniqueKey":"details.oneOf.0.items.[INDEX].field","typeLabel":"string"},"code":{"type":"string","example":"invalid_enum","uniqueKey":"details.oneOf.0.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","uniqueKey":"details.oneOf.0.items.[INDEX].message","typeLabel":"string"},"hint":{"type":"string","uniqueKey":"details.oneOf.0.items.[INDEX].hint","typeLabel":"string"}},"uniqueKey":"details.oneOf.0.items.[INDEX]","typeLabel":"object"},"description":"Per-field validation errors, or the raw upstream body when it was not JSON.","uniqueKey":"details.oneOf.0","typeLabel":"object[]"},{"type":"string","description":"Per-field validation errors, or the raw upstream body when it was not JSON.","uniqueKey":"details.oneOf.1","typeLabel":"string"}],"uniqueKey":"details","typeLabel":"object[] | string"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":"no template launch host available in env=production: every fleet_servers row was excluded (disabled, draining, unhealthy, dedicated, legacy/parked, or not accepting user VMs). Check the fleet"},"examples":{"Example":{"title":"Example","value":{"error":"no template launch host available in env=production: every fleet_servers row was excluded (disabled, draining, unhealthy, dedicated, legacy/parked, or not accepting user VMs). Check the fleet"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"baf3152f-8447-4b36-8b6b-ff158fc4d8c3":{"bearerAuth":{"type":"http","scheme":"bearer","description":"API key authentication. Get your key at orgo.ai/workspaces","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"e2df60b1-8308-4209-9326-177e0b32ad47":{"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-10-22T16:12:50.179Z","originalFileLocation":"api-reference/templates/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=\"Check a template document for errors without publishing it.\">\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/templates/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/templates/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/templates/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/templates/validate#webpage\",\"url\":\"https://docs.orgo.ai/api-reference/templates/validate\",\"name\":\"Validate template\",\"description\":\"Check a template document for errors without publishing it.\",\"dateModified\":\"2026-10-22T16:12:50.179Z\",\"isPartOf\":{\"@id\":\"https://docs.orgo.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.orgo.ai/api-reference/templates/validate#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.orgo.ai/api-reference/templates/validate#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Templates\",\"item\":\"https://docs.orgo.ai/api-reference/templates/schema\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Validate template\",\"item\":\"https://docs.orgo.ai/api-reference/templates/validate\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.orgo.ai/api-reference/templates/validate#apireference\",\"headline\":\"Validate template\",\"name\":\"Validate template\",\"description\":\"Check a template document for errors without publishing it.\",\"url\":\"https://docs.orgo.ai/api-reference/templates/validate\",\"mainEntityOfPage\":{\"@id\":\"https://docs.orgo.ai/api-reference/templates/validate#webpage\"},\"image\":\"https://mintlify.s3.us-west-1.amazonaws.com/orgo/images/hero-dark.png\",\"dateModified\":\"2026-10-22T16:12:50.179Z\",\"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":"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":"Apply secrets","openapi":"POST /computers/{id}/secrets/sync","href":"/api-reference/computers/sync-secrets"}]},{"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","description":"Publish a template document to your registry.","openapi":"POST /templates","href":"/api-reference/templates/publish"},{"title":"Validate template","openapi":"POST /templates/validate","href":"/api-reference/templates/validate"},{"title":"List template versions","description":"List every published version of one template.","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"}]}]}]},"title":"Orgo - Cloud computers for AI agents","buildId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","deploymentId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","dynamics":["c2aa737661","b0f84f53ff","a9bb46feb3","2b790eda92"],"chunks":["OpenApiReferenceProvider-rfhihCWU.js","utils-BmH1XFxk.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-BcNsxPKB.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BAES3tkd.js","snippetPresets-DCMQBKLP.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","Page-D5fEM6aW.js","ApiExamples-D6l_bzE9.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BOktbnNh.js","shallow-BCs8SgM7.js","getApiPlaygroundDisplay-DEmW5bJB.js","CodeSnippet-CpZOpB9C.js","CodeSnippets-BOBDqibl.js","getPastedJson-DH2JBvmr.js","icon-BBJH-kKh.js","MethodPill-D2Sd5NLC.js","DuplicateIcon-CGgfL2qN.js","createIcon-BKudBBzi.js","DynamicMarkdown-85clUA0i.js","SectionHeading-D0JiMgDx.js","axios-vUo_bRtp.js","Markdown-Cfiy0xZO.js","clsx-rL8ZCCw4.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-aeztFa9U.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BywkCr5C.js"]}