Changes the settings the body names and leaves the others. An allowed host that the runner would refuse (*.com, for one) is refused with invalid_managed_build_setting (422), with the reason the runner gives, and nothing is saved. A list holds at most 500 hosts. Each setting that changes writes one audit row. Answers 404 unless the managed_runners flag is on for the organization.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"OuterLayer","description":"An open-source software factory: issue in, reviewed and verified code out, on your agents, in your repos.","colors":{"primary":"#2065D1","light":"#4C8DEE","dark":"#1A55B8"},"logo":{"light":"https://mintcdn.com/outerlayer-stg/h46SL2WH_1X-gmFL/logo/light.svg?fit=max\u0026auto=format\u0026n=h46SL2WH_1X-gmFL\u0026q=85\u0026s=de563af4ba1bc24d13a1c4a7485a2182","dark":"https://mintcdn.com/outerlayer-stg/h46SL2WH_1X-gmFL/logo/dark.svg?fit=max\u0026auto=format\u0026n=h46SL2WH_1X-gmFL\u0026q=85\u0026s=13e7346de4086ea4a5f7e83a85e7a072"},"favicon":"https://mintcdn.com/outerlayer-stg/h46SL2WH_1X-gmFL/favicon.svg?fit=max\u0026auto=format\u0026n=h46SL2WH_1X-gmFL\u0026q=85\u0026s=adddaf2c470259ec7193c6bd26a95252","appearance":{"default":"system"},"background":{"color":{"light":"#FAFAF9","dark":"#131312"}},"navbar":{"links":[{"href":"/changelog","label":"Changelog"},{"href":"https://github.com/outerlayerai/outerlayer","label":"GitHub"}],"primary":{"type":"button","label":"Open the app","href":"https://app.outerlayer.ai"}},"footer":{"socials":{"github":"https://github.com/outerlayerai/outerlayer","website":"https://www.outerlayer.ai"}},"fonts":{"family":"Geist"},"styling":{"codeblocks":"system","latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"outerlayer-stg","hasAudioNarration":false,"actualSubdomain":"outerlayer-stg","customDomains":["docs-stg.outerlayer.ai"],"gitSource":{"type":"github","owner":"outerlayerai","repo":"outerlayer","deployBranch":"main","contentDirectory":"apps/docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6adfb1b6e051be5054cd6197","collectionId":"8b61ac46-bcff-45c0-aec7-55917b6b1229","liveDeploymentHistoryId":"6adfb1b6e051be5054cd6197","schemaVersion":"v3"},"entitlements":{},"buildId":"6adfb1e2141a85a6119e998a","clientVersion":"0.0.3969","searchFilterCounts":[{"language":"default","tag":"API reference","count":107},{"language":"default","tag":"Endpoints","count":105},{"language":"default","tag":"Documentation","count":42},{"language":"default","tag":"Work Items","count":28},{"language":"default","tag":"Apps","count":20},{"language":"default","tag":"CLI reference","count":13},{"language":"default","tag":"Run builds","count":12},{"language":"default","tag":"Commands","count":9},{"language":"default","tag":"Org Management","count":9},{"language":"default","tag":"Work on an item","count":7}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"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":"billing-updated-9-15","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}],"isAtlas":false,"googleFontsInlined":true},"customCss":[{"filePath":"custom.css","content":"/* cyrillic-ext */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx3cwhsk.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxTcwhsk.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* greek */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxPcwhsk.woff2) format('woff2');\n unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;\n}\n/* vietnamese */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx_cwhsk.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwhsk.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx3cwhsk.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxTcwhsk.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* greek */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxPcwhsk.woff2) format('woff2');\n unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;\n}\n/* vietnamese */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx_cwhsk.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwhsk.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx3cwhsk.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxTcwhsk.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* greek */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxPcwhsk.woff2) format('woff2');\n unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;\n}\n/* vietnamese */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx_cwhsk.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwhsk.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n.font-mono,code,kbd,pre,samp{font-family:\"JetBrains Mono\",ui-monospace,SFMono-Regular,Menlo,monospace}.status-icon{display:inline-block;width:1.05em;height:1.05em;margin-right:.35em;vertical-align:-.17em;color:#61656f}.status-icon-not_picked_up,.status-icon-with_agent{color:#b26a00}.status-icon-ready_for_review{color:#2e7d32}.status-icon-approved{color:#4f55c9}.status-icon-needs_attention{color:#c62828}.status-icon-dot{fill:#c2410c}.dark .status-icon{color:#9a9eab}.dark .status-icon-not_picked_up,.dark .status-icon-with_agent{color:#f0a742}.dark .status-icon-ready_for_review{color:#6cc070}.dark .status-icon-approved{color:#959bf2}.dark .status-icon-needs_attention{color:#f2827a}.dark .status-icon-dot{fill:#f08a4b}"}],"page":{"pagePath":"api-reference/apps/change-the-factorys-managed-build-settings","slug":"/api-reference/apps/change-the-factorys-managed-build-settings","pageMetadata":{"title":"Change the factory's managed build settings","description":"Changes the settings the body names and leaves the others. An allowed host that the runner would refuse (`*.com`, for one) is refused with `invalid_managed_build_setting` (422), with the reason the runner gives, and nothing is saved. A list holds at most 500 hosts. Each setting that changes writes one audit row. Answers 404 unless the `managed_runners` flag is on for the organization.","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /v1/apps/{appId}/managed-build-settings","href":"/api-reference/apps/change-the-factorys-managed-build-settings","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Changes the settings the body names and leaves the others. An allowed host that the runner would refuse (\", _jsx(_components.code, {\n children: \"*.com\"\n }), \", for one) is refused with \", _jsx(_components.code, {\n children: \"invalid_managed_build_setting\"\n }), \" (422), with the reason the runner gives, and nothing is saved. A list holds at most 500 hosts. Each setting that changes writes one audit row. Answers 404 unless the \", _jsx(_components.code, {\n children: \"managed_runners\"\n }), \" flag is on for the organization.\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"codeStyling":"system","config":{},"pageMetadata":{"title":"Change the factory's managed build settings","description":"Changes the settings the body names and leaves the others. An allowed host that the runner would refuse (`*.com`, for one) is refused with `invalid_managed_build_setting` (422), with the reason the runner gives, and nothing is saved. A list holds at most 500 hosts. Each setting that changes writes one audit row. Answers 404 unless the `managed_runners` flag is on for the organization.","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /v1/apps/{appId}/managed-build-settings","href":"/api-reference/apps/change-the-factorys-managed-build-settings","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"description":"Changes the settings the body names and leaves the others. An allowed host that the runner would refuse (`*.com`, for one) is refused with `invalid_managed_build_setting` (422), with the reason the runner gives, and nothing is saved. A list holds at most 500 hosts. Each setting that changes writes one audit row. Answers 404 unless the `managed_runners` flag is on for the organization.","operationId":"patch-app-managed-build-settings","parameters":["9d47abcd-9d21-498f-8f30-6cfca41fbc4e"],"requestBody":"30a12fec-9190-4168-bb34-7dfa6ef51d20","responses":{"200":"f680b9c1-7840-4d14-9243-9bdbc4ae9daa","400":"fac5e04c-92b1-4b49-aa3b-1281febe84ed","401":"23bce69c-f7b1-4f36-88c0-9d5261737c66","403":"a98ed25f-8ba0-489c-a295-fa8a8cb7e79c","404":"9ff2c3a2-7e61-42f4-afcc-e1056d364b50","422":"4fabb4bb-b062-4ad3-82ad-b27916c5445e"},"summary":"Change the factory's managed build settings","tags":["Apps"],"method":"patch","type":"path","servers":["ae9384c9-b2f7-457d-9839-310e53b08308","185df079-c928-4c1f-a32c-602a06e1bc9b"],"security":["3d78d2ca-428a-4ae5-9633-5335e834b298"],"path":"/v1/apps/{appId}/managed-build-settings","baseUrlOptions":["https://api.outerlayer.ai","http://localhost:9418"],"title":"Change the factory's managed build settings","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"9d47abcd-9d21-498f-8f30-6cfca41fbc4e":{"in":"path","name":"appId","required":true,"schema":{"format":"uuid","type":"string","isRequired":true,"uniqueKey":"","typeLabel":"string\u003cuuid>"}}},"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"allowHosts":{"description":"Replaces the list. At most 500 entries. Each entry follows the rules of the runner's `runner.build.allowHosts`.","items":{"type":"string","uniqueKey":"allowHosts.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"allowHosts","typeLabel":"string[]"},"buildsRunOn":{"enum":["self-hosted","managed"],"type":"string","uniqueKey":"buildsRunOn","typeLabel":"enum\u003cstring>"},"machineSize":{"enum":["small","large"],"type":"string","uniqueKey":"machineSize","typeLabel":"enum\u003cstring>"}},"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"allowHosts":["\u003cstring>"]}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"f680b9c1-7840-4d14-9243-9bdbc4ae9daa":{"content":{"application/json":{"schema":{"properties":{"data":{"properties":{"allowHosts":{"description":"Public hosts a managed build may reach, in addition to the managed runner's own list.","items":{"type":"string","uniqueKey":"data.allowHosts.items.[INDEX]","typeLabel":"string"},"type":"array","isRequired":true,"uniqueKey":"data.allowHosts","typeLabel":"string[]"},"buildsRunOn":{"description":"The kind of runner a build asks for when the person who requests it does not choose.","enum":["self-hosted","managed"],"type":"string","isRequired":true,"uniqueKey":"data.buildsRunOn","typeLabel":"enum\u003cstring>"},"machineSize":{"description":"The size of the machine a managed runner starts for each build.","enum":["small","large"],"type":"string","isRequired":true,"uniqueKey":"data.machineSize","typeLabel":"enum\u003cstring>"},"updatedAt":{"oneOf":[{"description":"When the three settings above last changed.","type":"string","isRequired":true,"uniqueKey":"data.updatedAt.oneOf.0","typeLabel":"string"},{"description":"When the three settings above last changed.","type":"null","isRequired":true,"uniqueKey":"data.updatedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.updatedAt","typeLabel":"string | null"},"updatedBy":{"oneOf":[{"description":"Who last changed the three settings above: a member's email or an API key's name. Null when they were never changed.","type":"string","isRequired":true,"uniqueKey":"data.updatedBy.oneOf.0","typeLabel":"string"},{"description":"Who last changed the three settings above: a member's email or an API key's name. Null when they were never changed.","type":"null","isRequired":true,"uniqueKey":"data.updatedBy.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.updatedBy","typeLabel":"string | null"},"variables":{"description":"The build variables. A value is never returned.","items":{"properties":{"name":{"description":"The variable's name.","type":"string","isRequired":true,"uniqueKey":"data.variables.items.[INDEX].name","typeLabel":"string"},"setAt":{"description":"When the value was saved.","type":"string","isRequired":true,"uniqueKey":"data.variables.items.[INDEX].setAt","typeLabel":"string"},"setBy":{"description":"Who saved the value: a member's email or an API key's name.","type":"string","isRequired":true,"uniqueKey":"data.variables.items.[INDEX].setBy","typeLabel":"string"}},"required":["name","setBy","setAt"],"type":"object","uniqueKey":"data.variables.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"data.variables","typeLabel":"object[]"}},"required":["buildsRunOn","machineSize","allowHosts","updatedBy","updatedAt","variables"],"type":"object","isRequired":true,"uniqueKey":"data","typeLabel":"object"}},"required":["data"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"data":{"allowHosts":["\u003cstring>"],"buildsRunOn":"self-hosted","machineSize":"small","updatedAt":"\u003cstring>","updatedBy":"\u003cstring>","variables":[{"name":"\u003cstring>","setAt":"\u003cstring>","setBy":"\u003cstring>"}]}}}},"exampleType":"generated"}},"description":"The settings after the change.","exampleType":"generated"},"fac5e04c-92b1-4b49-aa3b-1281febe84ed":{"content":{"application/json":{"schema":{"properties":{"error":{"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"required":["code","message"],"type":"object","isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>"}}}},"exampleType":"generated"}},"description":"The body names no setting, or a setting has the wrong type.","exampleType":"generated"},"23bce69c-f7b1-4f36-88c0-9d5261737c66":{"content":{"application/json":{"schema":{"properties":{"error":{"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"required":["code","message"],"type":"object","isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>"}}}},"exampleType":"generated"}},"description":"Missing or invalid API key.","exampleType":"generated"},"a98ed25f-8ba0-489c-a295-fa8a8cb7e79c":{"content":{"application/json":{"schema":{"properties":{"error":{"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"required":["code","message"],"type":"object","isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>"}}}},"exampleType":"generated"}},"description":"Caller lacks 'factory.update' permission.","exampleType":"generated"},"9ff2c3a2-7e61-42f4-afcc-e1056d364b50":{"content":{"application/json":{"schema":{"properties":{"error":{"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"required":["code","message"],"type":"object","isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>"}}}},"exampleType":"generated"}},"description":"No such factory, or managed builds are not turned on for the organization.","exampleType":"generated"},"4fabb4bb-b062-4ad3-82ad-b27916c5445e":{"content":{"application/json":{"schema":{"properties":{"error":{"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"required":["code","message"],"type":"object","isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>"}}}},"exampleType":"generated"}},"description":"An allowed host is refused (`invalid_managed_build_setting`). Nothing was saved.","exampleType":"generated"}},"security":{"3d78d2ca-428a-4ae5-9633-5335e834b298":{"AppId":{"description":"Factory id the request is scoped to.","in":"header","name":"X-Outerlayer-App-Id","type":"apiKey","scopes":[],"schemeName":"AppId"},"BearerAuth":{"description":"API key (sk_outerlayer_*)","scheme":"bearer","type":"http","scopes":[],"schemeName":"BearerAuth"}}},"servers":{"ae9384c9-b2f7-457d-9839-310e53b08308":{"description":"Production (OuterLayer Cloud)","url":"https://api.outerlayer.ai"},"185df079-c928-4c1f-a32c-602a06e1bc9b":{"description":"Local dev server (self-hosted gateway)","url":"http://localhost:9418"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"description":"Factory id the request is scoped to.","in":"header","name":"X-Outerlayer-App-Id","type":"apiKey","scopes":[],"schemeName":"AppId"},"schema":{"title":"X-Outerlayer-App-Id","type":"string","description":"Factory id the request is scoped to.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"AppId","name":"X-Outerlayer-App-Id"},{"scheme":{"description":"API key (sk_outerlayer_*)","scheme":"bearer","type":"http","scopes":[],"schemeName":"BearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"API key (sk_outerlayer_*)","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"BearerAuth","name":"Authorization"}],"title":"AppId \u0026 BearerAuth"}]},"originalFileLocation":"openapi.yaml"},"subdomain":"outerlayer-stg","siteName":"OuterLayer","title":"Change the factory's managed build settings - OuterLayer","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-26T16:13:29.624Z","originalFileLocation":"api-reference/apps/change-the-factorys-managed-build-settings.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=\"Changes the settings the body names and leaves the others. An allowed host that the runner would refuse (*.com, for one) is refused with invalid_managed_build_setting (422), with the reason the runner gives, and nothing is saved. A list holds at most 500 hosts. Each setting that changes writes one audit row. Answers 404 unless the managed_runners flag is on for the organization.\">\u003cmeta data-mint-head name=\"application-name\" content=\"OuterLayer\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/outerlayer-stg/FkFLtaVKBgCUe_rr/_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/outerlayer-stg/FkFLtaVKBgCUe_rr/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/outerlayer-stg/FkFLtaVKBgCUe_rr/_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/outerlayer-stg/FkFLtaVKBgCUe_rr/_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/outerlayer-stg/FkFLtaVKBgCUe_rr/_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/outerlayer-stg/FkFLtaVKBgCUe_rr/_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/outerlayer-stg/FkFLtaVKBgCUe_rr/_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/outerlayer-stg/FkFLtaVKBgCUe_rr/_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/outerlayer-stg/FkFLtaVKBgCUe_rr/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Change the factory\u0026#x27;s managed build settings - OuterLayer\">\u003cmeta data-mint-head property=\"og:description\" content=\"Changes the settings the body names and leaves the others. An allowed host that the runner would refuse (*.com, for one) is refused with invalid_managed_build_setting (422), with the reason the runner gives, and nothing is saved. A list holds at most 500 hosts. Each setting that changes writes one audit row. Answers 404 unless the managed_runners flag is on for the organization.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"OuterLayer\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs-stg.outerlayer.ai/api-reference/apps/change-the-factorys-managed-build-settings\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://outerlayer-stg.mintlify.app/_mintlify/api/og/v2?division=Apps\u0026amp;title=Change+the+factory%27s+managed+build+settings\u0026amp;description=Changes+the+settings+the+body+names+and+leaves+the+others.+An+allowed+host+that+the+runner+would+refuse+%28%60*.com%60%2C+for+one%29+is+refused+with+%60invalid_managed_buil\u0026amp;theme=e9829cd6b2b3caa26c4296ba\u0026amp;signature=aacb8f075a56113d819f27665084ad50ff2045b9937a4d4494c781cf863b3640\">\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=\"Change the factory\u0026#x27;s managed build settings - OuterLayer\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Changes the settings the body names and leaves the others. An allowed host that the runner would refuse (*.com, for one) is refused with invalid_managed_build_setting (422), with the reason the runner gives, and nothing is saved. A list holds at most 500 hosts. Each setting that changes writes one audit row. Answers 404 unless the managed_runners flag is on for the organization.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://outerlayer-stg.mintlify.app/_mintlify/api/og/v2?division=Apps\u0026amp;title=Change+the+factory%27s+managed+build+settings\u0026amp;description=Changes+the+settings+the+body+names+and+leaves+the+others.+An+allowed+host+that+the+runner+would+refuse+%28%60*.com%60%2C+for+one%29+is+refused+with+%60invalid_managed_buil\u0026amp;theme=e9829cd6b2b3caa26c4296ba\u0026amp;signature=aacb8f075a56113d819f27665084ad50ff2045b9937a4d4494c781cf863b3640\">\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/outerlayer-stg/FkFLtaVKBgCUe_rr/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"OuterLayer\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2065D1\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs-stg.outerlayer.ai/api-reference/apps/change-the-factorys-managed-build-settings\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/apps/change-the-factorys-managed-build-settings.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs-stg.outerlayer.ai/#organization\",\"name\":\"OuterLayer\",\"url\":\"https://docs-stg.outerlayer.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/outerlayer-stg/h46SL2WH_1X-gmFL/logo/light.svg?fit=max\u0026auto=format\u0026n=h46SL2WH_1X-gmFL\u0026q=85\u0026s=de563af4ba1bc24d13a1c4a7485a2182\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs-stg.outerlayer.ai#website\",\"name\":\"OuterLayer\",\"url\":\"https://docs-stg.outerlayer.ai\",\"publisher\":{\"@id\":\"https://docs-stg.outerlayer.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs-stg.outerlayer.ai/api-reference/apps/change-the-factorys-managed-build-settings#webpage\",\"url\":\"https://docs-stg.outerlayer.ai/api-reference/apps/change-the-factorys-managed-build-settings\",\"name\":\"Change the factory's managed build settings\",\"description\":\"Changes the settings the body names and leaves the others. An allowed host that the runner would refuse (*.com, for one) is refused with invalid_managed_build_setting (422), with the reason the runner gives, and nothing is saved. A list holds at most 500 hosts. Each setting that changes writes one audit row. Answers 404 unless the managed_runners flag is on for the organization.\",\"dateModified\":\"2026-10-26T16:13:29.624Z\",\"isPartOf\":{\"@id\":\"https://docs-stg.outerlayer.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs-stg.outerlayer.ai/api-reference/apps/change-the-factorys-managed-build-settings#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs-stg.outerlayer.ai/api-reference/apps/change-the-factorys-managed-build-settings#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoints\",\"item\":\"https://docs-stg.outerlayer.ai/api-reference/oauth/oauth-protected-resource-metadata\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Apps\",\"item\":\"https://docs-stg.outerlayer.ai/api-reference/apps/list-apps\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Change the factory's managed build settings\",\"item\":\"https://docs-stg.outerlayer.ai/api-reference/apps/change-the-factorys-managed-build-settings\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs-stg.outerlayer.ai/api-reference/apps/change-the-factorys-managed-build-settings#apireference\",\"headline\":\"Change the factory's managed build settings\",\"name\":\"Change the factory's managed build settings\",\"description\":\"Changes the settings the body names and leaves the others. An allowed host that the runner would refuse (*.com, for one) is refused with invalid_managed_build_setting (422), with the reason the runner gives, and nothing is saved. A list holds at most 500 hosts. Each setting that changes writes one audit row. Answers 404 unless the managed_runners flag is on for the organization.\",\"url\":\"https://docs-stg.outerlayer.ai/api-reference/apps/change-the-factorys-managed-build-settings\",\"mainEntityOfPage\":{\"@id\":\"https://docs-stg.outerlayer.ai/api-reference/apps/change-the-factorys-managed-build-settings#webpage\"},\"dateModified\":\"2026-10-26T16:13:29.624Z\",\"publisher\":{\"@id\":\"https://docs-stg.outerlayer.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs-stg.outerlayer.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"OuterLayer\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"OuterLayer","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":""}]},{"tab":"CLI reference","pages":[{"title":"CLI reference","href":"/reference/cli"}]},{"tab":"API reference","groups":[{"group":"Get started","pages":[{"title":"Introduction","href":"/api-reference/introduction"},{"title":"Organization API","href":"/organization-api"}]},{"group":"Endpoints","pages":[{"group":"OAuth","pages":[{"title":"OAuth protected-resource metadata","deprecated":null,"version":null,"openapi":"/openapi.yaml get /.well-known/oauth-protected-resource","href":"/api-reference/oauth/oauth-protected-resource-metadata"},{"title":"OAuth protected-resource metadata for the per-app MCP mount","deprecated":null,"version":null,"openapi":"/openapi.yaml get /.well-known/oauth-protected-resource/v1/apps/{appId}/mcp","href":"/api-reference/oauth/oauth-protected-resource-metadata-for-the-per-app-mcp-mount"}]},{"group":"Health","pages":[{"title":"Service health","deprecated":null,"version":null,"openapi":"/openapi.yaml get /health","href":"/api-reference/health/service-health"},{"title":"Files health","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/health/files","href":"/api-reference/health/files-health"},{"title":"Ingestion health","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/health/ingestion","href":"/api-reference/health/ingestion-health"}]},{"group":"Agents","pages":[{"title":"Fetch an agent session image blob via a signed token","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/agents/blob-token/{token}","href":"/api-reference/agents/fetch-an-agent-session-image-blob-via-a-signed-token"},{"title":"Fetch an agent session image blob","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/agents/blob/{sha256}","href":"/api-reference/agents/fetch-an-agent-session-image-blob"},{"title":"Ingest coding-agent sessions (outerlayer sync)","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/agents/sync","href":"/api-reference/agents/ingest-coding-agent-sessions-outerlayer-sync"}]},{"group":"API Keys","pages":[{"title":"List API keys","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/api-keys","href":"/api-reference/api-keys/list-api-keys"},{"title":"Create API key","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/api-keys","href":"/api-reference/api-keys/create-api-key"},{"title":"Revoke API key","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/api-keys/{apiKeyId}","href":"/api-reference/api-keys/revoke-api-key"},{"title":"Change API key permissions","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /v1/api-keys/{apiKeyId}","href":"/api-reference/api-keys/change-api-key-permissions"},{"title":"Clear a runner key's host binding","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/api-keys/{apiKeyId}/host-key","href":"/api-reference/api-keys/clear-a-runner-keys-host-binding"}]},{"group":"Apps","pages":[{"title":"List apps","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/apps","href":"/api-reference/apps/list-apps"},{"title":"Create app","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/apps","href":"/api-reference/apps/create-app"},{"title":"Get app","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/apps/{appId}","href":"/api-reference/apps/get-app"},{"title":"Delete app","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/apps/{appId}","href":"/api-reference/apps/delete-app"},{"title":"Update app","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /v1/apps/{appId}","href":"/api-reference/apps/update-app"},{"title":"Get whether the factory has stored an Anthropic API key","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/apps/{appId}/anthropic-key","href":"/api-reference/apps/get-whether-the-factory-has-stored-an-anthropic-api-key"},{"title":"Store or replace the factory's Anthropic API key","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v1/apps/{appId}/anthropic-key","href":"/api-reference/apps/store-or-replace-the-factorys-anthropic-api-key"},{"title":"Remove the factory's Anthropic API key","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/apps/{appId}/anthropic-key","href":"/api-reference/apps/remove-the-factorys-anthropic-api-key"},{"title":"Save or replace a build variable of the factory","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v1/apps/{appId}/build-variables/{name}","href":"/api-reference/apps/save-or-replace-a-build-variable-of-the-factory"},{"title":"Remove a build variable of the factory","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/apps/{appId}/build-variables/{name}","href":"/api-reference/apps/remove-a-build-variable-of-the-factory"},{"title":"Get git connection status for an app","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/apps/{appId}/git","href":"/api-reference/apps/get-git-connection-status-for-an-app"},{"title":"List branches in a repository","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/apps/{appId}/git/branches","href":"/api-reference/apps/list-branches-in-a-repository"},{"title":"Mint an OAuth authorization URL for git-provider connect","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/apps/{appId}/git/connect","href":"/api-reference/apps/mint-an-oauth-authorization-url-for-git-provider-connect"},{"title":"Link a repository and branch to an app","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/apps/{appId}/git/link","href":"/api-reference/apps/link-a-repository-and-branch-to-an-app"},{"title":"Clear the linked repository and branch","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/apps/{appId}/git/link","href":"/api-reference/apps/clear-the-linked-repository-and-branch"},{"title":"List every repository linked to the factory, with its branches","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/apps/{appId}/git/links","href":"/api-reference/apps/list-every-repository-linked-to-the-factory-with-its-branches"},{"title":"List repositories accessible to the app's git installations","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/apps/{appId}/git/repositories","href":"/api-reference/apps/list-repositories-accessible-to-the-apps-git-installations"},{"title":"Remove a GitHub organization from the factory","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/apps/{appId}/installations/{installationId}","href":"/api-reference/apps/remove-a-github-organization-from-the-factory"},{"title":"Get the factory's managed build settings","description":"Returns which kind of runner a build asks for by default, the machine size, the allowed hosts, and the name of each build variable with who saved it and when. A variable's value is never returned. A factory that changed nothing gets the defaults: self-hosted runners, the small machine, no extra hosts, no variables. Answers 404 unless the `managed_runners` flag is on for the organization.","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/apps/{appId}/managed-build-settings","href":"/api-reference/apps/get-the-factorys-managed-build-settings"},{"title":"Change the factory's managed build settings","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /v1/apps/{appId}/managed-build-settings","href":"/api-reference/apps/change-the-factorys-managed-build-settings"}]},{"group":"Artifacts","pages":[{"title":"Emit an artifact (evidence for a pull request)","description":"Accepts one artifact — a screenshot, recording, report, or log emitted as proof that a change works — plus its content-addressed blob. The artifact anchors to a pull request directly (prNumber), through the recorded session that produced it, or through git context resolved to a PR later; a request with no anchor at all is refused and nothing is stored. `kind` is inferred from the media type and provenance (session / ci / local) is derived from the submission path — neither can be supplied by the caller. A session binding must name a session that already synced for the app, with `turnIndex` within its recorded turns; note the binding proves the session exists, not that the bytes came from it. `ci` is advisory: it is honored only for a shared (non-actor) API key and downgrades to `local` otherwise. An XML file whose root is `testsuites` or `testsuite` is stored as kind `test` with its parsed tests; `tests` selects which of them bind to the criterion. A JUnit file that declares a DOCTYPE, malformed XML bound to a criterion, or a selected test the file lacks is refused with `unreadable_test_results`. `bytes` must equal the decoded blob length. `emittedAt` is display metadata; because it also starts the unmatched grace clock, the stored value is clamped to a bounded window ending at server receipt time. Retrying with the same clientArtifactId returns the already-stored artifact when the content matches and fails with 409 when it does not. `replaces` names the clientArtifactId of an earlier artifact this one corrects: on success that artifact is marked superseded in the same request, and every display surface hides it from then on (its bytes and deep link still work). `replacesTargets` names several at once (2-20 ids, no repeats) — one correction retires every listed target. REQUIRED together: when `replacesTargets` is present, `replaces` MUST also be present and equal `replacesTargets[0]` — a request with `replacesTargets` and no `replaces`, or a `replaces` that disagrees with the array's first element, is refused as malformed rather than guessed at, so a caller unaware of `replacesTargets` always sees exactly one target retired, never zero. Every named target is resolved by its own id and stamped in a single all-or-nothing operation: an unknown, cross-app, or already-superseded target refuses the WHOLE request, naming the offending id — nothing is created and nothing is stamped. The response carries `url`, the artifact's dashboard page, when the gateway has a dashboard origin configured. `blob` is optional. Leave it out when the factory already stores the bytes with this `sha256`: the artifact then shares them, and `bytes` must equal their length. When the factory does not store them, or no live artifact of the app claims them, the request is refused with 409 `blob_required` and nothing is stored; send it again with `blob`. `range` gives the part of a video the artifact proves, as `start` and `end` in seconds from the start of that video, with `start` 0 or more and `end` after `start`. Only a `video` artifact may carry a range. Retrying an id with another range fails with 409.","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/artifacts","href":"/api-reference/artifacts/emit-an-artifact-evidence-for-a-pull-request"}]},{"group":"Capabilities","pages":[{"title":"Get capabilities","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/capabilities","href":"/api-reference/capabilities/get-capabilities"}]},{"group":"Context","pages":[{"title":"List context changes","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/context/changes","href":"/api-reference/context/list-context-changes"},{"title":"Get the context a build receives","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/context/delivery","href":"/api-reference/context/get-the-context-a-build-receives"},{"title":"Get control plane","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/context/source","href":"/api-reference/context/get-control-plane"},{"title":"Read a factory's control plane","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/orgs/{orgName}/apps/{appId}/context-source","href":"/api-reference/context/read-a-factorys-control-plane"},{"title":"Designate a factory's control plane","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v1/orgs/{orgName}/apps/{appId}/context-source","href":"/api-reference/context/designate-a-factorys-control-plane"},{"title":"Revoke a factory's control plane","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/orgs/{orgName}/apps/{appId}/context-source","href":"/api-reference/context/revoke-a-factorys-control-plane"}]},{"group":"Criteria","pages":[{"title":"Record a work item's acceptance criteria","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/criteria","href":"/api-reference/criteria/record-a-work-items-acceptance-criteria"}]},{"group":"Emitted Results","pages":[{"title":"Emit a check result (pass/fail evidence for a work item)","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/emitted-results","href":"/api-reference/emitted-results/emit-a-check-result-passfail-evidence-for-a-work-item"},{"title":"Change a check's status","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/emitted-results/{emittedResultId}/status","href":"/api-reference/emitted-results/change-a-checks-status"}]},{"group":"Findings","pages":[{"title":"Record a batch of findings on a work item","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/findings","href":"/api-reference/findings/record-a-batch-of-findings-on-a-work-item"},{"title":"Findings and time lost per category","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/findings/summary","href":"/api-reference/findings/findings-and-time-lost-per-category"},{"title":"Rank a factory's problems","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/problems","href":"/api-reference/findings/rank-a-factorys-problems"},{"title":"One problem with its findings","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/problems/{problemId}","href":"/api-reference/findings/one-problem-with-its-findings"},{"title":"A work item's findings","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/work-items/{workItemId}/findings","href":"/api-reference/findings/a-work-items-findings"}]},{"group":"Hosts","pages":[{"title":"List the factory's runner hosts","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/hosts","href":"/api-reference/hosts/list-the-factorys-runner-hosts"},{"title":"Report a heartbeat from a runner host","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/hosts/heartbeat","href":"/api-reference/hosts/report-a-heartbeat-from-a-runner-host"},{"title":"Report a runner start that failed a check","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/hosts/startup-report","href":"/api-reference/hosts/report-a-runner-start-that-failed-a-check"}]},{"group":"Account","pages":[{"title":"List the factories the login token can use","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/me/factories","href":"/api-reference/account/list-the-factories-the-login-token-can-use"}]},{"group":"Metrics","pages":[{"title":"Get a cost/session/error breakdown by dimension","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/metrics/breakdown","href":"/api-reference/metrics/get-a-costsessionerror-breakdown-by-dimension"},{"title":"Compare metrics across two windows","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/metrics/compare","href":"/api-reference/metrics/compare-metrics-across-two-windows"},{"title":"Get per-model stats","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/metrics/models","href":"/api-reference/metrics/get-per-model-stats"},{"title":"Get fleet overview","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/metrics/overview","href":"/api-reference/metrics/get-fleet-overview"},{"title":"Get the daily sessions/cost/quality trend","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/metrics/trends","href":"/api-reference/metrics/get-the-daily-sessionscostquality-trend"}]},{"group":"Org Management","pages":[{"title":"List an org's audit log","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/orgs/{orgName}/audit-log","href":"/api-reference/org-management/list-an-orgs-audit-log"},{"title":"Export an org's audit log as CSV","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/orgs/{orgName}/audit-log/export","href":"/api-reference/org-management/export-an-orgs-audit-log-as-csv"},{"title":"Get one audit log entry","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/orgs/{orgName}/audit-log/{logId}","href":"/api-reference/org-management/get-one-audit-log-entry"},{"title":"List org members and pending invites","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/orgs/{orgName}/members","href":"/api-reference/org-management/list-org-members-and-pending-invites"},{"title":"Invite an org member","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/orgs/{orgName}/members/invites","href":"/api-reference/org-management/invite-an-org-member"},{"title":"Resend a pending invite","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/orgs/{orgName}/members/invites/{inviteId}/resend","href":"/api-reference/org-management/resend-a-pending-invite"},{"title":"Remove a member from the org","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/orgs/{orgName}/members/{userId}","href":"/api-reference/org-management/remove-a-member-from-the-org"},{"title":"Change a member's role","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /v1/orgs/{orgName}/members/{userId}","href":"/api-reference/org-management/change-a-members-role"},{"title":"List built-in org roles","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/orgs/{orgName}/roles","href":"/api-reference/org-management/list-built-in-org-roles"}]},{"group":"Pricing","pages":[{"title":"Get LLM pricing","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/pricing","href":"/api-reference/pricing/get-llm-pricing"}]},{"group":"PRs","pages":[{"title":"Get session→PR attribution merged with cost","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/prs/outcomes","href":"/api-reference/prs/get-session→pr-attribution-merged-with-cost"}]},{"group":"Repositories","pages":[{"title":"Report the GitHub App access builds need on each of the factory's repositories","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/repositories/access","href":"/api-reference/repositories/report-the-github-app-access-builds-need-on-each-of-the-factorys-repositories"}]},{"group":"Runner version","pages":[{"title":"Set the CLI version this gateway names to its runners","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v1/runner-version","href":"/api-reference/runner-version/set-the-cli-version-this-gateway-names-to-its-runners"}]},{"group":"Work Items","pages":[{"title":"Read a runner key's host binding","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/runner/host-key","href":"/api-reference/work-items/read-a-runner-keys-host-binding"},{"title":"List live work items","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/work-items","href":"/api-reference/work-items/list-live-work-items"},{"title":"Add an issue to Work","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/work-items","href":"/api-reference/work-items/add-an-issue-to-work"},{"title":"Request a host build an item","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/work-items/build","href":"/api-reference/work-items/request-a-host-build-an-item"},{"title":"Declare a session's pull request onto its work item","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/work-items/pull-requests","href":"/api-reference/work-items/declare-a-sessions-pull-request-onto-its-work-item"},{"title":"Report that a step has started on a work item","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/work-items/steps","href":"/api-reference/work-items/report-that-a-step-has-started-on-a-work-item"},{"title":"Link a session to a work item","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/work-items/{number}/sessions","href":"/api-reference/work-items/link-a-session-to-a-work-item"},{"title":"Read one work item","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/work-items/{workItemId}","href":"/api-reference/work-items/read-one-work-item"},{"title":"List a work item's artifacts","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/work-items/{workItemId}/artifacts","href":"/api-reference/work-items/list-a-work-items-artifacts"},{"title":"List checks recorded on a work item since a point","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/work-items/{workItemId}/changes","href":"/api-reference/work-items/list-checks-recorded-on-a-work-item-since-a-point"},{"title":"List the checks currently open on a work item","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/work-items/{workItemId}/checks","href":"/api-reference/work-items/list-the-checks-currently-open-on-a-work-item"},{"title":"Claim a work item","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/work-items/{workItemId}/claim","href":"/api-reference/work-items/claim-a-work-item"},{"title":"Get the factory's Anthropic API key for a claim a managed runner holds","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/work-items/{workItemId}/claim/anthropic-key","href":"/api-reference/work-items/get-the-factorys-anthropic-api-key-for-a-claim-a-managed-runner-holds"},{"title":"Get the factory's managed build settings for a claim a managed runner holds","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/work-items/{workItemId}/claim/build-settings","href":"/api-reference/work-items/get-the-factorys-managed-build-settings-for-a-claim-a-managed-runner-holds"},{"title":"Release a host's claim on a work item","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/work-items/{workItemId}/claim/release","href":"/api-reference/work-items/release-a-hosts-claim-on-a-work-item"},{"title":"Renew a host's claim on a work item","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/work-items/{workItemId}/claim/renew","href":"/api-reference/work-items/renew-a-hosts-claim-on-a-work-item"},{"title":"Stop a work item's host build","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/work-items/{workItemId}/claim/stop","href":"/api-reference/work-items/stop-a-work-items-host-build"},{"title":"Issue a GitHub token for a work item's repository or its control plane","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/work-items/{workItemId}/claim/tokens","href":"/api-reference/work-items/issue-a-github-token-for-a-work-items-repository-or-its-control-plane"},{"title":"Read a host attempt's runner log","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/work-items/{workItemId}/claims/{claimId}/log","href":"/api-reference/work-items/read-a-host-attempts-runner-log"},{"title":"Post a comment on a work item's general thread or a criterion thread","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/work-items/{workItemId}/comments","href":"/api-reference/work-items/post-a-comment-on-a-work-items-general-thread-or-a-criterion-thread"},{"title":"Get a work item's newest demo","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/work-items/{workItemId}/demo","href":"/api-reference/work-items/get-a-work-items-newest-demo"},{"title":"Send review notes on several criteria as one agent job","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/work-items/{workItemId}/notes","href":"/api-reference/work-items/send-review-notes-on-several-criteria-as-one-agent-job"},{"title":"The problems a work item covers","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/work-items/{workItemId}/problems","href":"/api-reference/work-items/the-problems-a-work-item-covers"},{"title":"Record the result of a fix for one covered problem","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v1/work-items/{workItemId}/problems/{problemId}/result","href":"/api-reference/work-items/record-the-result-of-a-fix-for-one-covered-problem"},{"title":"Open or edit a work item's pull request","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v1/work-items/{workItemId}/pull-request","href":"/api-reference/work-items/open-or-edit-a-work-items-pull-request"},{"title":"Withdraw a work item's declaration of a pull request","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/work-items/{workItemId}/pull-requests/{repository}/{prNumber}","href":"/api-reference/work-items/withdraw-a-work-items-declaration-of-a-pull-request"},{"title":"Remove an addition from Work","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/work-items/{workItemId}/remove","href":"/api-reference/work-items/remove-an-addition-from-work"},{"title":"A work item's general thread and its criterion threads","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/work-items/{workItemId}/threads","href":"/api-reference/work-items/a-work-items-general-thread-and-its-criterion-threads"}]},{"group":"Sessions","pages":[{"title":"List agent sessions","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/sessions","href":"/api-reference/sessions/list-agent-sessions"},{"title":"Get agent session detail","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/sessions/{traceId}","href":"/api-reference/sessions/get-agent-session-detail"}]},{"group":"Specs","pages":[{"title":"File a spec as an issue","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/specs","href":"/api-reference/specs/file-a-spec-as-an-issue"},{"title":"Search issues a spec might duplicate","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/specs/search","href":"/api-reference/specs/search-issues-a-spec-might-duplicate"},{"title":"Where a spec would be filed","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/specs/target","href":"/api-reference/specs/where-a-spec-would-be-filed"},{"title":"Replace a spec's body","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /v1/specs/{key}","href":"/api-reference/specs/replace-a-specs-body"}]}]}]}]},"title":"Change the factory's managed build settings - OuterLayer","buildId":"dpl_G8u2B2Ji9qJYF9umedjv293TxycS","deploymentId":"dpl_G8u2B2Ji9qJYF9umedjv293TxycS","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-S3ptrr-V.js","utils-CUxEJy9u.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DavhVrxy.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B1sOUY6E.js","snippetPresets-C-RLYOrF.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-Duz18EdI.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-DPsbCc6D.js","shallow-B1dlhlOw.js","getApiPlaygroundDisplay-DvOu-BhE.js","CodeSnippet-By8wd64X.js","CodeSnippets-BxVv6TjI.js","Page-BGh0lBck.js","getPastedJson-DOAt9xJn.js","icon-BYg-qtQ2.js","MethodPill-Dtah8ZSz.js","DuplicateIcon-guWfDmh1.js","createIcon-pTGhj_hk.js","DynamicMarkdown-DpsHMHVL.js","SectionHeading-BbutQCjq.js","axios-vUo_bRtp.js","Markdown-DZ-stgDu.js","clsx-Dfme4k4V.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CPNs0ebX.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-3JVAA-i3.js"]}