Updates an environment by ID. The project is derived from the entity. Returns the bare updated row (no data envelope), matching the dashboard settings UI it serves.
Concurrency group and policy scheduled runs are triggered with. Omit to keep the current value; null to fall back to the project's legacy concurrency setting.
Reporter configuration for the environment. Slack channels (slack_channels or slack_channel_ids) must be active registered channels of the project's organization (GET /api/v2/slack/channels); they are stored as registered ids.
{"docsConfig":{"theme":"sequoia","$schema":"https://mintlify.com/docs.json","name":"Empirical","colors":{"primary":"#000000","light":"#D4D4D4","dark":"#000000"},"logo":{"light":"https://mintcdn.com/empirical/6QELjdPJQ3LR0pOP/logo/wordmark-light.svg?fit=max\u0026auto=format\u0026n=6QELjdPJQ3LR0pOP\u0026q=85\u0026s=70362d47336d0836bb176c00f9359062","dark":"https://mintcdn.com/empirical/6QELjdPJQ3LR0pOP/logo/wordmark-dark.svg?fit=max\u0026auto=format\u0026n=6QELjdPJQ3LR0pOP\u0026q=85\u0026s=76c038abc85166ca88f23025b50a54f5"},"favicon":"https://mintcdn.com/empirical/WYHhMc-3Yp_VenHe/logo/favicon.svg?fit=max\u0026auto=format\u0026n=WYHhMc-3Yp_VenHe\u0026q=85\u0026s=fbcfc3b86055b3f672438c9f79378fc2","api":{"playground":{}},"appearance":{"default":"system","strict":false},"background":{"color":{"light":"#FFFFFF","dark":"#161616"}},"navbar":{"links":[{"href":"https://empirical.run/home","label":"Home"}],"primary":{"type":"button","label":"Dashboard","href":"https://empirical.run/login"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"empirical","hasAudioNarration":false,"actualSubdomain":"empirical","customDomains":["empirical.run"],"gitSource":{"type":"github","owner":"empirical-run","repo":"test-generator","deployBranch":"main","contentDirectory":"external-docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae7531ec01b8679a4af9f2e","collectionId":"3e6efa0a-91bb-4c74-848f-97a6c5de706a","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae7531ec01b8679a4af9f2e"},"feedback":{"thumbs":true},"entitlements":{},"buildId":"6ae7531ec01b8679a4af9f2e","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"API Reference","count":50},{"language":"default","tag":"Guides","count":25},{"language":"default","tag":"Failure Groups","count":10},{"language":"default","tag":"Features","count":9},{"language":"default","tag":"Test Runs","count":8},{"language":"default","tag":"Snoozes","count":6},{"language":"default","tag":"Getting Started","count":5},{"language":"default","tag":"Analytics","count":5},{"language":"default","tag":"Environments","count":5},{"language":"default","tag":"KV","count":5}]},"assistantConfig":{},"basePath":"/docs","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"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":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.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(/docs/_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(/docs/_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(/docs/_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(/docs/_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(/docs/_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(/docs/_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: 700;\n font-display: swap;\n src: url(/docs/_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: 700;\n font-display: swap;\n src: url(/docs/_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: 700;\n font-display: swap;\n src: url(/docs/_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: 700;\n font-display: swap;\n src: url(/docs/_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: 700;\n font-display: swap;\n src: url(/docs/_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: 700;\n font-display: swap;\n src: url(/docs/_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*{border-radius:0!important}::selection{background:#5f5;color:#000}.dark ::selection{background:oklch(.62 .16 328);color:#161616}li[data-active-nav-item=true]>a{background:#000;color:#fff!important;text-shadow:none}li[data-active-nav-item=true]>a *{color:inherit!important}li[data-active-nav-item=true]>a svg{background-color:currentColor!important}.dark li[data-active-nav-item=true]>a{background:#d4d4d4;color:#161616!important}code,kbd,pre{font-family:\"JetBrains Mono\",ui-monospace,monospace!important}.dark #topbar-cta-button a>span{background:#d4d4d4}.dark #topbar-cta-button a :is(span, svg){color:#161616}.dark #navbar div:has(>div>.nav-tabs),.dark #search-bar-entry{background:#1e1e1e}.dark #navbar div:has(>div>.nav-tabs){border-top:1px solid #2f2f2f}"}],"page":{"pagePath":"api-reference/environments/update-an-environment","slug":"/api-reference/environments/update-an-environment","pageMetadata":{"title":"Update an environment","description":"Updates an environment by ID. The project is derived from the entity. Returns the bare updated row (no `data` envelope), matching the dashboard settings UI it serves.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json patch /api/environments/{id}","href":"/api-reference/environments/update-an-environment","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: [\"Updates an environment by ID. The project is derived from the entity. Returns the bare updated row (no \", _jsx(_components.code, {\n children: \"data\"\n }), \" envelope), matching the dashboard settings UI it serves.\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Update an environment","description":"Updates an environment by ID. The project is derived from the entity. Returns the bare updated row (no `data` envelope), matching the dashboard settings UI it serves.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json patch /api/environments/{id}","href":"/api-reference/environments/update-an-environment","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Environments"],"operationId":"updateEnvironment","summary":"Update an environment","description":"Updates an environment by ID. The project is derived from the entity. Returns the bare updated row (no `data` envelope), matching the dashboard settings UI it serves.","parameters":["6fb5e3a6-5d08-4d1a-a747-be04f5cb4ac4"],"requestBody":"b37d5b8b-46e3-4126-a5fd-a20fa444d484","responses":{"200":"b832cea1-d18b-4200-b5e8-5c4c9aa03762","400":"21c16410-99f8-46ec-94ec-46c1ceb4642a","403":"ef5b83f0-ebac-42d3-bb3e-d25442b678ab","404":"7033ff73-673f-43a9-9d19-b9046f1e6c1b"},"method":"patch","type":"path","servers":["7f1173af-53ac-4d7c-be61-79db501420f9"],"security":["f04d1695-8406-4e74-b1ce-21eddcd099e5"],"path":"/api/environments/{id}","baseUrlOptions":["https://api.empirical.run"],"title":"Update an environment","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"6fb5e3a6-5d08-4d1a-a747-be04f5cb4ac4":{"schema":{"type":"integer","minimum":1,"description":"Environment ID.","isRequired":true,"uniqueKey":"","typeLabel":"integer"},"required":true,"description":"Environment ID.","name":"id","in":"path"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Display name.","uniqueKey":"name","typeLabel":"string"},"slug":{"type":"string","description":"URL-friendly identifier.","uniqueKey":"slug","typeLabel":"string"},"is_disabled":{"type":"boolean","description":"Whether the environment is disabled.","uniqueKey":"is_disabled","typeLabel":"boolean"},"playwright_projects_match":{"type":"array","items":{"type":"string","uniqueKey":"playwright_projects_match.items.[INDEX]","typeLabel":"string"},"description":"Playwright project names to include. Items must not start with '!'.","uniqueKey":"playwright_projects_match","typeLabel":"string[]"},"playwright_projects_ignore":{"type":"array","items":{"type":"string","uniqueKey":"playwright_projects_ignore.items.[INDEX]","typeLabel":"string"},"description":"Playwright project names to exclude.","uniqueKey":"playwright_projects_ignore","typeLabel":"string[]"},"scheduled_trigger":{"oneOf":[{"type":"string","description":"Cron expression for scheduled triggers, or null.","uniqueKey":"scheduled_trigger.oneOf.0","typeLabel":"string"},{"type":"null","description":"Cron expression for scheduled triggers, or null.","uniqueKey":"scheduled_trigger.oneOf.1","typeLabel":"null"}],"uniqueKey":"scheduled_trigger","typeLabel":"string | null"},"scheduled_concurrency":{"oneOf":[{"type":"object","properties":{"group":{"type":"string","minLength":1,"maxLength":512,"description":"Free-form group key, scoped to the project.","isRequired":true,"uniqueKey":"scheduled_concurrency.oneOf.0.group","typeLabel":"string"},"on_conflict":{"type":"string","enum":["cancel","wait"],"description":"`cancel` cancels the group's active run and starts; `wait` queues behind it.","isRequired":true,"uniqueKey":"scheduled_concurrency.oneOf.0.on_conflict","typeLabel":"enum\u003cstring>"}},"required":["group","on_conflict"],"description":"Concurrency group and policy scheduled runs are triggered with. Omit to keep the current value; null to fall back to the project's legacy concurrency setting.","uniqueKey":"scheduled_concurrency.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"group":{"type":"string","minLength":1,"maxLength":512,"description":"Free-form group key, scoped to the project."},"on_conflict":{"type":"string","enum":["cancel","wait"],"description":"`cancel` cancels the group's active run and starts; `wait` queues behind it."}},"required":["group","on_conflict"],"description":"Concurrency group and policy scheduled runs are triggered with. Omit to keep the current value; null to fall back to the project's legacy concurrency setting.","uniqueKey":"scheduled_concurrency.oneOf.1","typeLabel":"null"}],"uniqueKey":"scheduled_concurrency","typeLabel":"object | null"},"reporter_config":{"type":"object","properties":{"schema_version":{"type":"number","enum":[1],"description":"Reporter config schema version. Always `1`.","isRequired":true,"uniqueKey":"reporter_config.schema_version","typeLabel":"enum\u003cnumber>"},"reporters":{"type":"array","items":{"oneOf":[{"type":"object","required":["reporter_type"],"properties":{"reporter_type":{"type":"string","enum":["slack_run_status"],"description":"Posts run status updates to Slack channels.","isRequired":true,"uniqueKey":"reporter_config.reporters.items.[INDEX].oneOf.0.reporter_type","typeLabel":"enum\u003cstring>"},"slack_channels":{"type":"array","items":{"type":"string","minLength":1,"uniqueKey":"reporter_config.reporters.items.[INDEX].oneOf.0.slack_channels.items.[INDEX]","typeLabel":"string"},"minItems":1,"description":"Slack channel ids (`C…`), as shown in Slack's channel details. Shared (Slack Connect) channels have the same id in every workspace. Each must be a registered, unarchived channel of the project's organization.","uniqueKey":"reporter_config.reporters.items.[INDEX].oneOf.0.slack_channels","typeLabel":"string[]"},"slack_channel_ids":{"type":"array","items":{"type":"integer","minimum":1,"uniqueKey":"reporter_config.reporters.items.[INDEX].oneOf.0.slack_channel_ids.items.[INDEX]","typeLabel":"integer"},"minItems":1,"description":"Registered Slack channel ids from `GET /api/v2/slack/channels` (the numeric `id`). Can be combined with `slack_channels`.","uniqueKey":"reporter_config.reporters.items.[INDEX].oneOf.0.slack_channel_ids","typeLabel":"integer[]"}},"additionalProperties":false,"uniqueKey":"reporter_config.reporters.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["reporter_type"],"properties":{"reporter_type":{"type":"string","enum":["github_check"],"description":"Posts a GitHub check run on the build commit. Needs `build` with a repository the GitHub Reporter app is installed on.","isRequired":true,"uniqueKey":"reporter_config.reporters.items.[INDEX].oneOf.1.reporter_type","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"reporter_config.reporters.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["reporter_type"],"properties":{"reporter_type":{"type":"string","enum":["github_pr_comment"],"description":"Posts (and updates) a comment on the pull request for the build branch. Needs `build` with a repository the GitHub Reporter app is installed on.","isRequired":true,"uniqueKey":"reporter_config.reporters.items.[INDEX].oneOf.2.reporter_type","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"reporter_config.reporters.items.[INDEX].oneOf.2","typeLabel":"object"},{"type":"object","required":["reporter_type"],"properties":{"reporter_type":{"type":"string","enum":["github_linked_changes"],"description":"Tracks the test branch named after the head branch of the app pull request the run was triggered for (`trigger.event` `pull_request`), and keeps the `Empirical linked test changes` check on that pull request up to date: it passes when the test branch has nothing left to merge and fails while it has unmerged commits. The pull request's latest run decides whether it is tracked. Does nothing for runs not triggered by a pull request. Needs `build` with a repository the GitHub Reporter app is installed on.","isRequired":true,"uniqueKey":"reporter_config.reporters.items.[INDEX].oneOf.3.reporter_type","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"reporter_config.reporters.items.[INDEX].oneOf.3","typeLabel":"object"},{"type":"object","required":["reporter_type"],"properties":{"reporter_type":{"type":"string","enum":["email_run_report"],"description":"Emails a report when the run ends to every user whose email domain is one of the organization's email domains.","isRequired":true,"uniqueKey":"reporter_config.reporters.items.[INDEX].oneOf.4.reporter_type","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"reporter_config.reporters.items.[INDEX].oneOf.4","typeLabel":"object"}],"uniqueKey":"reporter_config.reporters.items.[INDEX]","typeLabel":"object"},"description":"Reporters, at most one per `reporter_type`. Replaces the stored list on write; an empty array disables them.","isRequired":true,"uniqueKey":"reporter_config.reporters","typeLabel":"object[]"}},"required":["schema_version","reporters"],"additionalProperties":false,"description":"Reporter configuration for the environment. Slack channels (`slack_channels` or `slack_channel_ids`) must be active registered channels of the project's organization (GET /api/v2/slack/channels); they are stored as registered ids.","uniqueKey":"reporter_config","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"name":"\u003cstring>","slug":"\u003cstring>","is_disabled":true,"playwright_projects_match":["\u003cstring>"],"playwright_projects_ignore":["\u003cstring>"],"scheduled_trigger":"\u003cstring>","scheduled_concurrency":{"group":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"b832cea1-d18b-4200-b5e8-5c4c9aa03762":{"description":"The updated environment row (no `data` envelope).","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"number","description":"Unique identifier.","isRequired":true,"uniqueKey":"id","typeLabel":"number"},"project_id":{"type":"number","description":"Project identifier.","isRequired":true,"uniqueKey":"project_id","typeLabel":"number"},"slug":{"type":"string","description":"URL-friendly identifier.","isRequired":true,"uniqueKey":"slug","typeLabel":"string"},"name":{"type":"string","description":"Display name.","isRequired":true,"uniqueKey":"name","typeLabel":"string"},"playwright_projects_match":{"type":"array","items":{"type":"string","uniqueKey":"playwright_projects_match.items.[INDEX]","typeLabel":"string"},"description":"Playwright project names to match.","isRequired":true,"uniqueKey":"playwright_projects_match","typeLabel":"string[]"},"playwright_projects_ignore":{"type":"array","items":{"type":"string","uniqueKey":"playwright_projects_ignore.items.[INDEX]","typeLabel":"string"},"description":"Playwright project names to ignore.","isRequired":true,"uniqueKey":"playwright_projects_ignore","typeLabel":"string[]"},"is_disabled":{"oneOf":[{"type":"boolean","description":"Whether the environment is disabled.","isRequired":true,"uniqueKey":"is_disabled.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Whether the environment is disabled.","isRequired":true,"uniqueKey":"is_disabled.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"is_disabled","typeLabel":"boolean | null"},"env_files":{"type":"array","items":{"type":"string","uniqueKey":"env_files.items.[INDEX]","typeLabel":"string"},"description":"Environment file paths.","isRequired":true,"uniqueKey":"env_files","typeLabel":"string[]"},"scheduled_trigger":{"oneOf":[{"type":"string","description":"Cron expression for scheduled triggers.","isRequired":true,"uniqueKey":"scheduled_trigger.oneOf.0","typeLabel":"string"},{"type":"null","description":"Cron expression for scheduled triggers.","isRequired":true,"uniqueKey":"scheduled_trigger.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"scheduled_trigger","typeLabel":"string | null"},"scheduled_concurrency":{"oneOf":[{"type":"object","properties":{"group":{"type":"string","description":"Concurrency group key.","isRequired":true,"uniqueKey":"scheduled_concurrency.oneOf.0.group","typeLabel":"string"},"on_conflict":{"type":"string","enum":["cancel","wait"],"description":"Policy toward an active run in the group.","isRequired":true,"uniqueKey":"scheduled_concurrency.oneOf.0.on_conflict","typeLabel":"enum\u003cstring>"}},"required":["group","on_conflict"],"description":"Concurrency group and policy scheduled runs are triggered with; null uses the project's legacy concurrency setting.","isRequired":true,"uniqueKey":"scheduled_concurrency.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"group":{"type":"string","description":"Concurrency group key."},"on_conflict":{"type":"string","enum":["cancel","wait"],"description":"Policy toward an active run in the group."}},"required":["group","on_conflict"],"description":"Concurrency group and policy scheduled runs are triggered with; null uses the project's legacy concurrency setting.","isRequired":true,"uniqueKey":"scheduled_concurrency.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"scheduled_concurrency","typeLabel":"object | null"},"reporter_config":{"type":"object","properties":{"schema_version":{"type":"number","enum":[1],"description":"Reporter config schema version. Always `1`.","isRequired":true,"uniqueKey":"reporter_config.schema_version","typeLabel":"enum\u003cnumber>"},"reporters":{"type":"array","items":{"oneOf":[{"type":"object","required":["reporter_type","slack_channel_ids"],"properties":{"reporter_type":{"type":"string","enum":["slack_run_status"],"description":"Posts run status updates to Slack channels.","isRequired":true,"uniqueKey":"reporter_config.reporters.items.[INDEX].oneOf.0.reporter_type","typeLabel":"enum\u003cstring>"},"slack_channel_ids":{"type":"array","items":{"type":"integer","minimum":1,"uniqueKey":"reporter_config.reporters.items.[INDEX].oneOf.0.slack_channel_ids.items.[INDEX]","typeLabel":"integer"},"minItems":1,"description":"Registered Slack channel ids from `GET /api/v2/slack/channels` (the numeric `id`, not the Slack `C…` channel id). Must belong to the project's organization and not be archived. Deduplicated and sorted on save.","isRequired":true,"uniqueKey":"reporter_config.reporters.items.[INDEX].oneOf.0.slack_channel_ids","typeLabel":"integer[]"}},"additionalProperties":false,"uniqueKey":"reporter_config.reporters.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["reporter_type"],"properties":{"reporter_type":{"type":"string","enum":["github_check"],"description":"Posts a GitHub check run on the build commit. Needs `build` with a repository the GitHub Reporter app is installed on.","isRequired":true,"uniqueKey":"reporter_config.reporters.items.[INDEX].oneOf.1.reporter_type","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"reporter_config.reporters.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["reporter_type"],"properties":{"reporter_type":{"type":"string","enum":["github_pr_comment"],"description":"Posts (and updates) a comment on the pull request for the build branch. Needs `build` with a repository the GitHub Reporter app is installed on.","isRequired":true,"uniqueKey":"reporter_config.reporters.items.[INDEX].oneOf.2.reporter_type","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"reporter_config.reporters.items.[INDEX].oneOf.2","typeLabel":"object"},{"type":"object","required":["reporter_type"],"properties":{"reporter_type":{"type":"string","enum":["github_linked_changes"],"description":"Tracks the test branch named after the head branch of the app pull request the run was triggered for (`trigger.event` `pull_request`), and keeps the `Empirical linked test changes` check on that pull request up to date: it passes when the test branch has nothing left to merge and fails while it has unmerged commits. The pull request's latest run decides whether it is tracked. Does nothing for runs not triggered by a pull request. Needs `build` with a repository the GitHub Reporter app is installed on.","isRequired":true,"uniqueKey":"reporter_config.reporters.items.[INDEX].oneOf.3.reporter_type","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"reporter_config.reporters.items.[INDEX].oneOf.3","typeLabel":"object"},{"type":"object","required":["reporter_type"],"properties":{"reporter_type":{"type":"string","enum":["email_run_report"],"description":"Emails a report when the run ends to every user whose email domain is one of the organization's email domains.","isRequired":true,"uniqueKey":"reporter_config.reporters.items.[INDEX].oneOf.4.reporter_type","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"reporter_config.reporters.items.[INDEX].oneOf.4","typeLabel":"object"}],"uniqueKey":"reporter_config.reporters.items.[INDEX]","typeLabel":"object"},"description":"Reporters, at most one per `reporter_type`. Replaces the stored list on write; an empty array disables them.","isRequired":true,"uniqueKey":"reporter_config.reporters","typeLabel":"object[]"}},"required":["schema_version","reporters"],"additionalProperties":false,"description":"Reporter configuration for runs in this environment.","isRequired":true,"uniqueKey":"reporter_config","typeLabel":"object"},"created_at":{"oneOf":[{"type":"string","description":"ISO 8601 timestamp.","isRequired":true,"uniqueKey":"created_at.oneOf.0","typeLabel":"string"},{"type":"null","description":"ISO 8601 timestamp.","isRequired":true,"uniqueKey":"created_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"created_at","typeLabel":"string | null"},"updated_at":{"oneOf":[{"type":"string","description":"ISO 8601 timestamp.","isRequired":true,"uniqueKey":"updated_at.oneOf.0","typeLabel":"string"},{"type":"null","description":"ISO 8601 timestamp.","isRequired":true,"uniqueKey":"updated_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"updated_at","typeLabel":"string | null"}},"required":["id","project_id","slug","name","playwright_projects_match","playwright_projects_ignore","is_disabled","env_files","scheduled_trigger","scheduled_concurrency","reporter_config","created_at","updated_at"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"id":123,"project_id":123,"slug":"\u003cstring>","name":"\u003cstring>","playwright_projects_match":["\u003cstring>"],"playwright_projects_ignore":["\u003cstring>"],"is_disabled":true,"env_files":["\u003cstring>"],"scheduled_trigger":"\u003cstring>","scheduled_concurrency":{"group":"\u003cstring>","on_conflict":"cancel"},"reporter_config":{"schema_version":1,"reporters":[{"reporter_type":"slack_run_status","slack_channel_ids":[2]}]},"created_at":"\u003cstring>","updated_at":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"21c16410-99f8-46ec-94ec-46c1ceb4642a":{"description":"Invalid request, the slug already exists, or reporter_config names an unknown Slack channel.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"oneOf":[{"type":"string","description":"Error, returned as a bare string or a `{ message }` object (legacy shape).","isRequired":true,"uniqueKey":"error.oneOf.0","typeLabel":"string"},{"type":"object","description":"Error, returned as a bare string or a `{ message }` object (legacy shape).","required":["message"],"properties":{"message":{"type":"string","description":"Error message.","isRequired":true,"uniqueKey":"error.oneOf.1.message","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error.oneOf.1","typeLabel":"object"}],"isRequired":true,"uniqueKey":"error","typeLabel":"string | object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"ef5b83f0-ebac-42d3-bb3e-d25442b678ab":{"description":"Environment is in an environments.yaml-managed project.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"oneOf":[{"type":"string","description":"Error, returned as a bare string or a `{ message }` object (legacy shape).","isRequired":true,"uniqueKey":"error.oneOf.0","typeLabel":"string"},{"type":"object","description":"Error, returned as a bare string or a `{ message }` object (legacy shape).","required":["message"],"properties":{"message":{"type":"string","description":"Error message.","isRequired":true,"uniqueKey":"error.oneOf.1.message","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error.oneOf.1","typeLabel":"object"}],"isRequired":true,"uniqueKey":"error","typeLabel":"string | object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"7033ff73-673f-43a9-9d19-b9046f1e6c1b":{"description":"Environment not found or not accessible.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"oneOf":[{"type":"string","description":"Error, returned as a bare string or a `{ message }` object (legacy shape).","isRequired":true,"uniqueKey":"error.oneOf.0","typeLabel":"string"},{"type":"object","description":"Error, returned as a bare string or a `{ message }` object (legacy shape).","required":["message"],"properties":{"message":{"type":"string","description":"Error message.","isRequired":true,"uniqueKey":"error.oneOf.1.message","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error.oneOf.1","typeLabel":"object"}],"isRequired":true,"uniqueKey":"error","typeLabel":"string | object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"f04d1695-8406-4e74-b1ce-21eddcd099e5":{"Bearer":{"type":"http","scheme":"bearer","scopes":[],"schemeName":"Bearer"}}},"servers":{"7f1173af-53ac-4d7c-be61-79db501420f9":{"url":"https://api.empirical.run"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","scopes":[],"schemeName":"Bearer"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"Bearer","name":"Authorization"}],"title":"Bearer"}]},"originalFileLocation":"api-reference/openapi.generated.json"},"subdomain":"empirical","siteName":"Empirical","title":"Update an environment - Empirical","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-31T08:27:11.118Z","originalFileLocation":"api-reference/environments/update-an-environment.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=\"Updates an environment by ID. The project is derived from the entity. Returns the bare updated row (no data envelope), matching the dashboard settings UI it serves.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Empirical\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/empirical/d75TlCq_n_9QZcB_/_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=\"/docs/mintlify-assets/_mintlify/favicons/empirical/d75TlCq_n_9QZcB_/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/empirical/d75TlCq_n_9QZcB_/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/empirical/d75TlCq_n_9QZcB_/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/empirical/d75TlCq_n_9QZcB_/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/empirical/d75TlCq_n_9QZcB_/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/empirical/d75TlCq_n_9QZcB_/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/empirical/d75TlCq_n_9QZcB_/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/empirical/d75TlCq_n_9QZcB_/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Update an environment - Empirical\">\u003cmeta data-mint-head property=\"og:description\" content=\"Updates an environment by ID. The project is derived from the entity. Returns the bare updated row (no data envelope), matching the dashboard settings UI it serves.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Empirical\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://empirical.run/docs/api-reference/environments/update-an-environment\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://empirical.mintlify.app/_mintlify/api/og/v2?division=Environments\u0026amp;title=Update+an+environment\u0026amp;description=Updates+an+environment+by+ID.+The+project+is+derived+from+the+entity.+Returns+the+bare+updated+row+%28no+%60data%60+envelope%29%2C+matching+the+dashboard+settings+UI+it+s\u0026amp;theme=f70f53f39fe8b87f817734d5\u0026amp;signature=e032dd90f2c032eaf72438c49d074a5968ff029f4d9e79735f48c4f1a57b7867\">\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=\"Update an environment - Empirical\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Updates an environment by ID. The project is derived from the entity. Returns the bare updated row (no data envelope), matching the dashboard settings UI it serves.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://empirical.mintlify.app/_mintlify/api/og/v2?division=Environments\u0026amp;title=Update+an+environment\u0026amp;description=Updates+an+environment+by+ID.+The+project+is+derived+from+the+entity.+Returns+the+bare+updated+row+%28no+%60data%60+envelope%29%2C+matching+the+dashboard+settings+UI+it+s\u0026amp;theme=f70f53f39fe8b87f817734d5\u0026amp;signature=e032dd90f2c032eaf72438c49d074a5968ff029f4d9e79735f48c4f1a57b7867\">\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=\"/docs/mintlify-assets/_mintlify/favicons/empirical/d75TlCq_n_9QZcB_/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Empirical\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#000000\">\u003clink data-mint-head rel=\"canonical\" href=\"https://empirical.run/docs/api-reference/environments/update-an-environment\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/api-reference/environments/update-an-environment.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://empirical.run/#organization\",\"name\":\"Empirical\",\"url\":\"https://empirical.run\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/empirical/6QELjdPJQ3LR0pOP/logo/wordmark-light.svg?fit=max\u0026auto=format\u0026n=6QELjdPJQ3LR0pOP\u0026q=85\u0026s=70362d47336d0836bb176c00f9359062\"}},{\"@type\":\"WebSite\",\"@id\":\"https://empirical.run/docs#website\",\"name\":\"Empirical\",\"url\":\"https://empirical.run/docs\",\"publisher\":{\"@id\":\"https://empirical.run/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://empirical.run/docs/api-reference/environments/update-an-environment#webpage\",\"url\":\"https://empirical.run/docs/api-reference/environments/update-an-environment\",\"name\":\"Update an environment\",\"description\":\"Updates an environment by ID. The project is derived from the entity. Returns the bare updated row (no data envelope), matching the dashboard settings UI it serves.\",\"dateModified\":\"2026-10-31T08:27:11.118Z\",\"isPartOf\":{\"@id\":\"https://empirical.run/docs#website\"},\"breadcrumb\":{\"@id\":\"https://empirical.run/docs/api-reference/environments/update-an-environment#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://empirical.run/docs/api-reference/environments/update-an-environment#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Environments\",\"item\":\"https://empirical.run/docs/api-reference/environments/create-an-environment\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Update an environment\",\"item\":\"https://empirical.run/docs/api-reference/environments/update-an-environment\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://empirical.run/docs/api-reference/environments/update-an-environment#apireference\",\"headline\":\"Update an environment\",\"name\":\"Update an environment\",\"description\":\"Updates an environment by ID. The project is derived from the entity. Returns the bare updated row (no data envelope), matching the dashboard settings UI it serves.\",\"url\":\"https://empirical.run/docs/api-reference/environments/update-an-environment\",\"mainEntityOfPage\":{\"@id\":\"https://empirical.run/docs/api-reference/environments/update-an-environment#webpage\"},\"dateModified\":\"2026-10-31T08:27:11.118Z\",\"publisher\":{\"@id\":\"https://empirical.run/#organization\"},\"isPartOf\":{\"@id\":\"https://empirical.run/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Empirical\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Empirical","nav":{"global":null,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":""}]},{"tab":"API Reference","groups":[{"group":"Get Started","pages":[{"title":"Introduction","href":"/api-reference/introduction"}]},{"group":"Test Runs","pages":[{"title":"List test runs","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json get /api/test-runs","href":"/api-reference/test-runs/list-test-runs"},{"title":"Trigger a test run","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json put /api/test-runs","href":"/api-reference/test-runs/trigger-a-test-run"},{"title":"Get a test run","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json get /api/test-runs/{id}","href":"/api-reference/test-runs/get-a-test-run"},{"title":"List test run artifacts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json get /api/test-runs/{id}/artifacts","href":"/api-reference/test-runs/list-test-run-artifacts"},{"title":"Cancel a test run","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json post /api/test-runs/{id}/cancel","href":"/api-reference/test-runs/cancel-a-test-run"},{"title":"Re-run a test run","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json post /api/test-runs/{id}/re-run","href":"/api-reference/test-runs/re-run-a-test-run"},{"title":"Skip a test run","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json post /api/v1/test-runs/skip","href":"/api-reference/test-runs/skip-a-test-run"},{"title":"Get test run metadata","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json get /api/v2/test-runs/{id}","href":"/api-reference/test-runs/get-test-run-metadata"}]},{"group":"Test Cases","pages":[{"title":"List test cases","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json get /api/v2/test-cases","href":"/api-reference/test-cases/list-test-cases"},{"title":"Get a test case","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json get /api/v2/test-cases/{id}","href":"/api-reference/test-cases/get-a-test-case"},{"title":"Update test case tags","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json patch /api/v2/test-cases/{id}","href":"/api-reference/test-cases/update-test-case-tags"},{"title":"List test case tags","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json get /api/v2/test-cases/tags","href":"/api-reference/test-cases/list-test-case-tags"}]},{"group":"Environments","pages":[{"title":"Create an environment","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json post /api/environments","href":"/api-reference/environments/create-an-environment"},{"title":"Delete an environment","description":"Deletes an environment by ID and prunes environment-specific subscriptions. The project is derived from the entity.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json delete /api/environments/{id}","href":"/api-reference/environments/delete-an-environment"},{"title":"Update an environment","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json patch /api/environments/{id}","href":"/api-reference/environments/update-an-environment"},{"title":"List environments","description":"Returns the scoped project's environments, optionally filtered by slug and disabled state. The run worker uses this to resolve env vars by slug.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json get /api/environments/list","href":"/api-reference/environments/list-environments"},{"title":"Sync environments from YAML","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json post /api/environments/sync","href":"/api-reference/environments/sync-environments-from-yaml"}]},{"group":"Snoozes","pages":[{"title":"List snoozes","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json get /api/snoozes","href":"/api-reference/snoozes/list-snoozes"},{"title":"Create a snooze","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json post /api/snoozes","href":"/api-reference/snoozes/create-a-snooze"},{"title":"Get a snooze","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json get /api/snoozes/{id}","href":"/api-reference/snoozes/get-a-snooze"},{"title":"Delete a snooze","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json delete /api/snoozes/{id}","href":"/api-reference/snoozes/delete-a-snooze"},{"title":"Update a snooze","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json patch /api/snoozes/{id}","href":"/api-reference/snoozes/update-a-snooze"},{"title":"Add tests to a snooze","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json post /api/snoozes/{id}/add-test-cases","href":"/api-reference/snoozes/add-tests-to-a-snooze"}]},{"group":"KV","pages":[{"title":"List KV entries","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json get /api/kv","href":"/api-reference/kv/list-kv-entries"},{"title":"Get a KV entry","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json get /api/kv/{key}","href":"/api-reference/kv/get-a-kv-entry"},{"title":"Write a KV entry","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json put /api/kv/{key}","href":"/api-reference/kv/write-a-kv-entry"},{"title":"Delete a KV entry","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json delete /api/kv/{key}","href":"/api-reference/kv/delete-a-kv-entry"},{"title":"Refresh a KV entry's TTL","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json patch /api/kv/{key}","href":"/api-reference/kv/refresh-a-kv-entrys-ttl"}]},{"group":"Analytics","pages":[{"title":"Test-case execution history (batch)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json post /api/v2/analytics/test-case-history/batch","href":"/api-reference/analytics/test-case-execution-history-batch"},{"title":"Last passing run per environment","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json post /api/v2/analytics/test-case-last-pass-per-env","href":"/api-reference/analytics/last-passing-run-per-environment"},{"title":"Test-case analytics","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json get /api/v2/analytics/test-cases","href":"/api-reference/analytics/test-case-analytics"},{"title":"Test-count analytics","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json get /api/v2/analytics/test-count","href":"/api-reference/analytics/test-count-analytics"},{"title":"Test-run analytics","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json get /api/v2/analytics/test-runs","href":"/api-reference/analytics/test-run-analytics"}]},{"group":"Badges","pages":[{"title":"Get an environment status badge","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json get /api/badges/projects/{project_slug}/environments/{environment_slug}","href":"/api-reference/badges/get-an-environment-status-badge"}]},{"group":"Failure Groups","pages":[{"title":"List failure groups","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json get /api/failure-groups","href":"/api-reference/failure-groups/list-failure-groups"},{"title":"Create a failure group","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json post /api/failure-groups","href":"/api-reference/failure-groups/create-a-failure-group"},{"title":"Get a failure group","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json get /api/failure-groups/{id}","href":"/api-reference/failure-groups/get-a-failure-group"},{"title":"Delete a failure group","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json delete /api/failure-groups/{id}","href":"/api-reference/failure-groups/delete-a-failure-group"},{"title":"Update a failure group","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json patch /api/failure-groups/{id}","href":"/api-reference/failure-groups/update-a-failure-group"},{"title":"Get a failure group's activity","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json get /api/failure-groups/{id}/activity","href":"/api-reference/failure-groups/get-a-failure-groups-activity"},{"title":"List a failure group's members","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json get /api/failure-groups/{id}/members","href":"/api-reference/failure-groups/list-a-failure-groups-members"},{"title":"Attach a failing test to a failure group","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json post /api/failure-groups/{id}/members","href":"/api-reference/failure-groups/attach-a-failing-test-to-a-failure-group"},{"title":"Merge a failure group into another","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json post /api/failure-groups/{id}/merge","href":"/api-reference/failure-groups/merge-a-failure-group-into-another"},{"title":"List a run's failure-group members","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json get /api/failure-groups/members","href":"/api-reference/failure-groups/list-a-runs-failure-group-members"}]},{"group":"Files","pages":[{"title":"List files","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json get /api/files","href":"/api-reference/files/list-files"},{"title":"Create a file","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json post /api/files","href":"/api-reference/files/create-a-file"},{"title":"Get a file","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json get /api/files/{id}","href":"/api-reference/files/get-a-file"},{"title":"Confirm a file upload","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json patch /api/files/{id}","href":"/api-reference/files/confirm-a-file-upload"}]},{"group":"Reporter Configuration","pages":[{"title":"List reporters","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json get /api/reporters","href":"/api-reference/reporter-configuration/list-reporters"}]}]}]},"basePath":"","title":"Update an environment - Empirical","buildId":"dpl_6cCEiK8XNNvaLBBkWzcBhdE9QfLC","deploymentId":"dpl_6cCEiK8XNNvaLBBkWzcBhdE9QfLC","dynamics":["c2aa737661","b0f84f53ff","a9bb46feb3","2b790eda92"],"chunks":["OpenApiReferenceProvider-CLz2_Z5D.js","utils-7A5jZhOT.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-BVWmkKuv.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-4SOfrh0F.js","snippetPresets-CMc8KicP.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","Page-DeQN5MDd.js","ApiExamples-Ba9tX7z3.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-Be8krXvv.js","shallow-CBC3K1uB.js","getApiPlaygroundDisplay-4tKcUAYo.js","CodeSnippet-C1Xa06ft.js","CodeSnippets-vqiz27A_.js","getPastedJson-NUwRfM32.js","icon-DkIVqWh9.js","MethodPill-qmhT7_wz.js","DuplicateIcon-_gWp1vhn.js","createIcon-NA1p_TVA.js","DynamicMarkdown-Bas9A7wq.js","SectionHeading-a1cS-24U.js","axios-vUo_bRtp.js","Markdown-D3ZTwq_a.js","clsx-BcghKhHb.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-B66mVNPp.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-DmooSyTN.js"]}