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/create-an-environment","slug":"/api-reference/environments/create-an-environment","pageMetadata":{"title":"Create an environment","description":"Creates an environment in the scoped project. Rejected for projects managed by environments.yaml.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json post /api/environments","href":"/api-reference/environments/create-an-environment","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Creates an environment in the scoped project. Rejected for projects managed by environments.yaml.\"\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":"Create an environment","description":"Creates an environment in the scoped project. Rejected for projects managed by environments.yaml.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.generated.json post /api/environments","href":"/api-reference/environments/create-an-environment","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Environments"],"operationId":"createEnvironment","summary":"Create an environment","description":"Creates an environment in the scoped project. Rejected for projects managed by environments.yaml.","requestBody":"f34dc5f2-6224-44db-9297-cb409313597e","responses":{"200":"1c066356-4b32-4530-a184-7281fa699f37","400":"03bc12bb-0752-4aa3-8646-fd4821653f97","403":"9f89a8f2-87a6-4db5-a164-726b581a3a7f","404":"dde2080f-70db-4f41-ba54-4b6014c1402e"},"method":"post","type":"path","servers":["7f1173af-53ac-4d7c-be61-79db501420f9"],"security":["f04d1695-8406-4e74-b1ce-21eddcd099e5"],"path":"/api/environments","baseUrlOptions":["https://api.empirical.run"],"title":"Create an environment","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Display name.","isRequired":true,"uniqueKey":"name","typeLabel":"string"},"slug":{"type":"string","minLength":1,"description":"URL-friendly identifier; unique within the project.","isRequired":true,"uniqueKey":"slug","typeLabel":"string"},"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"}},"required":["name","slug"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"name":"\u003cstring>","slug":"\u003cstring>","playwright_projects_match":["\u003cstring>"],"playwright_projects_ignore":["\u003cstring>"],"scheduled_trigger":"\u003cstring>","scheduled_concurrency":{"group":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"1c066356-4b32-4530-a184-7281fa699f37":{"description":"The created environment.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"environment":{"type":"object","properties":{"id":{"type":"number","description":"Unique identifier.","isRequired":true,"uniqueKey":"data.environment.id","typeLabel":"number"},"project_id":{"type":"number","description":"Project identifier.","isRequired":true,"uniqueKey":"data.environment.project_id","typeLabel":"number"},"slug":{"type":"string","description":"URL-friendly identifier.","isRequired":true,"uniqueKey":"data.environment.slug","typeLabel":"string"},"name":{"type":"string","description":"Display name.","isRequired":true,"uniqueKey":"data.environment.name","typeLabel":"string"},"playwright_projects_match":{"type":"array","items":{"type":"string","uniqueKey":"data.environment.playwright_projects_match.items.[INDEX]","typeLabel":"string"},"description":"Playwright project names to match.","isRequired":true,"uniqueKey":"data.environment.playwright_projects_match","typeLabel":"string[]"},"playwright_projects_ignore":{"type":"array","items":{"type":"string","uniqueKey":"data.environment.playwright_projects_ignore.items.[INDEX]","typeLabel":"string"},"description":"Playwright project names to ignore.","isRequired":true,"uniqueKey":"data.environment.playwright_projects_ignore","typeLabel":"string[]"},"is_disabled":{"oneOf":[{"type":"boolean","description":"Whether the environment is disabled.","isRequired":true,"uniqueKey":"data.environment.is_disabled.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Whether the environment is disabled.","isRequired":true,"uniqueKey":"data.environment.is_disabled.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.environment.is_disabled","typeLabel":"boolean | null"},"env_files":{"type":"array","items":{"type":"string","uniqueKey":"data.environment.env_files.items.[INDEX]","typeLabel":"string"},"description":"Environment file paths.","isRequired":true,"uniqueKey":"data.environment.env_files","typeLabel":"string[]"},"scheduled_trigger":{"oneOf":[{"type":"string","description":"Cron expression for scheduled triggers.","isRequired":true,"uniqueKey":"data.environment.scheduled_trigger.oneOf.0","typeLabel":"string"},{"type":"null","description":"Cron expression for scheduled triggers.","isRequired":true,"uniqueKey":"data.environment.scheduled_trigger.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.environment.scheduled_trigger","typeLabel":"string | null"},"scheduled_concurrency":{"oneOf":[{"type":"object","properties":{"group":{"type":"string","description":"Concurrency group key.","isRequired":true,"uniqueKey":"data.environment.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":"data.environment.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":"data.environment.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":"data.environment.scheduled_concurrency.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.environment.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":"data.environment.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":"data.environment.reporter_config.reporters.items.[INDEX].oneOf.0.reporter_type","typeLabel":"enum\u003cstring>"},"slack_channel_ids":{"type":"array","items":{"type":"integer","minimum":1,"uniqueKey":"data.environment.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":"data.environment.reporter_config.reporters.items.[INDEX].oneOf.0.slack_channel_ids","typeLabel":"integer[]"}},"additionalProperties":false,"uniqueKey":"data.environment.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":"data.environment.reporter_config.reporters.items.[INDEX].oneOf.1.reporter_type","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"data.environment.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":"data.environment.reporter_config.reporters.items.[INDEX].oneOf.2.reporter_type","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"data.environment.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":"data.environment.reporter_config.reporters.items.[INDEX].oneOf.3.reporter_type","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"data.environment.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":"data.environment.reporter_config.reporters.items.[INDEX].oneOf.4.reporter_type","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"data.environment.reporter_config.reporters.items.[INDEX].oneOf.4","typeLabel":"object"}],"uniqueKey":"data.environment.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":"data.environment.reporter_config.reporters","typeLabel":"object[]"}},"required":["schema_version","reporters"],"additionalProperties":false,"description":"Reporter configuration for runs in this environment.","isRequired":true,"uniqueKey":"data.environment.reporter_config","typeLabel":"object"},"created_at":{"oneOf":[{"type":"string","description":"ISO 8601 timestamp.","isRequired":true,"uniqueKey":"data.environment.created_at.oneOf.0","typeLabel":"string"},{"type":"null","description":"ISO 8601 timestamp.","isRequired":true,"uniqueKey":"data.environment.created_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.environment.created_at","typeLabel":"string | null"},"updated_at":{"oneOf":[{"type":"string","description":"ISO 8601 timestamp.","isRequired":true,"uniqueKey":"data.environment.updated_at.oneOf.0","typeLabel":"string"},{"type":"null","description":"ISO 8601 timestamp.","isRequired":true,"uniqueKey":"data.environment.updated_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.environment.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"],"isRequired":true,"uniqueKey":"data.environment","typeLabel":"object"}},"required":["environment"],"description":"Response payload.","isRequired":true,"uniqueKey":"data","typeLabel":"object"}},"required":["data"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"data":{"environment":{"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"},"03bc12bb-0752-4aa3-8646-fd4821653f97":{"description":"Invalid request, the slug already exists, or reporter_config names an unknown Slack channel.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"oneOf":[{"description":"Always null for error responses.","isRequired":true,"uniqueKey":"data.oneOf.0","typeLabel":"any"},{"description":"Always null for error responses.","type":"null","isRequired":true,"uniqueKey":"data.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data","typeLabel":"any | null"},"error":{"type":"object","properties":{"message":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"required":["message"],"description":"Error details.","isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["data","error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"data":"\u003cunknown>","error":{"message":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"9f89a8f2-87a6-4db5-a164-726b581a3a7f":{"description":"Project is managed by environments.yaml.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"oneOf":[{"description":"Always null for error responses.","isRequired":true,"uniqueKey":"data.oneOf.0","typeLabel":"any"},{"description":"Always null for error responses.","type":"null","isRequired":true,"uniqueKey":"data.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data","typeLabel":"any | null"},"error":{"type":"object","properties":{"message":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"required":["message"],"description":"Error details.","isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["data","error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"data":"\u003cunknown>","error":{"message":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"dde2080f-70db-4f41-ba54-4b6014c1402e":{"description":"Project not found or not accessible.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"oneOf":[{"description":"Always null for error responses.","isRequired":true,"uniqueKey":"data.oneOf.0","typeLabel":"any"},{"description":"Always null for error responses.","type":"null","isRequired":true,"uniqueKey":"data.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data","typeLabel":"any | null"},"error":{"type":"object","properties":{"message":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"required":["message"],"description":"Error details.","isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["data","error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"data":"\u003cunknown>","error":{"message":"\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":"Create an environment - Empirical","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-31T08:27:11.098Z","originalFileLocation":"api-reference/environments/create-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=\"Creates an environment in the scoped project. Rejected for projects managed by environments.yaml.\">\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=\"Create an environment - Empirical\">\u003cmeta data-mint-head property=\"og:description\" content=\"Creates an environment in the scoped project. Rejected for projects managed by environments.yaml.\">\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/create-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=Create+an+environment\u0026amp;description=Creates+an+environment+in+the+scoped+project.+Rejected+for+projects+managed+by+environments.yaml.\u0026amp;theme=f70f53f39fe8b87f817734d5\u0026amp;signature=d9b6f8b71aa86f8414d4dcb0c782e903ef2180d544d416f0fbb8c189880a91cf\">\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=\"Create an environment - Empirical\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Creates an environment in the scoped project. Rejected for projects managed by environments.yaml.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://empirical.mintlify.app/_mintlify/api/og/v2?division=Environments\u0026amp;title=Create+an+environment\u0026amp;description=Creates+an+environment+in+the+scoped+project.+Rejected+for+projects+managed+by+environments.yaml.\u0026amp;theme=f70f53f39fe8b87f817734d5\u0026amp;signature=d9b6f8b71aa86f8414d4dcb0c782e903ef2180d544d416f0fbb8c189880a91cf\">\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/create-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/create-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/create-an-environment#webpage\",\"url\":\"https://empirical.run/docs/api-reference/environments/create-an-environment\",\"name\":\"Create an environment\",\"description\":\"Creates an environment in the scoped project. Rejected for projects managed by environments.yaml.\",\"dateModified\":\"2026-10-31T08:27:11.098Z\",\"isPartOf\":{\"@id\":\"https://empirical.run/docs#website\"},\"breadcrumb\":{\"@id\":\"https://empirical.run/docs/api-reference/environments/create-an-environment#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://empirical.run/docs/api-reference/environments/create-an-environment#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Empirical\",\"item\":\"https://empirical.run/docs\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create an environment\",\"item\":\"https://empirical.run/docs/api-reference/environments/create-an-environment\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://empirical.run/docs/api-reference/environments/create-an-environment#apireference\",\"headline\":\"Create an environment\",\"name\":\"Create an environment\",\"description\":\"Creates an environment in the scoped project. Rejected for projects managed by environments.yaml.\",\"url\":\"https://empirical.run/docs/api-reference/environments/create-an-environment\",\"mainEntityOfPage\":{\"@id\":\"https://empirical.run/docs/api-reference/environments/create-an-environment#webpage\"},\"dateModified\":\"2026-10-31T08:27:11.098Z\",\"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","description":"Returns the distinct set of tags across the scoped project's active test cases (those present at the last synced commit; all synced test cases if the project has never synced). The response is a bare `{ tags }` object (no `data` envelope) and is cached for 5 minutes via a `Cache-Control` header.","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","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":"Create 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"]}