Deprecated — pass ignoreWarnings in the request body instead.
Allowed value: "true"
Body
application/json
key
string
required
Stable reference handle (lowercase slug, unique per org), referenced as @config:key
Pattern: ^[a-z0-9][a-z0-9\-_]*$
name
string
required
The display name of the config
parent
string
The key of the config to inherit from (the primary lineage spine). Express inheritance via parent/extends, NEVER via a @config: entry in value (which is rejected).
extends
string[]
Additional composition bases (config keys) layered on top of parent, in precedence order (later overrides earlier; all override parent; own keys win last). Set inheritance here, never via a @config: entry in value.
value
object
This config's base value as a JSON object. Per-environment/project variants are expressed via scopedOverrides.
Show child attributes
scopedOverrides
object[]
Ordered, first-match-wins environment/project-scoped variant selection. Each entry points at a flavor config (a child config, by key) whose value is deep-merged onto this config's resolved value when the (environment, project) scope matches — resolved at build time, per layer. This is how you create an environment-scoped override (as opposed to a plain child config): make a child config for the override value, then add it here with its scope. Send the complete list to replace it; an empty array clears all overrides. Entries must reference existing configs, may not reference this config itself, and may not be unreachable (fully subsumed by an earlier entry).
Show child attributes
description
string
Markdown. Put context here, not in the name.
Maximum string length: 10000
project
string
owner
string
The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization. When omitted, it defaults to the requesting member: a personal access token's owner, or the member an organization API key assumes. An organization API key acting as itself leaves it empty.
schema
object
Field definitions for this config, as a JSON Schema document ({ type: "json-schema", value }) or typed-code source ({ type: "typescript" | "protobuf" | "python" | "go" | "rust", value }) — converted server-side in one call. Fields whose key an ancestor (via parent/extends) already owns follow "base wins": an identical re-declaration is stripped with a redundant-declaration warning; one with a differing definition is rejected. A field owned by two sibling bases is a conflict and is rejected. Omit to leave the config schema-less. Conversion warnings are returned in warnings.
Option 1
Option 2
Option 3
Option 4
Option 5
Option 6
Show child attributes
source
string
Optional identifier of the consuming codebase/service. When a typed-code schema (typescript/protobuf/python/go/rust) is supplied, its named-type structure is captured under this source so GET /configs/:key/schema?source=<id>&format=<lang> can reproduce those names.
extensible
boolean
experimentGuard
boolean
Enable the experiment guard on this config: publishing a change served to a running experiment soft-blocks unless overridden. Omit to inherit the org default.
invariants
object[]
Cross-field validation rules. Each rule's expression is a mongo condition (mongrule). Stored on the config schema and enforced at publish.
Show child attributes
ignoreWarnings
boolean
Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access. Only set this when a person has explicitly asked you to. If a check blocks you, stop and ask a person instead of working around it.
skipSchemaValidation
boolean
Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use skipHooks for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. Only set this when a person has explicitly asked you to. If a check blocks you, stop and ask a person instead of working around it.
skipHooks
boolean
Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use skipSchemaValidation for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. Only set this when a person has explicitly asked you to. If a check blocks you, stop and ask a person instead of working around it.
Response
Resource created
config
object
required
Show child attributes
warnings
object[]
Show child attributes
postPublishWarnings
string[]
Steps that failed AFTER the value publish committed (e.g. an experiment-guard toggle in the same request). The publish stands; retry only the named step.
{"docsConfig":{"theme":"luma","$schema":"https://mintlify.com/docs.json","name":"GrowthBook Documentation","colors":{"primary":"#039DD0","light":"#baa7ff","dark":"#039DD0"},"logo":{"light":"https://mintcdn.com/growthbook-ea15456d/66H-dO8hZfIFVUdN/static/img/growthbook-docslogo-light.png?fit=max\u0026auto=format\u0026n=66H-dO8hZfIFVUdN\u0026q=85\u0026s=36f32d1bbabbdafdb0bd9bc2b53c43e7","dark":"https://mintcdn.com/growthbook-ea15456d/66H-dO8hZfIFVUdN/static/img/growthbook-docslogo-dark.png?fit=max\u0026auto=format\u0026n=66H-dO8hZfIFVUdN\u0026q=85\u0026s=4d2b042f7579c6c815de8ce10cbf6408","href":"/"},"favicon":"https://mintcdn.com/growthbook-ea15456d/giSZyh24PfnTkKz4/static/favicon.png?fit=max\u0026auto=format\u0026n=giSZyh24PfnTkKz4\u0026q=85\u0026s=6832a69676f48e5223736cd3b6ce33da","background":{"color":{"dark":"#1B1B1D"}},"navbar":{"links":[{"icon":"bullhorn","href":"https://growthbook.io/product-updates","label":"Product Updates"},{"href":"https://github.com/growthbook/growthbook","label":"Github","type":"github"},{"href":"https://app.growthbook.io/","label":"Open App"}],"primary":{"type":"button","label":"Start For Free","href":"https://app.growthbook.io/"}},"footer":{"socials":{"x":"https://twitter.com/growth_book","linkedin":"https://www.linkedin.com/company/growthbook","github":"https://github.com/growthbook/growthbook","slack":"https://slack.growthbook.io/?ref=footer-icon"},"links":[{"header":"Community","items":[{"label":"Join us on Slack","href":"https://slack.growthbook.io/"},{"label":"Open an Issue","href":"https://github.com/growthbook/growthbook/issues/new/choose"}]},{"header":"Company","items":[{"label":"About","href":"https://www.growthbook.io/about"},{"label":"Blog","href":"https://www.growthbook.io/blog"}]}]},"seo":{"indexing":"navigable"},"styling":{"eyebrows":"breadcrumbs","latex":true},"integrations":{"gtm":{"tagId":"GTM-MF7GKV4V"}},"contextual":{"options":["copy","view",{"title":"Edit this page","description":"Propose a change on GitHub","icon":"pencil","href":{"base":"https://github.com/growthbook/growthbook/edit/main/docs$path.mdx"}},"chatgpt","claude","perplexity","grok","aistudio","devin","windsurf","mcp","cursor","vscode","devin-mcp"],"display":"header"},"navigation":{"global":{"anchors":[]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"growthbook-ea15456d","hasAudioNarration":false,"actualSubdomain":"growthbook-ea15456d","customDomains":["docs.growthbook.io"],"gitSource":{"type":"github","owner":"growthbook","repo":"growthbook","deployBranch":"main","contentDirectory":"docs","isPrivate":false,"mountPath":"","label":""},"feedback":{"thumbs":true,"contextualFeedback":{"allowEmail":true}},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af73abe07e6a796f0fe6a4d","clientVersion":"0.0.4131","searchFilterCounts":[{"language":"default","tag":"API","count":599},{"language":"default","tag":"Endpoints","count":475},{"language":"default","tag":"Docs","count":190},{"language":"default","tag":"Models","count":123},{"language":"default","tag":"Data \u0026 Metrics","count":42},{"language":"default","tag":"Experimentation","count":41},{"language":"default","tag":"Feature Revisions","count":33},{"language":"default","tag":"SDKs","count":29},{"language":"default","tag":"Feature Flags","count":27},{"language":"default","tag":"Contextual Bandits","count":26}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"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":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"styles.css","content":":root{--violet-1: #fdfcfe;--violet-2: #faf8ff;--violet-3: #f4f0fe;--violet-4: #ebe4ff;--violet-5: #e1d9ff;--violet-6: #d4cafe;--violet-7: #c2b5f5;--violet-8: #aa99ec;--violet-9: #6e56cf;--violet-10: #654dc4;--violet-11: #6550b9;--violet-12: #2f265f;--violet-a1: #5500aa03;--violet-a2: #4900ff07;--violet-a3: #4400ee0f;--violet-a4: #4300ff1b;--violet-a5: #3600ff26;--violet-a6: #3100fb35;--violet-a7: #2d01dd4a;--violet-a8: #2b00d066;--violet-a9: #2400b7a9;--violet-a10: #2300abb2;--violet-a11: #1f0099af;--violet-a12: #0b0043d9;--slate-a1: #00005503;--slate-a2: #00005506;--slate-a3: #0000330f;--slate-a4: #00002d17;--slate-a5: #0009321f;--slate-a6: #00002f26;--slate-a7: #00062e32;--slate-a8: #00083046;--slate-a9: #00051d74;--slate-a10: #00071b7f;--slate-a11: #0007149f;--slate-a12: #000509e3;--indigo-1: #fdfdfe;--indigo-2: #f7f9ff;--indigo-3: #edf2fe;--indigo-4: #e1e9ff;--indigo-5: #d2deff;--indigo-6: #c1d0ff;--indigo-7: #abbdf9;--indigo-8: #8da4ef;--indigo-9: #3e63dd;--indigo-10: #3358d4;--indigo-11: #3a5bc7;--indigo-12: hsl(226, 50%, 24%);--indigo-a1: #00008002;--indigo-a2: #0040ff08;--indigo-a3: #0047f112;--indigo-a4: #0044ff1e;--indigo-a5: #0044ff2d;--indigo-a6: #003eff3e;--indigo-a7: #0037ed54;--indigo-a8: #0034dc72;--indigo-a9: hsla(226, 100%, 41%, 0.757);--indigo-a10: hsla(226, 100%, 39%, 0.8);--indigo-a11: hsla(226, 100%, 36%, 0.773);--indigo-a12: hsla(226, 100%, 14%, 0.878);--amber-a1: #c0800004;--amber-a2: #f4d10016;--amber-a3: #ffde003d;--amber-a4: #ffd40063;--amber-a5: #f8cf0088;--amber-a6: #eab5008c;--amber-a7: #dc9b009d;--amber-a8: #da8a00c9;--amber-a9: #ffb300c2;--amber-a10: #ffb300e7;--amber-a11: #ab6400;--amber-a12: #341500dd;--green-a1: #00c04004;--green-a2: #00a32f0b;--green-a3: #00a43319;--green-a4: #00a83829;--green-a5: #019c393b;--green-a6: #00963c52;--green-a7: #00914071;--green-a8: #00924ba4;--green-a9: #008f4acf;--green-a10: #008647d4;--green-a11: #00713fde;--green-a12: #002616e6;--red-a1: #ff000003;--red-a2: #ff000008;--red-a3: #f3000d14;--red-a4: #ff000824;--red-a5: #ff000632;--red-a6: #f8000442;--red-a7: #df000356;--red-a8: #d2000571;--red-a9: #db0007b7;--red-a10: #d10005c1;--red-a11: #c40006d3;--red-a12: #55000de8;--color-text-high: var(--indigo-12);--color-text-mid: hsl(226 50% 24% / 85%);--color-contrast: #fff;--ifm-color-primary: var(--violet-11);--ifm-color-primary-dark: var(--violet-10);--ifm-color-primary-darker: var(--violet-11);--ifm-color-primary-darkest: var(--violet-12);--ifm-color-primary-light: var(--violet-7);--ifm-color-primary-lighter: var(--violet-6);--ifm-color-primary-lightest: var(--violet-5);--ifm-navbar-link-color: var(--color-text-mid);--ifm-code-font-size: 95%;--docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1);--ifm-alert-border-color: #8a26e7;--color-border: var(--slate-a6);--ifm-background-color: #fff;--color-inverse: #000}.dark{--violet-1: #14121f;--violet-2: #1b1525;--violet-3: #291f43;--violet-4: #33255b;--violet-5: #3c2e69;--violet-6: #473876;--violet-7: #56468b;--violet-8: #6958ad;--violet-9: #6e56cf;--violet-10: #7d66d9;--violet-11: #baa7ff;--violet-12: #e2ddfe;--violet-a1: #4422ff0f;--violet-a2: #853ff916;--violet-a3: #8354fe36;--violet-a4: #7d51fd50;--violet-a5: #845ffd5f;--violet-a6: #8f6cfd6d;--violet-a7: #9879ff83;--violet-a8: #977dfea8;--violet-a9: #8668ffcc;--violet-a10: #9176fed7;--violet-a11: #baa7ff;--violet-a12: #e3defffe;--slate-a1: #00000000;--slate-a2: #d8f4f609;--slate-a3: #ddeaf814;--slate-a4: #d3edf81d;--slate-a5: #d9edfe25;--slate-a6: #d6ebfd30;--slate-a7: #d9edff40;--slate-a8: #d9edff5d;--slate-a9: #dfebfd6d;--slate-a10: #e5edfd7b;--slate-a11: #f1f7feb5;--slate-a12: #fcfdffef;--indigo-1: #11131f;--indigo-2: #141726;--indigo-3: #182449;--indigo-4: #1d2e62;--indigo-5: #253974;--indigo-6: #304384;--indigo-7: #3a4f97;--indigo-8: #435db1;--indigo-9: #3e63dd;--indigo-10: #5472e4;--indigo-11: #9eb1ff;--indigo-12: #d6e1ff;--indigo-a1: #1133ff0f;--indigo-a2: #3354fa17;--indigo-a3: #2f62ff3c;--indigo-a4: #3566ff57;--indigo-a5: #4171fd6b;--indigo-a6: #5178fd7c;--indigo-a7: #5a7fff90;--indigo-a8: #5b81feac;--indigo-a9: #4671ffdb;--indigo-a10: #5c7efee3;--indigo-a11: #9eb1ff;--indigo-a12: #d6e1ff;--amber-a1: #e63c0006;--amber-a2: #fd9b000d;--amber-a3: #fa820022;--amber-a4: #fc820032;--amber-a5: #fd8b0041;--amber-a6: #fd9b0051;--amber-a7: #ffab2567;--amber-a8: #ffae3587;--amber-a9: #ffc53d;--amber-a10: #ffd60a;--amber-a11: #ffca16;--amber-a12: #ffe7b3;--green-a1: #00de4505;--green-a2: #29f99d0b;--green-a3: #22ff991e;--green-a4: #11ff992d;--green-a5: #2bffa23c;--green-a6: #44ffaa4b;--green-a7: #50fdac5e;--green-a8: #54ffad73;--green-a9: #44ffa49e;--green-a10: #43fea4ab;--green-a11: #46fea5d4;--green-a12: #bbffd7f0;--red-a1: #f4121209;--red-a2: #f22f3e11;--red-a3: #ff173f2d;--red-a4: #fe0a3b44;--red-a5: #ff204756;--red-a6: #ff3e5668;--red-a7: #ff536184;--red-a8: #ff5d61b0;--red-a9: #fe4e54e4;--red-a10: #ff6465eb;--red-a11: #ff9592;--red-a12: #ffd1d9;--color-text-high: #fff;--color-text-mid: hsl(0 0% 100% / 0.85);--color-contrast: #fff;--color-inverse: #fff}a code,a:hover code{color:inherit!important}pre a,code a{color:inherit!important}#content a{color:rgb(var(--primary));border-bottom:0!important}#content a:hover{text-decoration:underline!important}.dark #content a{color:rgb(var(--primary-light))}.dark #navbar>div.z-0.absolute.inset-0.bg-background-light.dark\\:bg-background-dark{background-color:#242526!important}@media (min-width: 1024px){#navbar .nav-logo{height:1.5rem!important;max-width:none!important}#navbar div:has(>a>.nav-logo){flex:0 1 auto}#navbar nav ul>li>a.rounded-full{height:1.75rem;padding:0 0.75rem;font-size:0.8125rem}#navbar .navbar-link>a,#navbar a.bg-primary.rounded-full,#navbar #search-bar-entry{height:1.75rem;font-size:0.8125rem}#navbar #theme-preference-menu-trigger,#navbar button[aria-label=\"More actions\"]{width:1.75rem;height:1.75rem;padding:0}}@container navbar (min-width: 1100px){#navbar .topbar-right-container>ul{display:contents}#navbar .topbar-right-container>ul>li:has(>a.bg-primary),#navbar .topbar-right-container>ul>li:has(>a[href^=\"https://app.growthbook.io\"]){order:2}#navbar .topbar-right-container>#theme-preference-menu-trigger{order:1}#navbar .topbar-right-container>div:last-child{order:3}}.gb-used-app li.navbar-link:has(>a[href^=\"https://app.growthbook.io\"]){display:none}@keyframes gb-cta-reveal{to{visibility:visible}}html:not(.gb-cta-ready) #navbar a[href^=\"https://app.growthbook.io\"]{visibility:hidden;animation:gb-cta-reveal 0s 1s forwards}#navbar a[href=\"https://github.com/growthbook/growthbook\"]{gap:0.625rem;padding:0 0.875rem 0 0.375rem;border-color:transparent!important;background-color:rgb(3 7 18 / 0.03);color:#1d2140}#navbar a[href=\"https://github.com/growthbook/growthbook\"]:hover{background-color:rgb(3 7 18 / 0.06)}.dark #navbar a[href=\"https://github.com/growthbook/growthbook\"]{background-color:rgb(255 255 255 / 0.06);color:rgb(255 255 255 / 0.9)}.dark #navbar a[href=\"https://github.com/growthbook/growthbook\"]:hover{background-color:rgb(255 255 255 / 0.1)}#navbar a[href=\"https://github.com/growthbook/growthbook\"]>svg{width:1.25rem;height:1.25rem}#navbar a[href=\"https://github.com/growthbook/growthbook\"]>span.truncate{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}#navbar a[href=\"https://github.com/growthbook/growthbook\"] span.ml-1>svg{display:none}#navbar a[href=\"https://github.com/growthbook/growthbook\"] span.ml-1{margin-left:0}@media (min-width: 1024px){#sidebar-content{width:18rem!important}#body-content{padding-left:18rem!important}}@media (min-width: 1651px){#content-area{margin-left:max(0px, calc(50vw - 348px - 18rem))!important}}#body-content:has(.not-found-container){padding-left:0!important}#content-area:has(.not-found-container){margin-left:0!important}ul.sidebar-group>li[data-title=\"Tutorials\"],ul.sidebar-group>li[data-title=\"Knowledge Base\"],ul.sidebar-group>li[data-title=\"GrowthBook Guide\"]{border-top:1px solid rgb(var(--gray-200));margin-top:0.5rem;padding-top:0.5rem}.dark ul.sidebar-group>li[data-title=\"Tutorials\"],.dark ul.sidebar-group>li[data-title=\"Knowledge Base\"],.dark ul.sidebar-group>li[data-title=\"GrowthBook Guide\"]{border-top-color:rgb(var(--gray-800))}#sidebar-content li[data-title]>button>div:first-child{flex:1 1 auto;min-width:0}#sidebar-content li[data-title]>button>div:first-child>span:first-child{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#sidebar-content li[data-title]>button>div:first-child .nav-tag-pill{flex:0 0 auto;margin-left:auto}#sidebar-content [data-nav-tag=\"BETA\"]{background:#fbbf24!important;color:#78350f!important}#sidebar-content [data-nav-tag=\"NEW\"]{background:var(--green-a9)!important;color:#fff!important}#sidebar-content [data-nav-tag=\"LEGACY\"]{background:#e5e7eb!important;color:#4b5563!important}#sidebar-content [data-nav-tag=\"v2\"]{background:#c2e6ff!important;color:#0d74ce!important}.dark #sidebar-content [data-nav-tag=\"BETA\"]{background:#78350f!important;color:#fde68a!important}.dark #sidebar-content [data-nav-tag=\"NEW\"]{background:#14532d!important;color:#86efac!important}.dark #sidebar-content [data-nav-tag=\"LEGACY\"]{background:#374151!important;color:#d1d5db!important}.dark #sidebar-content [data-nav-tag=\"v2\"]{background:#0c4a6e!important;color:#7dd3fc!important}#sidebar-content li[data-title]>button{display:flex;width:100%;max-width:100%;box-sizing:border-box;justify-content:space-between;align-items:center}#sidebar-content li[data-title]>button>div:last-child{flex:0 0 auto;margin-left:auto}#sidebar-content a:has(.method-nav-pill)>.flex-1{min-width:0}#sidebar-content a:has(.method-nav-pill) .flex-wrap{flex-wrap:nowrap;width:100%}#sidebar-content a:has(.method-nav-pill) .flex-wrap>span.min-w-0{flex:1 1 auto;max-width:100%}#sidebar-content a[href^=\"/api/features/operation/\"],#sidebar-content a[href^=\"/api/feature-revisions/operation/\"],#sidebar-content a[href^=\"/api/metrics/operation/\"]{color:rgb(156 163 175)!important}.dark #sidebar-content a[href^=\"/api/features/operation/\"],.dark #sidebar-content a[href^=\"/api/feature-revisions/operation/\"],.dark #sidebar-content a[href^=\"/api/metrics/operation/\"]{color:rgb(107 114 128)!important}#sidebar-content a[href^=\"/api/features/operation/\"]:hover,#sidebar-content a[href^=\"/api/features/operation/\"]:focus-visible,#sidebar-content a[href^=\"/api/feature-revisions/operation/\"]:hover,#sidebar-content a[href^=\"/api/feature-revisions/operation/\"]:focus-visible,#sidebar-content a[href^=\"/api/metrics/operation/\"]:hover,#sidebar-content a[href^=\"/api/metrics/operation/\"]:focus-visible{color:#111!important}.dark #sidebar-content a[href^=\"/api/features/operation/\"]:hover,.dark #sidebar-content a[href^=\"/api/features/operation/\"]:focus-visible,.dark #sidebar-content a[href^=\"/api/feature-revisions/operation/\"]:hover,.dark #sidebar-content a[href^=\"/api/feature-revisions/operation/\"]:focus-visible,.dark #sidebar-content a[href^=\"/api/metrics/operation/\"]:hover,.dark #sidebar-content a[href^=\"/api/metrics/operation/\"]:focus-visible{color:#fff!important}#sidebar-content a[href^=\"/api/features/operation/\"] .method-nav-pill,#sidebar-content a[href^=\"/api/feature-revisions/operation/\"] .method-nav-pill,#sidebar-content a[href^=\"/api/metrics/operation/\"] .method-nav-pill{filter:grayscale(1);opacity:0.65}#sidebar-content a[href^=\"/api/features/operation/\"]:hover .method-nav-pill,#sidebar-content a[href^=\"/api/features/operation/\"]:focus-visible .method-nav-pill,#sidebar-content a[href^=\"/api/feature-revisions/operation/\"]:hover .method-nav-pill,#sidebar-content a[href^=\"/api/feature-revisions/operation/\"]:focus-visible .method-nav-pill,#sidebar-content a[href^=\"/api/metrics/operation/\"]:hover .method-nav-pill,#sidebar-content a[href^=\"/api/metrics/operation/\"]:focus-visible .method-nav-pill{filter:none;opacity:1}#sidebar-content a[href^=\"/api/features/operation/\"] .flex-wrap>span.min-w-0,#sidebar-content a[href^=\"/api/feature-revisions/operation/\"] .flex-wrap>span.min-w-0,#sidebar-content a[href^=\"/api/metrics/operation/\"] .flex-wrap>span.min-w-0{text-decoration:line-through}.chat-assistant-send-button{display:none!important}table[class*=\"[\u0026_td]:min-w-[150px]\"] td:first-child:has(code){max-width:25%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:break-word}#navbar a[href=\"https://growthbook.io/product-updates\"]:not(#banner a){--pu-accent: var(--primary);--pu-text: 3 120 160;--pu-ring: var(--background-light);--pu-tint: 0.08;position:relative;color:rgb(var(--pu-text))!important;border-color:rgb(var(--pu-accent) / 0.4)!important;background-color:rgb(var(--pu-accent) / var(--pu-tint))!important}.dark #navbar a[href=\"https://growthbook.io/product-updates\"]:not(#banner a){--pu-accent: var(--primary-light);--pu-text: var(--primary-light);--pu-ring: var(--background-dark);--pu-tint: 0.12}#navbar a[href=\"https://growthbook.io/product-updates\"]:not(#banner a) svg{background-color:rgb(var(--pu-text))!important}#navbar a[href=\"https://growthbook.io/product-updates\"]:not(#banner a)::after{content:\"\";position:absolute;top:8px;left:29px;width:7px;height:7px;border-radius:9999px;background:rgb(var(--pu-accent));box-shadow:0 0 0 2px rgb(var(--pu-ring))}"}],"page":{"pagePath":"api/configs/operation/postConfig","slug":"/api/configs/operation/postConfig","pageMetadata":{"title":"Create a single config","openapi":"openapi.yaml POST /v1/configs","description":null,"href":"/api/configs/operation/postConfig"},"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 a single config","openapi":"openapi.yaml POST /v1/configs","description":null,"href":"/api/configs/operation/postConfig"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/growthbook-ea15456d/8fcf9e82a236deba/docs-ui.js","/_mintlify/custom/growthbook-ea15456d/2a3423f351be4eea/kapa-widget.js","/_mintlify/custom/growthbook-ea15456d/2672b5edcc41ac77/snippets/data/SDKInfo.js","/_mintlify/custom/growthbook-ea15456d/55f49218a5489fde/snippets/data/commercialFeatures.js","/_mintlify/custom/growthbook-ea15456d/55695472085fd488/reo.js"],"openApiReferenceData":{"operation":{"operationId":"postConfig","summary":"Create a single config","tags":["configs"],"parameters":["765bb34c-f3a3-4f11-9d7c-d7c33d4118dd","110cdcda-dc43-4b9a-b57d-e6937268ea48"],"requestBody":"3be58e7c-aa7e-4c4f-afb8-f00e2177e83a","responses":{"200":"41b4b65c-fe58-43a8-aa5d-a7f8bc39e096","202":"8246bbb3-a255-4d7e-b30a-38da52950076"},"x-codeSamples":[{"lang":"cURL","source":"curl -X POST 'https://api.growthbook.io/api/v1/configs' \\\n -H 'Authorization: Bearer YOUR_API_KEY' \\\n -H 'Content-Type: application/json' \\\n -d '{\"key\":\"checkout-flow\",\"name\":\"Checkout Flow\",\"value\":{\"timeout\":30,\"retries\":3}}'"}],"method":"post","type":"path","servers":["a6ecc9df-d1f4-41e6-a0cb-2bd893de37e5","9c291727-9133-4897-bd87-57df70039cee"],"security":["39f8baee-89af-48af-97cd-a77d7ae5805f","47385602-9b87-4bff-8064-591e4fff7952"],"path":"/v1/configs","baseUrlOptions":["https://api.growthbook.io/api","https://{domain}/api"],"title":"Create a single config","description":"","codeSamples":[{"lang":"cURL","source":"curl -X POST 'https://api.growthbook.io/api/v1/configs' \\\n -H 'Authorization: Bearer YOUR_API_KEY' \\\n -H 'Content-Type: application/json' \\\n -d '{\"key\":\"checkout-flow\",\"name\":\"Checkout Flow\",\"value\":{\"timeout\":30,\"retries\":3}}'"}],"requiredOnlyExamples":false,"requestExampleType":"codeSamples","responseExampleType":"generated"},"dependencies":{"parameters":{"765bb34c-f3a3-4f11-9d7c-d7c33d4118dd":{"name":"skipSchemaValidation","in":"query","description":"Deprecated — pass `skipSchemaValidation` in the request body instead.","schema":{"oneOf":[{"type":"string","description":"Deprecated — pass `skipSchemaValidation` in the request body instead.","const":"true","deprecated":true,"uniqueKey":"oneOf.0","typeLabel":"string"},{"type":"string","description":"Deprecated — pass `skipSchemaValidation` in the request body instead.","const":"false","deprecated":true,"uniqueKey":"oneOf.1","typeLabel":"string"},{"type":"string","description":"Deprecated — pass `skipSchemaValidation` in the request body instead.","const":"0","deprecated":true,"uniqueKey":"oneOf.2","typeLabel":"string"},{"type":"string","description":"Deprecated — pass `skipSchemaValidation` in the request body instead.","const":"1","deprecated":true,"uniqueKey":"oneOf.3","typeLabel":"string"},{"type":"boolean","description":"Deprecated — pass `skipSchemaValidation` in the request body instead.","deprecated":true,"uniqueKey":"oneOf.4","typeLabel":"boolean"}],"uniqueKey":"","typeLabel":"string · string · string · string · boolean"}},"110cdcda-dc43-4b9a-b57d-e6937268ea48":{"name":"ignoreWarnings","in":"query","description":"Deprecated — pass `ignoreWarnings` in the request body instead.","schema":{"oneOf":[{"type":"string","description":"Deprecated — pass `ignoreWarnings` in the request body instead.","const":"true","deprecated":true,"uniqueKey":"oneOf.0","typeLabel":"string"},{"type":"string","description":"Deprecated — pass `ignoreWarnings` in the request body instead.","const":"false","deprecated":true,"uniqueKey":"oneOf.1","typeLabel":"string"},{"type":"string","description":"Deprecated — pass `ignoreWarnings` in the request body instead.","const":"0","deprecated":true,"uniqueKey":"oneOf.2","typeLabel":"string"},{"type":"string","description":"Deprecated — pass `ignoreWarnings` in the request body instead.","const":"1","deprecated":true,"uniqueKey":"oneOf.3","typeLabel":"string"},{"type":"boolean","description":"Deprecated — pass `ignoreWarnings` in the request body instead.","deprecated":true,"uniqueKey":"oneOf.4","typeLabel":"boolean"}],"uniqueKey":"","typeLabel":"string · string · string · string · boolean"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"key":{"description":"Stable reference handle (lowercase slug, unique per org), referenced as `@config:key`","type":"string","pattern":"^[a-z0-9][a-z0-9\\-_]*$","isRequired":true,"uniqueKey":"key","typeLabel":"string"},"name":{"description":"The display name of the config","type":"string","isRequired":true,"uniqueKey":"name","typeLabel":"string"},"parent":{"description":"The `key` of the config to inherit from (the primary lineage spine). Express inheritance via `parent`/`extends`, NEVER via a `@config:` entry in `value` (which is rejected).","type":"string","uniqueKey":"parent","typeLabel":"string"},"extends":{"description":"Additional composition bases (config `key`s) layered on top of `parent`, in precedence order (later overrides earlier; all override `parent`; own keys win last). Set inheritance here, never via a `@config:` entry in `value`.","type":"array","items":{"type":"string","uniqueKey":"extends.items.[INDEX]","typeLabel":"string"},"uniqueKey":"extends","typeLabel":"string[]"},"value":{"description":"This config's base value as a JSON object. Per-environment/project variants are expressed via `scopedOverrides`.","type":"object","propertyNames":{"type":"string"},"additionalProperties":{"oneOf":[{}],"uniqueKey":"value.additionalProperties","typeLabel":"any"},"uniqueKey":"value","typeLabel":"object"},"scopedOverrides":{"description":"Ordered, first-match-wins environment/project-scoped variant selection. Each entry points at a flavor config (a child config, by `key`) whose value is deep-merged onto this config's resolved value when the (environment, project) scope matches — resolved at build time, per layer. This is how you create an environment-scoped override (as opposed to a plain child config): make a child config for the override value, then add it here with its scope. Send the complete list to replace it; an empty array clears all overrides. Entries must reference existing configs, may not reference this config itself, and may not be unreachable (fully subsumed by an earlier entry).","type":"array","items":{"type":"object","properties":{"config":{"description":"The `key` of the flavor config (a child config) whose value patches this config when the scope matches.","type":"string","isRequired":true,"uniqueKey":"scopedOverrides.items.[INDEX].config","typeLabel":"string"},"environments":{"description":"Environment ids this entry applies to. Empty/omitted = any environment.","type":"array","items":{"type":"string","uniqueKey":"scopedOverrides.items.[INDEX].environments.items.[INDEX]","typeLabel":"string"},"uniqueKey":"scopedOverrides.items.[INDEX].environments","typeLabel":"string[]"},"projects":{"description":"Project ids this entry applies to. Empty/omitted = any project.","type":"array","items":{"type":"string","uniqueKey":"scopedOverrides.items.[INDEX].projects.items.[INDEX]","typeLabel":"string"},"uniqueKey":"scopedOverrides.items.[INDEX].projects","typeLabel":"string[]"}},"required":["config"],"additionalProperties":false,"uniqueKey":"scopedOverrides.items.[INDEX]","typeLabel":"object"},"uniqueKey":"scopedOverrides","typeLabel":"object[]"},"description":{"description":"Markdown. Put context here, not in the name.","type":"string","maxLength":10000,"uniqueKey":"description","typeLabel":"string"},"project":{"type":"string","uniqueKey":"project","typeLabel":"string"},"owner":{"description":"The userId or email address of the owner. If an email address is provided, it will be used to look up the userId of the matching organization member. If an ID is provided, it will be validated as existing in the organization. When omitted, it defaults to the requesting member: a personal access token's owner, or the member an organization API key assumes. An organization API key acting as itself leaves it empty.","type":"string","uniqueKey":"owner","typeLabel":"string"},"schema":{"oneOf":[{"type":"object","description":"Field definitions for this config, as a JSON Schema document (`{ type: \"json-schema\", value }`) or typed-code source (`{ type: \"typescript\" | \"protobuf\" | \"python\" | \"go\" | \"rust\", value }`) — converted server-side in one call. Fields whose key an ancestor (via `parent`/`extends`) already owns follow \"base wins\": an identical re-declaration is stripped with a `redundant-declaration` warning; one with a differing definition is rejected. A field owned by two sibling bases is a conflict and is rejected. Omit to leave the config schema-less. Conversion warnings are returned in `warnings`.","required":["type","value"],"properties":{"type":{"type":"string","const":"json-schema","isRequired":true,"uniqueKey":"schema.oneOf.0.type","typeLabel":"string"},"value":{"description":"A JSON Schema document (an object).","type":"object","propertyNames":{"type":"string"},"additionalProperties":{"oneOf":[{}],"uniqueKey":"schema.oneOf.0.value.additionalProperties","typeLabel":"any"},"isRequired":true,"uniqueKey":"schema.oneOf.0.value","typeLabel":"object"}},"additionalProperties":false,"uniqueKey":"schema.oneOf.0","typeLabel":"object"},{"type":"object","description":"Field definitions for this config, as a JSON Schema document (`{ type: \"json-schema\", value }`) or typed-code source (`{ type: \"typescript\" | \"protobuf\" | \"python\" | \"go\" | \"rust\", value }`) — converted server-side in one call. Fields whose key an ancestor (via `parent`/`extends`) already owns follow \"base wins\": an identical re-declaration is stripped with a `redundant-declaration` warning; one with a differing definition is rejected. A field owned by two sibling bases is a conflict and is rejected. Omit to leave the config schema-less. Conversion warnings are returned in `warnings`.","required":["type","value"],"properties":{"type":{"type":"string","const":"typescript","isRequired":true,"uniqueKey":"schema.oneOf.1.type","typeLabel":"string"},"value":{"description":"TypeScript source — an interface or object type.","type":"string","isRequired":true,"uniqueKey":"schema.oneOf.1.value","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"schema.oneOf.1","typeLabel":"object"},{"type":"object","description":"Field definitions for this config, as a JSON Schema document (`{ type: \"json-schema\", value }`) or typed-code source (`{ type: \"typescript\" | \"protobuf\" | \"python\" | \"go\" | \"rust\", value }`) — converted server-side in one call. Fields whose key an ancestor (via `parent`/`extends`) already owns follow \"base wins\": an identical re-declaration is stripped with a `redundant-declaration` warning; one with a differing definition is rejected. A field owned by two sibling bases is a conflict and is rejected. Omit to leave the config schema-less. Conversion warnings are returned in `warnings`.","required":["type","value"],"properties":{"type":{"type":"string","const":"protobuf","isRequired":true,"uniqueKey":"schema.oneOf.2.type","typeLabel":"string"},"value":{"description":"Protobuf (proto3) source — a `message` definition.","type":"string","isRequired":true,"uniqueKey":"schema.oneOf.2.value","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"schema.oneOf.2","typeLabel":"object"},{"type":"object","description":"Field definitions for this config, as a JSON Schema document (`{ type: \"json-schema\", value }`) or typed-code source (`{ type: \"typescript\" | \"protobuf\" | \"python\" | \"go\" | \"rust\", value }`) — converted server-side in one call. Fields whose key an ancestor (via `parent`/`extends`) already owns follow \"base wins\": an identical re-declaration is stripped with a `redundant-declaration` warning; one with a differing definition is rejected. A field owned by two sibling bases is a conflict and is rejected. Omit to leave the config schema-less. Conversion warnings are returned in `warnings`.","required":["type","value"],"properties":{"type":{"type":"string","const":"python","isRequired":true,"uniqueKey":"schema.oneOf.3.type","typeLabel":"string"},"value":{"description":"Python source — a Pydantic `BaseModel` class.","type":"string","isRequired":true,"uniqueKey":"schema.oneOf.3.value","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"schema.oneOf.3","typeLabel":"object"},{"type":"object","description":"Field definitions for this config, as a JSON Schema document (`{ type: \"json-schema\", value }`) or typed-code source (`{ type: \"typescript\" | \"protobuf\" | \"python\" | \"go\" | \"rust\", value }`) — converted server-side in one call. Fields whose key an ancestor (via `parent`/`extends`) already owns follow \"base wins\": an identical re-declaration is stripped with a `redundant-declaration` warning; one with a differing definition is rejected. A field owned by two sibling bases is a conflict and is rejected. Omit to leave the config schema-less. Conversion warnings are returned in `warnings`.","required":["type","value"],"properties":{"type":{"type":"string","const":"go","isRequired":true,"uniqueKey":"schema.oneOf.4.type","typeLabel":"string"},"value":{"description":"Go source — a `struct` definition.","type":"string","isRequired":true,"uniqueKey":"schema.oneOf.4.value","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"schema.oneOf.4","typeLabel":"object"},{"type":"object","description":"Field definitions for this config, as a JSON Schema document (`{ type: \"json-schema\", value }`) or typed-code source (`{ type: \"typescript\" | \"protobuf\" | \"python\" | \"go\" | \"rust\", value }`) — converted server-side in one call. Fields whose key an ancestor (via `parent`/`extends`) already owns follow \"base wins\": an identical re-declaration is stripped with a `redundant-declaration` warning; one with a differing definition is rejected. A field owned by two sibling bases is a conflict and is rejected. Omit to leave the config schema-less. Conversion warnings are returned in `warnings`.","required":["type","value"],"properties":{"type":{"type":"string","const":"rust","isRequired":true,"uniqueKey":"schema.oneOf.5.type","typeLabel":"string"},"value":{"description":"Rust source — a serde `struct` definition.","type":"string","isRequired":true,"uniqueKey":"schema.oneOf.5.value","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"schema.oneOf.5","typeLabel":"object"}],"uniqueKey":"schema","typeLabel":"object"},"source":{"description":"Optional identifier of the consuming codebase/service. When a typed-code schema (`typescript`/`protobuf`/`python`/`go`/`rust`) is supplied, its named-type structure is captured under this source so `GET /configs/:key/schema?source=\u003cid>\u0026format=\u003clang>` can reproduce those names.","type":"string","uniqueKey":"source","typeLabel":"string"},"extensible":{"type":"boolean","uniqueKey":"extensible","typeLabel":"boolean"},"experimentGuard":{"description":"Enable the experiment guard on this config: publishing a change served to a running experiment soft-blocks unless overridden. Omit to inherit the org default.","type":"boolean","uniqueKey":"experimentGuard","typeLabel":"boolean"},"invariants":{"description":"Cross-field validation rules. Each rule's expression is a mongo condition (mongrule). Stored on the config schema and enforced at publish.","type":"array","items":{"type":"object","properties":{"name":{"type":"string","maxLength":128,"isRequired":true,"uniqueKey":"invariants.items.[INDEX].name","typeLabel":"string"},"rule":{"description":"The rule expression, as a mongo condition (mongrule) — the same condition syntax as feature targeting, extended with `{ \"$ref\": \"otherField\" }` to compare against another field, e.g. `{ \"min_replicas\": { \"$lte\": { \"$ref\": \"max_replicas\" } } }`.","type":"object","propertyNames":{"type":"string"},"additionalProperties":{"oneOf":[{}],"uniqueKey":"invariants.items.[INDEX].rule.additionalProperties","typeLabel":"any"},"isRequired":true,"uniqueKey":"invariants.items.[INDEX].rule","typeLabel":"object"},"message":{"description":"Shown to editors when the rule is violated. Optional — defaults to a generic message naming the rule.","type":"string","maxLength":10000,"uniqueKey":"invariants.items.[INDEX].message","typeLabel":"string"}},"required":["name","rule"],"additionalProperties":false,"uniqueKey":"invariants.items.[INDEX]","typeLabel":"object"},"uniqueKey":"invariants","typeLabel":"object[]"},"ignoreWarnings":{"description":"Set to true to acknowledge the warnings listed in a blocked response and continue. This covers experiment guards, locked dependents, and references affected by an archive. When the organization treats schema failures as warnings, it also covers schema and invariant warnings. It never bypasses a rejected Custom Hook. On revision publish endpoints, it can also force-publish an out-of-date draft when the caller has Bypass draft approvals access. Only set this when a person has explicitly asked you to. If a check blocks you, stop and ask a person instead of working around it.","type":"boolean","uniqueKey":"ignoreWarnings","typeLabel":"boolean"},"skipSchemaValidation":{"description":"Set to true to publish despite schema validation errors, failed invariants, or schema changes that invalidate dependent resources. This does not bypass a rejected Custom Hook; use `skipHooks` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. Only set this when a person has explicitly asked you to. If a check blocks you, stop and ask a person instead of working around it.","type":"boolean","uniqueKey":"skipSchemaValidation","typeLabel":"boolean"},"skipHooks":{"description":"Set to true to publish despite a Custom Hook rejection. This does not bypass schema validation; use `skipSchemaValidation` for that. The caller must have Bypass draft approvals access for Feature Flags, Configs, and Constants in every Project. Otherwise, this field is ignored. Only set this when a person has explicitly asked you to. If a check blocks you, stop and ask a person instead of working around it.","type":"boolean","uniqueKey":"skipHooks","typeLabel":"boolean"}},"required":["key","name"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"key":"\u003cstring>","name":"\u003cstring>","parent":"\u003cstring>","extends":["\u003cstring>"],"value":{},"scopedOverrides":[{"config":"\u003cstring>","environments":["\u003cstring>"],"projects":["\u003cstring>"]}],"description":"\u003cstring>","project":"\u003cstring>","owner":"\u003cstring>","schema":{"type":"json-schema","value":{}},"source":"\u003cstring>","extensible":true,"experimentGuard":true,"invariants":[{"name":"\u003cstring>","rule":{},"message":"\u003cstring>"}],"ignoreWarnings":true,"skipSchemaValidation":true,"skipHooks":true}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"41b4b65c-fe58-43a8-aa5d-a7f8bc39e096":{"description":"Resource created","content":{"application/json":{"schema":{"type":"object","properties":{"config":{"type":"object","properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"config.id","typeLabel":"string"},"key":{"description":"Stable reference handle; used as `@config:key` in values","type":"string","isRequired":true,"uniqueKey":"config.key","typeLabel":"string"},"name":{"type":"string","isRequired":true,"uniqueKey":"config.name","typeLabel":"string"},"dateCreated":{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"config.dateCreated","typeLabel":"string\u003cdate-time>"},"dateUpdated":{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"config.dateUpdated","typeLabel":"string\u003cdate-time>"},"owner":{"description":"The userId of the owner (or raw owner name/email for legacy records)","type":"string","uniqueKey":"config.owner","typeLabel":"string"},"ownerEmail":{"description":"The email address of the owner, when the owner can be resolved to a known user.","type":"string","uniqueKey":"config.ownerEmail","typeLabel":"string"},"parent":{"description":"The `key` of the config this one inherits from (lineage parent — the primary spine). Synthesized into `$extends` at resolution time and never stored in `value`.","type":"string","uniqueKey":"config.parent","typeLabel":"string"},"extends":{"description":"Additional composition bases (config `key`s) layered on top of `parent`, in precedence order (later overrides earlier; all override `parent`; this config's own keys win last). Like `parent`, set via this field — never via a `@config:` entry in `value`.","type":"array","items":{"type":"string","uniqueKey":"config.extends.items.[INDEX]","typeLabel":"string"},"uniqueKey":"config.extends","typeLabel":"string[]"},"value":{"description":"This config's own base value as a JSON object (its declared fields only — inherited fields are layered in at resolution time, not stored here). Per-environment/project variants are expressed via `scopedOverrides`, not here.","type":"object","propertyNames":{"type":"string"},"additionalProperties":{"oneOf":[{}],"uniqueKey":"config.value.additionalProperties","typeLabel":"any"},"uniqueKey":"config.value","typeLabel":"object"},"scopedOverrides":{"description":"Ordered, first-match-wins environment/project-scoped variant selection. Each entry points at a flavor config (a child config, by `key`) whose value is deep-merged onto this config's resolved value when the (environment, project) scope matches — resolved at build time, per layer. This is how you create an environment-scoped override (as opposed to a plain child config): make a child config for the override value, then add it here with its scope. Send the complete list to replace it; an empty array clears all overrides. Entries must reference existing configs, may not reference this config itself, and may not be unreachable (fully subsumed by an earlier entry).","type":"array","items":{"type":"object","properties":{"config":{"description":"The `key` of the flavor config (a child config) whose value patches this config when the scope matches.","type":"string","isRequired":true,"uniqueKey":"config.scopedOverrides.items.[INDEX].config","typeLabel":"string"},"environments":{"description":"Environment ids this entry applies to. Empty/omitted = any environment.","type":"array","items":{"type":"string","uniqueKey":"config.scopedOverrides.items.[INDEX].environments.items.[INDEX]","typeLabel":"string"},"uniqueKey":"config.scopedOverrides.items.[INDEX].environments","typeLabel":"string[]"},"projects":{"description":"Project ids this entry applies to. Empty/omitted = any project.","type":"array","items":{"type":"string","uniqueKey":"config.scopedOverrides.items.[INDEX].projects.items.[INDEX]","typeLabel":"string"},"uniqueKey":"config.scopedOverrides.items.[INDEX].projects","typeLabel":"string[]"}},"required":["config"],"additionalProperties":false,"uniqueKey":"config.scopedOverrides.items.[INDEX]","typeLabel":"object"},"uniqueKey":"config.scopedOverrides","typeLabel":"object[]"},"scopedConfig":{"description":"Present ONLY when this config is an environment/project-scoped override (a \"flavor\") of another config. Its value is a patch that applies solely within the listed environments/projects, layered onto `parent` at resolution — it is NOT a standalone config. A plain config (including an ordinary child that just inherits from a `parent`) omits this field entirely. Read-only: create/change the relationship via the parent config's `scopedOverrides`, never by setting this directly.","type":"object","properties":{"parent":{"description":"The base config this one is a scoped override of.","type":"string","isRequired":true,"uniqueKey":"config.scopedConfig.parent","typeLabel":"string"},"environments":{"description":"Environments this override applies to (empty/absent = every environment).","type":"array","items":{"type":"string","uniqueKey":"config.scopedConfig.environments.items.[INDEX]","typeLabel":"string"},"uniqueKey":"config.scopedConfig.environments","typeLabel":"string[]"},"projects":{"description":"Projects this override applies to (empty/absent = every project).","type":"array","items":{"type":"string","uniqueKey":"config.scopedConfig.projects.items.[INDEX]","typeLabel":"string"},"uniqueKey":"config.scopedConfig.projects","typeLabel":"string[]"}},"required":["parent"],"additionalProperties":false,"uniqueKey":"config.scopedConfig","typeLabel":"object"},"description":{"type":"string","maxLength":10000,"uniqueKey":"config.description","typeLabel":"string"},"project":{"description":"The project this config belongs to (empty = all projects)","type":"string","uniqueKey":"config.project","typeLabel":"string"},"archived":{"type":"boolean","uniqueKey":"config.archived","typeLabel":"boolean"},"schema":{"description":"This config's own field definitions as a JSON Schema document (its contribution to the family's effective schema). Inherited fields are owned by ancestors and are not repeated here.","type":"object","properties":{"type":{"type":"string","const":"json-schema","isRequired":true,"uniqueKey":"config.schema.type","typeLabel":"string"},"value":{"description":"A JSON Schema document (an object).","type":"object","propertyNames":{"type":"string"},"additionalProperties":{"oneOf":[{}],"uniqueKey":"config.schema.value.additionalProperties","typeLabel":"any"},"isRequired":true,"uniqueKey":"config.schema.value","typeLabel":"object"}},"required":["type","value"],"additionalProperties":false,"uniqueKey":"config.schema","typeLabel":"object"},"extensible":{"description":"Whether this config family permits extra keys beyond the declared fields (child configs, feature rules, ad-hoc overrides). Only the root config's flag applies. Absent = inherit the org default.","type":"boolean","uniqueKey":"config.extensible","typeLabel":"boolean"},"invariants":{"description":"Cross-field validation rules (relational checks JSON Schema can't express, e.g. implications or comparing two fields), evaluated against the resolved value at publish.","type":"array","items":{"type":"object","properties":{"name":{"description":"Unique name for the rule.","type":"string","maxLength":128,"isRequired":true,"uniqueKey":"config.invariants.items.[INDEX].name","typeLabel":"string"},"rule":{"description":"A mongo condition (mongrule) boolean expression over the config's fields.","type":"object","propertyNames":{"type":"string"},"additionalProperties":{"oneOf":[{}],"uniqueKey":"config.invariants.items.[INDEX].rule.additionalProperties","typeLabel":"any"},"isRequired":true,"uniqueKey":"config.invariants.items.[INDEX].rule","typeLabel":"object"},"message":{"description":"Human-readable error shown when the rule is violated.","type":"string","maxLength":10000,"isRequired":true,"uniqueKey":"config.invariants.items.[INDEX].message","typeLabel":"string"}},"required":["name","rule","message"],"additionalProperties":false,"uniqueKey":"config.invariants.items.[INDEX]","typeLabel":"object"},"uniqueKey":"config.invariants","typeLabel":"object[]"},"locked":{"description":"Whether this Config is locked to a published revision. Drafts can still be created and edited while locked, but no change can be published until a user with Bypass draft approvals access unlocks it.","type":"boolean","uniqueKey":"config.locked","typeLabel":"boolean"},"experimentGuard":{"description":"Whether the experiment guard is enabled. When enabled, publishing a value used by a running experiment returns a warning that must be acknowledged with `ignoreWarnings: true`. Disabling the guard requires Bypass draft approvals access.","type":"boolean","uniqueKey":"config.experimentGuard","typeLabel":"boolean"},"lockedRevision":{"description":"The pinned published revision (present only when `locked`). Fetch it via `GET /configs-revisions/:key/:version` for a value guaranteed not to disappear or mutate — use it to pin reproducible builds.","type":"object","properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"config.lockedRevision.id","typeLabel":"string"},"version":{"type":"number","isRequired":true,"uniqueKey":"config.lockedRevision.version","typeLabel":"number"}},"required":["id","version"],"additionalProperties":false,"uniqueKey":"config.lockedRevision","typeLabel":"object"},"lockedBy":{"description":"Who locked the config: a member's user ID, or an API key's ID when it acted as itself","type":"string","uniqueKey":"config.lockedBy","typeLabel":"string"},"dateLocked":{"format":"date-time","description":"When the config was locked (when `locked`).","type":"string","uniqueKey":"config.dateLocked","typeLabel":"string\u003cdate-time>"}},"required":["id","key","name","dateCreated","dateUpdated"],"additionalProperties":false,"isRequired":true,"uniqueKey":"config","typeLabel":"object"},"warnings":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","enum":["dropped-declaration","non-object-root","unresolved-type","unsupported-member","redundant-declaration","undeclared-rule-field"],"isRequired":true,"uniqueKey":"warnings.items.[INDEX].code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"warnings.items.[INDEX].message","typeLabel":"string"},"path":{"type":"string","uniqueKey":"warnings.items.[INDEX].path","typeLabel":"string"}},"required":["code","message"],"additionalProperties":false,"uniqueKey":"warnings.items.[INDEX]","typeLabel":"object"},"uniqueKey":"warnings","typeLabel":"object[]"},"postPublishWarnings":{"description":"Steps that failed AFTER the value publish committed (e.g. an experiment-guard toggle in the same request). The publish stands; retry only the named step.","type":"array","items":{"type":"string","uniqueKey":"postPublishWarnings.items.[INDEX]","typeLabel":"string"},"uniqueKey":"postPublishWarnings","typeLabel":"string[]"}},"required":["config"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"config":{"id":"\u003cstring>","key":"\u003cstring>","name":"\u003cstring>","dateCreated":"2023-11-07T05:31:56Z","dateUpdated":"2023-11-07T05:31:56Z","owner":"\u003cstring>","ownerEmail":"\u003cstring>","parent":"\u003cstring>","extends":["\u003cstring>"],"value":{},"scopedOverrides":[{"config":"\u003cstring>","environments":["\u003cstring>"],"projects":["\u003cstring>"]}],"scopedConfig":{"parent":"\u003cstring>","environments":["\u003cstring>"],"projects":["\u003cstring>"]},"description":"\u003cstring>","project":"\u003cstring>","archived":true,"schema":{"type":"json-schema","value":{}},"extensible":true,"invariants":[{"name":"\u003cstring>","rule":{},"message":"\u003cstring>"}],"locked":true,"experimentGuard":true,"lockedRevision":{"id":"\u003cstring>","version":123},"lockedBy":"\u003cstring>","dateLocked":"2023-11-07T05:31:56Z"},"warnings":[{"code":"dropped-declaration","message":"\u003cstring>","path":"\u003cstring>"}],"postPublishWarnings":["\u003cstring>"]}}},"exampleType":"generated"}},"exampleType":"generated"},"8246bbb3-a255-4d7e-b30a-38da52950076":{"description":"Held until a person confirms it in GrowthBook. Poll the Location until the confirmation completes.","headers":{"Location":{"description":"The confirmation to poll","schema":{"type":"string"}},"Retry-After":{"description":"Seconds to wait before polling","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"confirmation":{"type":"object","properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"confirmation.id","typeLabel":"string"},"status":{"type":"string","enum":["pending","running","completed","rejected","expired"],"isRequired":true,"uniqueKey":"confirmation.status","typeLabel":"enum\u003cstring>"},"actions":{"type":"array","items":{"type":"object","properties":{"action":{"type":"string","enum":["feature.create","feature.draft","feature.review","feature.publish","feature.archive","feature.delete","feature.other","experiment.create","experiment.draft","experiment.start","experiment.stop","experiment.targeting","experiment.traffic","experiment.phases","experiment.visualEditor","experiment.checklist","experiment.other","savedGroup.create","savedGroup.draft","savedGroup.review","savedGroup.publish","savedGroup.archive","savedGroup.delete","savedGroup.other","constant.create","constant.draft","constant.review","constant.publish","constant.archive","constant.delete","constant.other","config.create","config.draft","config.review","config.publish","config.archive","config.delete","config.other","rampSchedule.create","rampSchedule.start","rampSchedule.pause","rampSchedule.progression","rampSchedule.approve","rampSchedule.edit","rampSchedule.delete","rampSchedule.other","settings.approvals","settings.dataSources","settings.webhooks","settings.other","access.members","access.teams","customHook.create","customHook.edit","customHook.delete","environment.create","environment.edit","environment.delete","project.create","project.edit","project.delete","attribute.create","attribute.edit","attribute.delete","customField.create","customField.edit","customField.delete","sdkConnection.create","sdkConnection.edit","sdkConnection.delete","metric.create","metric.edit","metric.delete","factTable.create","factTable.edit","factTable.delete","segment.create","segment.edit","segment.delete","dimension.create","dimension.edit","dimension.delete","override.ignoreWarnings","override.skipSchemaValidation","override.skipHooks","override.bypassApproval","override.restBypassesReviews","override.draftLimit","override.skipChecklist","override.bypassDuplicateKeyCheck","override.unscopedRules","other.write"],"isRequired":true,"uniqueKey":"confirmation.actions.items.[INDEX].action","typeLabel":"enum\u003cstring>"},"environments":{"type":"array","items":{"type":"string","uniqueKey":"confirmation.actions.items.[INDEX].environments.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"confirmation.actions.items.[INDEX].environments","typeLabel":"string[]"}},"required":["action","environments"],"additionalProperties":false,"uniqueKey":"confirmation.actions.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"confirmation.actions","typeLabel":"object[]"},"summary":{"type":"string","isRequired":true,"uniqueKey":"confirmation.summary","typeLabel":"string"},"url":{"type":"string","isRequired":true,"uniqueKey":"confirmation.url","typeLabel":"string"},"expiresAt":{"type":"string","isRequired":true,"uniqueKey":"confirmation.expiresAt","typeLabel":"string"},"response":{"oneOf":[{"type":"object","required":["status","body"],"properties":{"status":{"type":"number","isRequired":true,"uniqueKey":"confirmation.response.oneOf.0.status","typeLabel":"number"},"body":{"oneOf":[{"isRequired":true}],"isRequired":true,"uniqueKey":"confirmation.response.oneOf.0.body","typeLabel":"any"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"confirmation.response.oneOf.0","typeLabel":"object"},{"type":"null","isRequired":true,"uniqueKey":"confirmation.response.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"confirmation.response","typeLabel":"object | null"},"note":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"confirmation.note.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"confirmation.note.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"confirmation.note","typeLabel":"string | null"}},"required":["id","status","actions","summary","url","expiresAt","response","note"],"additionalProperties":false,"isRequired":true,"uniqueKey":"confirmation","typeLabel":"object"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"required":["confirmation","message"],"additionalProperties":false,"$defs":{"Confirmation":{"id":"Confirmation","type":"object","properties":{"id":{"type":"string"},"status":{"type":"string","enum":["pending","running","completed","rejected","expired"]},"actions":{"type":"array","items":{"type":"object","properties":{"action":{"type":"string","enum":["feature.create","feature.draft","feature.review","feature.publish","feature.archive","feature.delete","feature.other","experiment.create","experiment.draft","experiment.start","experiment.stop","experiment.targeting","experiment.traffic","experiment.phases","experiment.visualEditor","experiment.checklist","experiment.other","savedGroup.create","savedGroup.draft","savedGroup.review","savedGroup.publish","savedGroup.archive","savedGroup.delete","savedGroup.other","constant.create","constant.draft","constant.review","constant.publish","constant.archive","constant.delete","constant.other","config.create","config.draft","config.review","config.publish","config.archive","config.delete","config.other","rampSchedule.create","rampSchedule.start","rampSchedule.pause","rampSchedule.progression","rampSchedule.approve","rampSchedule.edit","rampSchedule.delete","rampSchedule.other","settings.approvals","settings.dataSources","settings.webhooks","settings.other","access.members","access.teams","customHook.create","customHook.edit","customHook.delete","environment.create","environment.edit","environment.delete","project.create","project.edit","project.delete","attribute.create","attribute.edit","attribute.delete","customField.create","customField.edit","customField.delete","sdkConnection.create","sdkConnection.edit","sdkConnection.delete","metric.create","metric.edit","metric.delete","factTable.create","factTable.edit","factTable.delete","segment.create","segment.edit","segment.delete","dimension.create","dimension.edit","dimension.delete","override.ignoreWarnings","override.skipSchemaValidation","override.skipHooks","override.bypassApproval","override.restBypassesReviews","override.draftLimit","override.skipChecklist","override.bypassDuplicateKeyCheck","override.unscopedRules","other.write"]},"environments":{"type":"array","items":{"type":"string"}}},"required":["action","environments"],"additionalProperties":false}},"summary":{"type":"string"},"url":{"type":"string"},"expiresAt":{"type":"string"},"response":{"anyOf":[{"type":"object","properties":{"status":{"type":"number"},"body":{}},"required":["status","body"],"additionalProperties":false},{"type":"null"}]},"note":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","status","actions","summary","url","expiresAt","response","note"],"additionalProperties":false}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"confirmation":{"id":"\u003cstring>","status":"pending","actions":[{"action":"feature.create","environments":["\u003cstring>"]}],"summary":"\u003cstring>","url":"\u003cstring>","expiresAt":"\u003cstring>","response":{"status":123,"body":"\u003cunknown>"},"note":"\u003cstring>"},"message":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"39f8baee-89af-48af-97cd-a77d7ae5805f":{"bearerAuth":{"type":"http","scheme":"bearer","description":"If using Bearer auth, pass the Secret Key as the token:\n```bash\ncurl https://api.growthbook.io/api/v1/features -H \"Authorization: Bearer secret_abc123DEF456\"\n```\n","scopes":[],"schemeName":"bearerAuth"}},"47385602-9b87-4bff-8064-591e4fff7952":{"basicAuth":{"type":"http","scheme":"basic","description":"If using HTTP Basic auth, pass the Secret Key as the username and leave the password blank:\n```bash\ncurl https://api.growthbook.io/api/v1/features -u secret_abc123DEF456:\n# The \":\" at the end stops curl from asking for a password\n```\n","scopes":[],"schemeName":"basicAuth"}}},"servers":{"a6ecc9df-d1f4-41e6-a0cb-2bd893de37e5":{"url":"https://api.growthbook.io/api","description":"GrowthBook Cloud"},"9c291727-9133-4897-bd87-57df70039cee":{"url":"https://{domain}/api","description":"Self-hosted GrowthBook","variables":{"domain":{"default":"localhost:3100","description":"Your self-hosted GrowthBook host (and port)"}}}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"If using Bearer auth, pass the Secret Key as the token:\n```bash\ncurl https://api.growthbook.io/api/v1/features -H \"Authorization: Bearer secret_abc123DEF456\"\n```\n","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"If using Bearer auth, pass the Secret Key as the token:\n```bash\ncurl https://api.growthbook.io/api/v1/features -H \"Authorization: Bearer secret_abc123DEF456\"\n```\n","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"},{"schemes":[{"scheme":{"type":"http","scheme":"basic","description":"If using HTTP Basic auth, pass the Secret Key as the username and leave the password blank:\n```bash\ncurl https://api.growthbook.io/api/v1/features -u secret_abc123DEF456:\n# The \":\" at the end stops curl from asking for a password\n```\n","scopes":[],"schemeName":"basicAuth"},"schema":{"title":"Basic Auth","type":"object","description":"If using HTTP Basic auth, pass the Secret Key as the username and leave the password blank:\n```bash\ncurl https://api.growthbook.io/api/v1/features -u secret_abc123DEF456:\n# The \":\" at the end stops curl from asking for a password\n```\n","isRequired":true,"properties":{"username":{"type":"string","uniqueKey":"username","isRequired":true,"typeLabel":"string","deprecated":false},"password":{"type":"string","uniqueKey":"password","isRequired":true,"typeLabel":"string","deprecated":false}},"additionalProperties":false,"deprecated":false},"schemeName":"basicAuth","name":"Authorization"}],"title":"basicAuth"}]},"originalFileLocation":"openapi.yaml"},"subdomain":"growthbook-ea15456d","siteName":"GrowthBook Documentation","title":"Create a single config - GrowthBook Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-12T16:57:43.416Z","originalFileLocation":"api/configs/operation/postConfig.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=\"application-name\" content=\"GrowthBook Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/growthbook-ea15456d/OQgSyDtrkb__kTVO/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/growthbook-ea15456d/OQgSyDtrkb__kTVO/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/growthbook-ea15456d/OQgSyDtrkb__kTVO/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/growthbook-ea15456d/OQgSyDtrkb__kTVO/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/growthbook-ea15456d/OQgSyDtrkb__kTVO/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/growthbook-ea15456d/OQgSyDtrkb__kTVO/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/growthbook-ea15456d/OQgSyDtrkb__kTVO/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/growthbook-ea15456d/OQgSyDtrkb__kTVO/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/growthbook-ea15456d/OQgSyDtrkb__kTVO/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create a single config - GrowthBook Documentation\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"GrowthBook Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.growthbook.io/api/configs/operation/postConfig\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://growthbook-ea15456d.mintlify.site/_mintlify/api/og/v2?division=Configs\u0026amp;title=Create+a+single+config\u0026amp;theme=eaa6443ec500d260c3ee1256\u0026amp;signature=65b7253d989176f12990acdf5644b7e9a1be5948ee9840b396a6d17905fdc481\">\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 a single config - GrowthBook Documentation\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://growthbook-ea15456d.mintlify.site/_mintlify/api/og/v2?division=Configs\u0026amp;title=Create+a+single+config\u0026amp;theme=eaa6443ec500d260c3ee1256\u0026amp;signature=65b7253d989176f12990acdf5644b7e9a1be5948ee9840b396a6d17905fdc481\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/growthbook-ea15456d/OQgSyDtrkb__kTVO/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"GrowthBook Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#039DD0\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.growthbook.io/api/configs/operation/postConfig\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api/configs/operation/postConfig.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.growthbook.io/#organization\",\"name\":\"GrowthBook Documentation\",\"url\":\"https://docs.growthbook.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/growthbook-ea15456d/66H-dO8hZfIFVUdN/static/img/growthbook-docslogo-light.png?fit=max\u0026auto=format\u0026n=66H-dO8hZfIFVUdN\u0026q=85\u0026s=36f32d1bbabbdafdb0bd9bc2b53c43e7\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.growthbook.io#website\",\"name\":\"GrowthBook Documentation\",\"url\":\"https://docs.growthbook.io\",\"publisher\":{\"@id\":\"https://docs.growthbook.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.growthbook.io/api/configs/operation/postConfig#webpage\",\"url\":\"https://docs.growthbook.io/api/configs/operation/postConfig\",\"name\":\"Create a single config\",\"dateModified\":\"2026-11-12T16:57:43.416Z\",\"isPartOf\":{\"@id\":\"https://docs.growthbook.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.growthbook.io/api/configs/operation/postConfig#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.growthbook.io/api/configs/operation/postConfig#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoints\",\"item\":\"https://docs.growthbook.io/api/projects/operation/listProjects\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Configs\",\"item\":\"https://docs.growthbook.io/api/configs/operation/listConfigs\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Create a single config\",\"item\":\"https://docs.growthbook.io/api/configs/operation/postConfig\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.growthbook.io/api/configs/operation/postConfig#apireference\",\"headline\":\"Create a single config\",\"name\":\"Create a single config\",\"url\":\"https://docs.growthbook.io/api/configs/operation/postConfig\",\"mainEntityOfPage\":{\"@id\":\"https://docs.growthbook.io/api/configs/operation/postConfig#webpage\"},\"dateModified\":\"2026-11-12T16:57:43.416Z\",\"publisher\":{\"@id\":\"https://docs.growthbook.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.growthbook.io#website\"}}]}\u003c/script>","agentPointerHref":"/api/configs/operation/postConfig.md","siteName":"GrowthBook Documentation","nav":{"global":{"anchors":[]},"tabs":[{"tab":"Docs","pages":[{"title":"Docs","href":""}]},{"tab":"SDKs","pages":[{"title":"SDKs","href":"/lib"}]},{"tab":"API","groups":[{"group":"Introduction","pages":[{"title":"Introduction","href":"/api/introduction"}]},{"group":"Endpoints","pages":[{"group":"Projects","pages":[{"title":"Get all projects","openapi":"openapi.yaml GET /v1/projects","href":"/api/projects/operation/listProjects"},{"title":"Create a single project","openapi":"openapi.yaml POST /v1/projects","href":"/api/projects/operation/postProject"},{"title":"Get a single project","openapi":"openapi.yaml GET /v1/projects/{id}","href":"/api/projects/operation/getProject"},{"title":"Edit a single project","openapi":"openapi.yaml PUT /v1/projects/{id}","href":"/api/projects/operation/putProject"},{"title":"Deletes a single project","openapi":"openapi.yaml DELETE /v1/projects/{id}","href":"/api/projects/operation/deleteProject"}]},{"group":"Environments","pages":[{"title":"Get the organization's environments","openapi":"openapi.yaml GET /v1/environments","href":"/api/environments/operation/listEnvironments"},{"title":"Create a new environment","openapi":"openapi.yaml POST /v1/environments","href":"/api/environments/operation/postEnvironment"},{"title":"Update an environment","openapi":"openapi.yaml PUT /v1/environments/{id}","href":"/api/environments/operation/putEnvironment"},{"title":"Deletes a single environment","openapi":"openapi.yaml DELETE /v1/environments/{id}","href":"/api/environments/operation/deleteEnvironment"}]},{"group":"Feature Flags","tag":"v2","pages":[{"title":"Get all features","openapi":"openapi.yaml GET /v2/features","href":"/api/features-v2/operation/listFeaturesV2"},{"title":"Create a single feature","openapi":"openapi.yaml POST /v2/features","href":"/api/features-v2/operation/postFeatureV2"},{"title":"Get a single feature","openapi":"openapi.yaml GET /v2/features/{id}","href":"/api/features-v2/operation/getFeatureV2"},{"title":"Partially update a feature","openapi":"openapi.yaml POST /v2/features/{id}","href":"/api/features-v2/operation/updateFeatureV2"},{"title":"Deletes a single feature","openapi":"openapi.yaml DELETE /v2/features/{id}","href":"/api/features-v2/operation/deleteFeatureV2"},{"title":"Toggle a feature in one or more environments","openapi":"openapi.yaml POST /v2/features/{id}/toggle","href":"/api/features-v2/operation/toggleFeatureV2"},{"title":"Revert a feature to a specific revision","openapi":"openapi.yaml POST /v2/features/{id}/revert","href":"/api/features-v2/operation/revertFeatureV2"},{"title":"Get list of feature keys","openapi":"openapi.yaml GET /v2/feature-keys","href":"/api/features-v2/operation/getFeatureKeysV2"},{"title":"Get stale status for one or more features","openapi":"openapi.yaml GET /v2/stale-features","href":"/api/features-v2/operation/getFeatureStaleV2"}]},{"group":"Feature Revisions","tag":"v2","pages":[{"title":"List revisions across all features","openapi":"openapi.yaml GET /v2/feature-revisions","href":"/api/feature-revisions-v2/operation/listRevisionsV2"},{"title":"List revisions for a feature","openapi":"openapi.yaml GET /v2/features/{id}/revisions","href":"/api/feature-revisions-v2/operation/getFeatureRevisionsV2"},{"title":"Create a draft revision","openapi":"openapi.yaml POST /v2/features/{id}/revisions","href":"/api/feature-revisions-v2/operation/postFeatureRevisionV2"},{"title":"Get the most recent active draft revision","openapi":"openapi.yaml GET /v2/features/{id}/revisions/latest","href":"/api/feature-revisions-v2/operation/getFeatureRevisionLatestV2"},{"title":"Get a single feature revision","openapi":"openapi.yaml GET /v2/features/{id}/revisions/{version}","href":"/api/feature-revisions-v2/operation/getFeatureRevisionV2"},{"title":"Diff a revision against another revision","openapi":"openapi.yaml GET /v2/features/{id}/revisions/{version}/diff","href":"/api/feature-revisions-v2/operation/getFeatureRevisionDiffV2"},{"title":"Update revision metadata","openapi":"openapi.yaml PUT /v2/features/{id}/revisions/{version}/metadata","href":"/api/feature-revisions-v2/operation/putFeatureRevisionMetadataV2"},{"title":"Set the default value in a draft revision","openapi":"openapi.yaml PUT /v2/features/{id}/revisions/{version}/default-value","href":"/api/feature-revisions-v2/operation/putFeatureRevisionDefaultValueV2"},{"title":"Set feature-level prerequisites in a draft revision","openapi":"openapi.yaml PUT /v2/features/{id}/revisions/{version}/prerequisites","href":"/api/feature-revisions-v2/operation/putFeatureRevisionPrerequisitesV2"},{"title":"Set holdout in a draft revision","openapi":"openapi.yaml PUT /v2/features/{id}/revisions/{version}/holdout","href":"/api/feature-revisions-v2/operation/putFeatureRevisionHoldoutV2"},{"title":"Set archived state in a draft revision","openapi":"openapi.yaml PUT /v2/features/{id}/revisions/{version}/archive","href":"/api/feature-revisions-v2/operation/putFeatureRevisionArchiveV2"},{"title":"Toggle an environment on/off in a draft revision","openapi":"openapi.yaml POST /v2/features/{id}/revisions/{version}/toggle","href":"/api/feature-revisions-v2/operation/postFeatureRevisionToggleV2"},{"title":"Add a rule to a draft revision","openapi":"openapi.yaml POST /v2/features/{id}/revisions/{version}/rules","href":"/api/feature-revisions-v2/operation/postFeatureRevisionRuleAddV2"},{"title":"Update a rule in a draft revision","openapi":"openapi.yaml PUT /v2/features/{id}/revisions/{version}/rules/{ruleId}","href":"/api/feature-revisions-v2/operation/putFeatureRevisionRuleV2"},{"title":"Delete a rule from a draft revision","openapi":"openapi.yaml DELETE /v2/features/{id}/revisions/{version}/rules/{ruleId}","href":"/api/feature-revisions-v2/operation/deleteFeatureRevisionRuleV2"},{"title":"Reorder rules in the revision","openapi":"openapi.yaml POST /v2/features/{id}/revisions/{version}/rules/reorder","href":"/api/feature-revisions-v2/operation/postFeatureRevisionRulesReorderV2"},{"title":"Set ramp schedule for a rule","openapi":"openapi.yaml PUT /v2/features/{id}/revisions/{version}/rules/{ruleId}/ramp-schedule","href":"/api/feature-revisions-v2/operation/putFeatureRevisionRuleRampScheduleV2"},{"title":"Remove ramp schedule from a rule","openapi":"openapi.yaml DELETE /v2/features/{id}/revisions/{version}/rules/{ruleId}/ramp-schedule","href":"/api/feature-revisions-v2/operation/deleteFeatureRevisionRuleRampScheduleV2"},{"title":"Request review for a draft revision","openapi":"openapi.yaml POST /v2/features/{id}/revisions/{version}/request-review","href":"/api/feature-revisions-v2/operation/postFeatureRevisionRequestReviewV2"},{"title":"Schedule (or cancel) a deferred publish for a draft revision","openapi":"openapi.yaml POST /v2/features/{id}/revisions/{version}/schedule-publish","href":"/api/feature-revisions-v2/operation/postFeatureRevisionSchedulePublishV2"},{"title":"Submit a review on a draft revision","openapi":"openapi.yaml POST /v2/features/{id}/revisions/{version}/submit-review","href":"/api/feature-revisions-v2/operation/postFeatureRevisionSubmitReviewV2"},{"title":"Recall a review request (revert to draft)","openapi":"openapi.yaml POST /v2/features/{id}/revisions/{version}/recall-review","href":"/api/feature-revisions-v2/operation/postFeatureRevisionRecallReviewV2"},{"title":"Undo a reviewer's own review verdict","openapi":"openapi.yaml POST /v2/features/{id}/revisions/{version}/undo-review","href":"/api/feature-revisions-v2/operation/postFeatureRevisionUndoReviewV2"},{"title":"List the activity log for a revision","openapi":"openapi.yaml GET /v2/features/{id}/revisions/{version}/log","href":"/api/feature-revisions-v2/operation/getFeatureRevisionLogV2"},{"title":"Edit the comment text of an owned log entry","openapi":"openapi.yaml PUT /v2/features/{id}/revisions/{version}/log/{logId}","href":"/api/feature-revisions-v2/operation/putFeatureRevisionLogCommentV2"},{"title":"Delete an owned revision Comment entry","openapi":"openapi.yaml DELETE /v2/features/{id}/revisions/{version}/log/{logId}","href":"/api/feature-revisions-v2/operation/deleteFeatureRevisionLogEntryV2"},{"title":"Get merge status for a draft revision","openapi":"openapi.yaml GET /v2/features/{id}/revisions/{version}/merge-status","href":"/api/feature-revisions-v2/operation/getFeatureRevisionMergeStatusV2"},{"title":"Preview a rebase without applying it","openapi":"openapi.yaml POST /v2/features/{id}/revisions/{version}/rebase/preview","href":"/api/feature-revisions-v2/operation/postFeatureRevisionRebasePreviewV2"},{"title":"Rebase a draft revision onto the current live version","openapi":"openapi.yaml POST /v2/features/{id}/revisions/{version}/rebase","href":"/api/feature-revisions-v2/operation/postFeatureRevisionRebaseV2"},{"title":"Publish a draft revision","openapi":"openapi.yaml POST /v2/features/{id}/revisions/{version}/publish","href":"/api/feature-revisions-v2/operation/postFeatureRevisionPublishV2"},{"title":"Discard a draft revision","openapi":"openapi.yaml POST /v2/features/{id}/revisions/{version}/discard","href":"/api/feature-revisions-v2/operation/postFeatureRevisionDiscardV2"},{"title":"Reopen a discarded revision as a draft","openapi":"openapi.yaml POST /v2/features/{id}/revisions/{version}/reopen","href":"/api/feature-revisions-v2/operation/postFeatureRevisionReopenV2"},{"title":"Revert the feature to a prior revision","openapi":"openapi.yaml POST /v2/features/{id}/revisions/{version}/revert","href":"/api/feature-revisions-v2/operation/postFeatureRevisionRevertV2"}]},{"group":"Feature Flags (legacy)","tag":"LEGACY","expanded":false,"pages":[{"title":"Get all features","openapi":"openapi.yaml GET /v1/features","href":"/api/features/operation/listFeatures"},{"title":"Create a single feature","openapi":"openapi.yaml POST /v1/features","href":"/api/features/operation/postFeature"},{"title":"Get a single feature","openapi":"openapi.yaml GET /v1/features/{id}","href":"/api/features/operation/getFeature"},{"title":"Partially update a feature","openapi":"openapi.yaml POST /v1/features/{id}","href":"/api/features/operation/updateFeature"},{"title":"Deletes a single feature","openapi":"openapi.yaml DELETE /v1/features/{id}","href":"/api/features/operation/deleteFeature"},{"title":"Toggle a feature in one or more environments","openapi":"openapi.yaml POST /v1/features/{id}/toggle","href":"/api/features/operation/toggleFeature"},{"title":"Revert a feature to a specific revision","openapi":"openapi.yaml POST /v1/features/{id}/revert","href":"/api/features/operation/revertFeature"},{"title":"Get list of feature keys","openapi":"openapi.yaml GET /v1/feature-keys","href":"/api/features/operation/getFeatureKeys"},{"title":"Get stale status for one or more features","openapi":"openapi.yaml GET /v1/stale-features","href":"/api/features/operation/getFeatureStale"}]},{"group":"Feature Revisions (legacy)","tag":"LEGACY","expanded":false,"pages":[{"title":"List feature revisions","openapi":"openapi.yaml GET /v1/revisions","href":"/api/feature-revisions/operation/listRevisions"},{"title":"List revisions for a feature","openapi":"openapi.yaml GET /v1/features/{id}/revisions","href":"/api/feature-revisions/operation/getFeatureRevisions"},{"title":"Create a draft revision","openapi":"openapi.yaml POST /v1/features/{id}/revisions","href":"/api/feature-revisions/operation/postFeatureRevision"},{"title":"Get the most recent active draft revision","openapi":"openapi.yaml GET /v1/features/{id}/revisions/latest","href":"/api/feature-revisions/operation/getFeatureRevisionLatest"},{"title":"Get a single feature revision","openapi":"openapi.yaml GET /v1/features/{id}/revisions/{version}","href":"/api/feature-revisions/operation/getFeatureRevision"},{"title":"Update revision metadata (comment, title, feature metadata)","openapi":"openapi.yaml PUT /v1/features/{id}/revisions/{version}/metadata","href":"/api/feature-revisions/operation/putFeatureRevisionMetadata"},{"title":"Set the default value in a draft revision","openapi":"openapi.yaml PUT /v1/features/{id}/revisions/{version}/default-value","href":"/api/feature-revisions/operation/putFeatureRevisionDefaultValue"},{"title":"Set feature-level prerequisites in a draft revision","openapi":"openapi.yaml PUT /v1/features/{id}/revisions/{version}/prerequisites","href":"/api/feature-revisions/operation/putFeatureRevisionPrerequisites"},{"title":"Set holdout in a draft revision","openapi":"openapi.yaml PUT /v1/features/{id}/revisions/{version}/holdout","href":"/api/feature-revisions/operation/putFeatureRevisionHoldout"},{"title":"Set archived state in a draft revision","openapi":"openapi.yaml PUT /v1/features/{id}/revisions/{version}/archive","href":"/api/feature-revisions/operation/putFeatureRevisionArchive"},{"title":"Toggle an environment on/off in a draft revision","openapi":"openapi.yaml POST /v1/features/{id}/revisions/{version}/toggle","href":"/api/feature-revisions/operation/postFeatureRevisionToggle"},{"title":"Add a rule to a draft revision","openapi":"openapi.yaml POST /v1/features/{id}/revisions/{version}/rules","href":"/api/feature-revisions/operation/postFeatureRevisionRuleAdd"},{"title":"Update a rule in a draft revision","openapi":"openapi.yaml PUT /v1/features/{id}/revisions/{version}/rules/{ruleId}","href":"/api/feature-revisions/operation/putFeatureRevisionRule"},{"title":"Delete a rule from a draft revision","openapi":"openapi.yaml DELETE /v1/features/{id}/revisions/{version}/rules/{ruleId}","href":"/api/feature-revisions/operation/deleteFeatureRevisionRule"},{"title":"Reorder rules in an environment","openapi":"openapi.yaml POST /v1/features/{id}/revisions/{version}/rules/reorder","href":"/api/feature-revisions/operation/postFeatureRevisionRulesReorder"},{"title":"Set ramp schedule for a rule","openapi":"openapi.yaml PUT /v1/features/{id}/revisions/{version}/rules/{ruleId}/ramp-schedule","href":"/api/feature-revisions/operation/putFeatureRevisionRuleRampSchedule"},{"title":"Remove ramp schedule from a rule","openapi":"openapi.yaml DELETE /v1/features/{id}/revisions/{version}/rules/{ruleId}/ramp-schedule","href":"/api/feature-revisions/operation/deleteFeatureRevisionRuleRampSchedule"},{"title":"Request review for a draft revision","openapi":"openapi.yaml POST /v1/features/{id}/revisions/{version}/request-review","href":"/api/feature-revisions/operation/postFeatureRevisionRequestReview"},{"title":"Submit a review on a draft revision","openapi":"openapi.yaml POST /v1/features/{id}/revisions/{version}/submit-review","href":"/api/feature-revisions/operation/postFeatureRevisionSubmitReview"},{"title":"Get merge status for a draft revision","openapi":"openapi.yaml GET /v1/features/{id}/revisions/{version}/merge-status","href":"/api/feature-revisions/operation/getFeatureRevisionMergeStatus"},{"title":"Rebase a draft revision onto the current live version","openapi":"openapi.yaml POST /v1/features/{id}/revisions/{version}/rebase","href":"/api/feature-revisions/operation/postFeatureRevisionRebase"},{"title":"Publish a draft revision","openapi":"openapi.yaml POST /v1/features/{id}/revisions/{version}/publish","href":"/api/feature-revisions/operation/postFeatureRevisionPublish"},{"title":"Discard a draft revision","openapi":"openapi.yaml POST /v1/features/{id}/revisions/{version}/discard","href":"/api/feature-revisions/operation/postFeatureRevisionDiscard"},{"title":"Revert the feature to a prior revision","openapi":"openapi.yaml POST /v1/features/{id}/revisions/{version}/revert","href":"/api/feature-revisions/operation/postFeatureRevisionRevert"}]},{"group":"Ramp Schedules","pages":[{"title":"Get all rampSchedules","openapi":"openapi.yaml GET /v1/ramp-schedules","href":"/api/ramp-schedules/operation/listRampSchedules"},{"title":"Create a ramp schedule","openapi":"openapi.yaml POST /v1/ramp-schedules","href":"/api/ramp-schedules/operation/postRampSchedule"},{"title":"Start a ramp schedule","openapi":"openapi.yaml POST /v1/ramp-schedules/{id}/actions/start","href":"/api/ramp-schedules/operation/startRampSchedule"},{"title":"Pause a ramp schedule","openapi":"openapi.yaml POST /v1/ramp-schedules/{id}/actions/pause","href":"/api/ramp-schedules/operation/pauseRampSchedule"},{"title":"Resume a paused ramp schedule","openapi":"openapi.yaml POST /v1/ramp-schedules/{id}/actions/resume","href":"/api/ramp-schedules/operation/resumeRampSchedule"},{"title":"Roll back a ramp schedule","openapi":"openapi.yaml POST /v1/ramp-schedules/{id}/actions/rollback","href":"/api/ramp-schedules/operation/rollbackRampSchedule"},{"title":"Restart a terminal ramp schedule","openapi":"openapi.yaml POST /v1/ramp-schedules/{id}/actions/restart","href":"/api/ramp-schedules/operation/restartRampSchedule"},{"title":"Jump to a specific step","openapi":"openapi.yaml POST /v1/ramp-schedules/{id}/actions/jump","href":"/api/ramp-schedules/operation/jumpRampSchedule"},{"title":"Complete a ramp schedule immediately","openapi":"openapi.yaml POST /v1/ramp-schedules/{id}/actions/complete","href":"/api/ramp-schedules/operation/completeRampSchedule"},{"title":"Approve the pending approval gate","openapi":"openapi.yaml POST /v1/ramp-schedules/{id}/actions/approve-step","href":"/api/ramp-schedules/operation/approveStepRampSchedule"},{"title":"Add a target rule to a ramp schedule","openapi":"openapi.yaml POST /v1/ramp-schedules/{id}/actions/add-target","href":"/api/ramp-schedules/operation/addTargetRampSchedule"},{"title":"Remove a target rule from a ramp schedule","openapi":"openapi.yaml POST /v1/ramp-schedules/{id}/actions/eject-target","href":"/api/ramp-schedules/operation/ejectTargetRampSchedule"},{"title":"Advance to the next step, overriding any holds","openapi":"openapi.yaml POST /v1/ramp-schedules/{id}/actions/advance","href":"/api/ramp-schedules/operation/apiAdvanceRampSchedule"},{"title":"Get ramp schedule status summary","openapi":"openapi.yaml GET /v1/ramp-schedules/{id}/status","href":"/api/ramp-schedules/operation/getRampScheduleStatus"},{"title":"Set ramp monitoring mode","openapi":"openapi.yaml POST /v1/ramp-schedules/{id}/actions/set-monitoring-mode","href":"/api/ramp-schedules/operation/setMonitoringModeRampSchedule"},{"title":"Toggle automatic monitoring updates","openapi":"openapi.yaml POST /v1/ramp-schedules/{id}/actions/set-auto-update","href":"/api/ramp-schedules/operation/setAutoUpdateRampSchedule"},{"title":"Update ramp monitoring configuration","openapi":"openapi.yaml PUT /v1/ramp-schedules/{id}/monitoring","href":"/api/ramp-schedules/operation/updateRampScheduleMonitoring"},{"title":"Update ramp lockdown configuration","openapi":"openapi.yaml PUT /v1/ramp-schedules/{id}/lockdown","href":"/api/ramp-schedules/operation/updateRampScheduleLockdown"},{"title":"Update ramp schedule steps","openapi":"openapi.yaml PUT /v1/ramp-schedules/{id}/steps","href":"/api/ramp-schedules/operation/updateRampScheduleSteps"},{"title":"Trigger a manual monitoring update","openapi":"openapi.yaml POST /v1/ramp-schedules/{id}/actions/refresh-monitoring","href":"/api/ramp-schedules/operation/refreshMonitoringRampSchedule"},{"title":"Roll back matching ramp schedules","openapi":"openapi.yaml POST /v1/ramp-schedules/actions/rollback","href":"/api/ramp-schedules/operation/rollbackMatchingRampSchedules"},{"title":"Pause matching ramp schedules","openapi":"openapi.yaml POST /v1/ramp-schedules/actions/pause","href":"/api/ramp-schedules/operation/pauseMatchingRampSchedules"},{"title":"Get a single rampSchedule","openapi":"openapi.yaml GET /v1/ramp-schedules/{id}","href":"/api/ramp-schedules/operation/getRampSchedule"},{"title":"Update a single rampSchedule","openapi":"openapi.yaml PUT /v1/ramp-schedules/{id}","href":"/api/ramp-schedules/operation/updateRampSchedule"},{"title":"Delete a single rampSchedule","openapi":"openapi.yaml DELETE /v1/ramp-schedules/{id}","href":"/api/ramp-schedules/operation/deleteRampSchedule"}]},{"group":"Data Sources","pages":[{"title":"Get all data sources","openapi":"openapi.yaml GET /v1/data-sources","href":"/api/data-sources/operation/listDataSources"},{"title":"Get a single data source","openapi":"openapi.yaml GET /v1/data-sources/{id}","href":"/api/data-sources/operation/getDataSource"},{"title":"Update a data source","openapi":"openapi.yaml POST /v1/data-sources/{id}","href":"/api/data-sources/operation/updateDataSource"},{"title":"Delete a data source","openapi":"openapi.yaml DELETE /v1/data-sources/{id}","href":"/api/data-sources/operation/deleteDataSource"},{"title":"Get a Data Source's Information Schema","openapi":"openapi.yaml GET /v1/data-sources/{dataSourceId}/information-schema","href":"/api/data-sources/operation/getInformationSchema"},{"title":"Refresh a data source's information schema","openapi":"openapi.yaml POST /v1/data-sources/{id}/information-schema/refresh","href":"/api/data-sources/operation/postDataSourceInformationSchemaRefresh"},{"title":"Search warehouse tables","openapi":"openapi.yaml POST /v1/data-sources/{id}/sql/search-tables","href":"/api/data-sources/operation/searchWarehouseTables"},{"title":"Get warehouse table schemas","openapi":"openapi.yaml POST /v1/data-sources/{id}/sql/table-schema","href":"/api/data-sources/operation/getWarehouseTableSchema"},{"title":"Preview distinct column values","openapi":"openapi.yaml POST /v1/data-sources/{id}/sql/preview-values","href":"/api/data-sources/operation/previewWarehouseColumnValues"},{"title":"Execute a read-only SQL query","openapi":"openapi.yaml POST /v1/data-sources/{id}/sql/run-query","href":"/api/data-sources/operation/runSqlQuery"},{"title":"Get a single Information Schema Table by id","openapi":"openapi.yaml GET /v1/information-schema-tables/{tableId}","href":"/api/data-sources/operation/getInformationSchemaTable"}]},{"group":"Fact Tables","pages":[{"title":"Get all fact tables","openapi":"openapi.yaml GET /v1/fact-tables","href":"/api/fact-tables/operation/listFactTables"},{"title":"Create a single fact table","openapi":"openapi.yaml POST /v1/fact-tables","href":"/api/fact-tables/operation/postFactTable"},{"title":"Get a single fact table","openapi":"openapi.yaml GET /v1/fact-tables/{id}","href":"/api/fact-tables/operation/getFactTable"},{"title":"Update a single fact table","openapi":"openapi.yaml POST /v1/fact-tables/{id}","href":"/api/fact-tables/operation/updateFactTable"},{"title":"Deletes a single fact table","openapi":"openapi.yaml DELETE /v1/fact-tables/{id}","href":"/api/fact-tables/operation/deleteFactTable"},{"title":"Get all filters for a fact table","openapi":"openapi.yaml GET /v1/fact-tables/{factTableId}/filters","href":"/api/fact-tables/operation/listFactTableFilters"},{"title":"Create a single fact table filter","openapi":"openapi.yaml POST /v1/fact-tables/{factTableId}/filters","href":"/api/fact-tables/operation/postFactTableFilter"},{"title":"Get a single fact filter","openapi":"openapi.yaml GET /v1/fact-tables/{factTableId}/filters/{id}","href":"/api/fact-tables/operation/getFactTableFilter"},{"title":"Update a single fact table filter","openapi":"openapi.yaml POST /v1/fact-tables/{factTableId}/filters/{id}","href":"/api/fact-tables/operation/updateFactTableFilter"},{"title":"Deletes a single fact table filter","openapi":"openapi.yaml DELETE /v1/fact-tables/{factTableId}/filters/{id}","href":"/api/fact-tables/operation/deleteFactTableFilter"},{"title":"Create a virtual (computed) column on a fact table","openapi":"openapi.yaml POST /v1/fact-tables/{factTableId}/virtual-columns","href":"/api/fact-tables/operation/postFactTableVirtualColumn"},{"title":"Update a virtual (computed) column on a fact table","openapi":"openapi.yaml POST /v1/fact-tables/{factTableId}/virtual-columns/{id}","href":"/api/fact-tables/operation/updateFactTableVirtualColumn"},{"title":"Delete a virtual (computed) column from a fact table","openapi":"openapi.yaml DELETE /v1/fact-tables/{factTableId}/virtual-columns/{id}","href":"/api/fact-tables/operation/deleteFactTableVirtualColumn"},{"title":"Get the materialization status of a fact table's shared daily aggregated tables","openapi":"openapi.yaml GET /v1/fact-tables/{id}/aggregated-tables","href":"/api/fact-tables/operation/getAggregatedFactTables"},{"title":"Force a refresh or full restate of a fact table's shared daily aggregated tables","openapi":"openapi.yaml POST /v1/fact-tables/{id}/aggregated-tables/refresh","href":"/api/fact-tables/operation/refreshAggregatedFactTable"},{"title":"List aggregated table runs","openapi":"openapi.yaml GET /v1/fact-tables/{id}/aggregated-tables/runs","href":"/api/fact-tables/operation/listAggregatedTableRuns"},{"title":"Get a single aggregated table run","openapi":"openapi.yaml GET /v1/fact-tables/{id}/aggregated-tables/runs/{runId}","href":"/api/fact-tables/operation/getAggregatedTableRun"},{"title":"Bulk import fact tables, filters, and metrics","openapi":"openapi.yaml POST /v1/bulk-import/facts","href":"/api/fact-tables/operation/postBulkImportFacts"}]},{"group":"Fact Metrics","pages":[{"title":"Get all fact metrics","openapi":"openapi.yaml GET /v1/fact-metrics","href":"/api/fact-metrics/operation/listFactMetrics"},{"title":"Create a single fact metric","openapi":"openapi.yaml POST /v1/fact-metrics","href":"/api/fact-metrics/operation/postFactMetric"},{"title":"Get a single fact metric","openapi":"openapi.yaml GET /v1/fact-metrics/{id}","href":"/api/fact-metrics/operation/getFactMetric"},{"title":"Update a single fact metric","openapi":"openapi.yaml POST /v1/fact-metrics/{id}","href":"/api/fact-metrics/operation/updateFactMetric"},{"title":"Deletes a single fact metric","openapi":"openapi.yaml DELETE /v1/fact-metrics/{id}","href":"/api/fact-metrics/operation/deleteFactMetric"},{"title":"Create a fact metric analysis","openapi":"openapi.yaml POST /v1/fact-metrics/{id}/analysis","href":"/api/fact-metrics/operation/postFactMetricAnalysis"}]},{"group":"Metrics (legacy)","tag":"LEGACY","expanded":false,"pages":[{"title":"Get all metrics","openapi":"openapi.yaml GET /v1/metrics","href":"/api/metrics/operation/listMetrics"},{"title":"Create a single metric","openapi":"openapi.yaml POST /v1/metrics","href":"/api/metrics/operation/postMetric"},{"title":"Get a single metric","openapi":"openapi.yaml GET /v1/metrics/{id}","href":"/api/metrics/operation/getMetric"},{"title":"Update a metric","openapi":"openapi.yaml PUT /v1/metrics/{id}","href":"/api/metrics/operation/putMetric"},{"title":"Deletes a metric","openapi":"openapi.yaml DELETE /v1/metrics/{id}","href":"/api/metrics/operation/deleteMetric"},{"title":"Get results for all experiments that use a metric","openapi":"openapi.yaml GET /v1/metrics/{id}/experiments","href":"/api/metrics/operation/listMetricExperiments"}]},{"group":"Experiments","pages":[{"title":"Get all experiments","openapi":"openapi.yaml GET /v1/experiments","href":"/api/experiments/operation/listExperiments"},{"title":"Create a single experiment","openapi":"openapi.yaml POST /v1/experiments","href":"/api/experiments/operation/postExperiment"},{"title":"Get latest results for many experiments","openapi":"openapi.yaml GET /v1/experiments/results","href":"/api/experiments/operation/listExperimentResults"},{"title":"Get a single experiment","openapi":"openapi.yaml GET /v1/experiments/{id}","href":"/api/experiments/operation/getExperiment"},{"title":"Update a single experiment","openapi":"openapi.yaml POST /v1/experiments/{id}","href":"/api/experiments/operation/updateExperiment"},{"title":"Delete an experiment","openapi":"openapi.yaml DELETE /v1/experiments/{id}","href":"/api/experiments/operation/deleteExperiment"},{"title":"Get an experiment pre-launch checklist status","openapi":"openapi.yaml GET /v1/experiments/{id}/start-checklist","href":"/api/experiments/operation/getExperimentStartChecklist"},{"title":"Get results for an experiment","openapi":"openapi.yaml GET /v1/experiments/{id}/results","href":"/api/experiments/operation/getExperimentResults"},{"title":"Archive an experiment","openapi":"openapi.yaml POST /v1/experiments/{id}/archive","href":"/api/experiments/operation/postExperimentArchive"},{"title":"Unarchive an experiment","openapi":"openapi.yaml POST /v1/experiments/{id}/unarchive","href":"/api/experiments/operation/postExperimentUnarchive"},{"title":"Start/Stage an experiment","openapi":"openapi.yaml POST /v1/experiments/{id}/start","href":"/api/experiments/operation/postExperimentStart"},{"title":"Mark manual pre-launch checklist items complete","openapi":"openapi.yaml POST /v1/experiments/{id}/start-checklist/manual/complete","href":"/api/experiments/operation/postExperimentStartChecklistManualComplete"},{"title":"Stop an experiment","openapi":"openapi.yaml POST /v1/experiments/{id}/stop","href":"/api/experiments/operation/postExperimentStop"},{"title":"Set an experiment's schedule and shipping automation","openapi":"openapi.yaml PUT /v1/experiments/{id}/schedule","href":"/api/experiments/operation/putExperimentSchedule"},{"title":"Modify temporary rollout status for a stopped experiment","openapi":"openapi.yaml POST /v1/experiments/{id}/modify-temporary-rollout","href":"/api/experiments/operation/postExperimentModifyTemporaryRollout"},{"title":"Create Experiment Snapshot","openapi":"openapi.yaml POST /v1/experiments/{id}/snapshot","href":"/api/experiments/operation/postExperimentSnapshot"},{"title":"Upload a variation screenshot","openapi":"openapi.yaml POST /v1/experiments/{id}/variation/{variationId}/screenshot/upload","href":"/api/experiments/operation/postVariationImageUpload"},{"title":"Delete a variation screenshot","openapi":"openapi.yaml DELETE /v1/experiments/{id}/variation/{variationId}/screenshot","href":"/api/experiments/operation/deleteVariationScreenshot"},{"title":"Get a list of experiments with names and ids","openapi":"openapi.yaml GET /v1/experiment-names","href":"/api/experiments/operation/getExperimentNames"},{"title":"Post a comment on an experiment","openapi":"openapi.yaml POST /v1/experiments/{id}/comment","href":"/api/experiments/operation/postExperimentComment"}]},{"group":"Namespaces","pages":[{"title":"Get all namespaces","openapi":"openapi.yaml GET /v1/namespaces","href":"/api/namespaces/operation/listNamespaces"},{"title":"Create a namespace","openapi":"openapi.yaml POST /v1/namespaces","href":"/api/namespaces/operation/postNamespace"},{"title":"Get a single namespace","openapi":"openapi.yaml GET /v1/namespaces/{id}","href":"/api/namespaces/operation/getNamespace"},{"title":"Update a namespace","openapi":"openapi.yaml PUT /v1/namespaces/{id}","href":"/api/namespaces/operation/putNamespace"},{"title":"Delete a namespace","openapi":"openapi.yaml DELETE /v1/namespaces/{id}","href":"/api/namespaces/operation/deleteNamespace"},{"title":"Get namespace membership","openapi":"openapi.yaml GET /v1/namespaces/{id}/memberships","href":"/api/namespaces/operation/getNamespaceMemberships"},{"title":"Rotate namespace seed","openapi":"openapi.yaml POST /v1/namespaces/{id}/rotateSeed","href":"/api/namespaces/operation/postNamespaceRotateSeed"}]},{"group":"Experiment Snapshots","pages":[{"title":"Get an experiment snapshot status","openapi":"openapi.yaml GET /v1/snapshots/{id}","href":"/api/snapshots/operation/getExperimentSnapshot"}]},{"group":"Dimensions","pages":[{"title":"Get all dimensions","openapi":"openapi.yaml GET /v1/dimensions","href":"/api/dimensions/operation/listDimensions"},{"title":"Create a single dimension","openapi":"openapi.yaml POST /v1/dimensions","href":"/api/dimensions/operation/postDimension"},{"title":"Get a single dimension","openapi":"openapi.yaml GET /v1/dimensions/{id}","href":"/api/dimensions/operation/getDimension"},{"title":"Update a single dimension","openapi":"openapi.yaml POST /v1/dimensions/{id}","href":"/api/dimensions/operation/updateDimension"},{"title":"Deletes a single dimension","openapi":"openapi.yaml DELETE /v1/dimensions/{id}","href":"/api/dimensions/operation/deleteDimension"}]},{"group":"Segments","pages":[{"title":"Get all segments","openapi":"openapi.yaml GET /v1/segments","href":"/api/segments/operation/listSegments"},{"title":"Create a single segment","openapi":"openapi.yaml POST /v1/segments","href":"/api/segments/operation/postSegment"},{"title":"Get a single segment","openapi":"openapi.yaml GET /v1/segments/{id}","href":"/api/segments/operation/getSegment"},{"title":"Update a single segment","openapi":"openapi.yaml POST /v1/segments/{id}","href":"/api/segments/operation/updateSegment"},{"title":"Deletes a single segment","openapi":"openapi.yaml DELETE /v1/segments/{id}","href":"/api/segments/operation/deleteSegment"}]},{"group":"Experiment Reports","pages":[{"title":"Get all reports","openapi":"openapi.yaml GET /v1/reports","href":"/api/reports/operation/listReports"},{"title":"Create a new report","openapi":"openapi.yaml POST /v1/reports","href":"/api/reports/operation/postReport"},{"title":"Get a single report","openapi":"openapi.yaml GET /v1/reports/{id}","href":"/api/reports/operation/getReport"},{"title":"Refresh a report by re-running its analysis","openapi":"openapi.yaml POST /v1/reports/{id}/refresh","href":"/api/reports/operation/postReportRefresh"},{"title":"Update report metadata (title, description, visibility)","openapi":"openapi.yaml PUT /v1/reports/{id}/metadata","href":"/api/reports/operation/putReportMetadata"},{"title":"Update report analysis settings","openapi":"openapi.yaml PUT /v1/reports/{id}/settings","href":"/api/reports/operation/putReportSettings"}]},{"group":"SDK Connections","pages":[{"title":"Get all sdk connections","openapi":"openapi.yaml GET /v1/sdk-connections","href":"/api/sdk-connections/operation/listSdkConnections"},{"title":"Create a single sdk connection","openapi":"openapi.yaml POST /v1/sdk-connections","href":"/api/sdk-connections/operation/postSdkConnection"},{"title":"Get a single sdk connection","openapi":"openapi.yaml GET /v1/sdk-connections/{id}","href":"/api/sdk-connections/operation/getSdkConnection"},{"title":"Update a single sdk connection","openapi":"openapi.yaml PUT /v1/sdk-connections/{id}","href":"/api/sdk-connections/operation/putSdkConnection"},{"title":"Deletes a single SDK connection","openapi":"openapi.yaml DELETE /v1/sdk-connections/{id}","href":"/api/sdk-connections/operation/deleteSdkConnection"},{"title":"Find a single sdk connection by its key","openapi":"openapi.yaml GET /v1/sdk-connections/lookup/{key}","href":"/api/sdk-connections/operation/lookupSdkConnectionByKey"}]},{"group":"Visual Changesets","pages":[{"title":"Get all visual changesets","openapi":"openapi.yaml GET /v1/experiments/{id}/visual-changesets","href":"/api/visual-changesets/operation/listVisualChangesets"},{"title":"Create a visual changeset for an experiment","openapi":"openapi.yaml POST /v1/experiments/{id}/visual-changesets","href":"/api/visual-changesets/operation/postVisualChangesets"},{"title":"Get a single visual changeset","openapi":"openapi.yaml GET /v1/visual-changesets/{id}","href":"/api/visual-changesets/operation/getVisualChangeset"},{"title":"Update a visual changeset","openapi":"openapi.yaml PUT /v1/visual-changesets/{id}","href":"/api/visual-changesets/operation/putVisualChangeset"},{"title":"Create a visual change for a visual changeset","openapi":"openapi.yaml POST /v1/visual-changesets/{id}/visual-change","href":"/api/visual-changesets/operation/postVisualChange"},{"title":"Update a visual change for a visual changeset","openapi":"openapi.yaml PUT /v1/visual-changesets/{id}/visual-change/{visualChangeId}","href":"/api/visual-changesets/operation/putVisualChange"}]},{"group":"Saved Groups","pages":[{"title":"Get all saved group","openapi":"openapi.yaml GET /v1/saved-groups","href":"/api/saved-groups/operation/listSavedGroups"},{"title":"Create a single saved group","openapi":"openapi.yaml POST /v1/saved-groups","href":"/api/saved-groups/operation/postSavedGroup"},{"title":"Get a single saved group","openapi":"openapi.yaml GET /v1/saved-groups/{id}","href":"/api/saved-groups/operation/getSavedGroup"},{"title":"Partially update a single saved group","openapi":"openapi.yaml POST /v1/saved-groups/{id}","href":"/api/saved-groups/operation/updateSavedGroup"},{"title":"Deletes a single saved group","openapi":"openapi.yaml DELETE /v1/saved-groups/{id}","href":"/api/saved-groups/operation/deleteSavedGroup"},{"title":"Archive a single saved group","openapi":"openapi.yaml POST /v1/saved-groups/{id}/archive","href":"/api/saved-groups/operation/archiveSavedGroup"},{"title":"Unarchive a single saved group","openapi":"openapi.yaml POST /v1/saved-groups/{id}/unarchive","href":"/api/saved-groups/operation/unarchiveSavedGroup"},{"title":"Get features, experiments, and saved groups that reference this saved group","openapi":"openapi.yaml GET /v1/saved-groups/{id}/references","href":"/api/saved-groups/operation/getSavedGroupReferences"},{"title":"List the uploads of a remote saved group","openapi":"openapi.yaml GET /v1/saved-groups/{id}/uploads","href":"/api/saved-groups/operation/listSavedGroupUploads"},{"title":"Upload a new version of a remote saved group's IDs","openapi":"openapi.yaml POST /v1/saved-groups/{id}/uploads","href":"/api/saved-groups/operation/postSavedGroupUpload"},{"title":"Get a signed URL to upload a remote saved group CSV","openapi":"openapi.yaml POST /v1/saved-groups/{id}/upload-url","href":"/api/saved-groups/operation/postSavedGroupUploadUrl"},{"title":"Report loading a remote saved group upload into a data store","openapi":"openapi.yaml POST /v1/saved-groups/{id}/uploads/{version}/loads","href":"/api/saved-groups/operation/postSavedGroupUploadLoad"},{"title":"Get one upload of a remote saved group","openapi":"openapi.yaml GET /v1/saved-groups/{id}/uploads/{version}","href":"/api/saved-groups/operation/getSavedGroupUpload"},{"title":"Delete an upload of a remote saved group","openapi":"openapi.yaml DELETE /v1/saved-groups/{id}/uploads/{version}","href":"/api/saved-groups/operation/deleteSavedGroupUpload"}]},{"group":"Saved Group Revisions","pages":[{"title":"List saved-group revisions across the organization","openapi":"openapi.yaml GET /v1/saved-groups-revisions","href":"/api/saved-group-revisions/operation/listSavedGroupRevisions"},{"title":"List revisions for a saved group","openapi":"openapi.yaml GET /v1/saved-groups-revisions/{savedGroupId}","href":"/api/saved-group-revisions/operation/getSavedGroupRevisions"},{"title":"Create a draft revision","openapi":"openapi.yaml POST /v1/saved-groups-revisions/{savedGroupId}","href":"/api/saved-group-revisions/operation/postSavedGroupRevision"},{"title":"Get the most recent active draft revision","openapi":"openapi.yaml GET /v1/saved-groups-revisions/{savedGroupId}/latest","href":"/api/saved-group-revisions/operation/getSavedGroupRevisionLatest"},{"title":"Get a single saved group revision","openapi":"openapi.yaml GET /v1/saved-groups-revisions/{savedGroupId}/{version}","href":"/api/saved-group-revisions/operation/getSavedGroupRevision"},{"title":"Update saved group metadata in a draft revision","openapi":"openapi.yaml PUT /v1/saved-groups-revisions/{savedGroupId}/{version}/metadata","href":"/api/saved-group-revisions/operation/putSavedGroupRevisionMetadata"},{"title":"Update the condition of a condition saved group draft revision","openapi":"openapi.yaml PUT /v1/saved-groups-revisions/{savedGroupId}/{version}/condition","href":"/api/saved-group-revisions/operation/putSavedGroupRevisionCondition"},{"title":"Replace the values list in a list saved group draft revision","openapi":"openapi.yaml PUT /v1/saved-groups-revisions/{savedGroupId}/{version}/values","href":"/api/saved-group-revisions/operation/putSavedGroupRevisionValues"},{"title":"Set the upload a remote saved group draft revision uses","openapi":"openapi.yaml PUT /v1/saved-groups-revisions/{savedGroupId}/{version}/upload-version","href":"/api/saved-group-revisions/operation/putSavedGroupRevisionUploadVersion"},{"title":"Stage an archive/unarchive in a draft revision","openapi":"openapi.yaml PUT /v1/saved-groups-revisions/{savedGroupId}/{version}/archive","href":"/api/saved-group-revisions/operation/putSavedGroupRevisionArchive"},{"title":"Append items to a list saved group draft revision","openapi":"openapi.yaml POST /v1/saved-groups-revisions/{savedGroupId}/{version}/items/add","href":"/api/saved-group-revisions/operation/postSavedGroupRevisionItemsAdd"},{"title":"Remove items from a list saved group draft revision","openapi":"openapi.yaml POST /v1/saved-groups-revisions/{savedGroupId}/{version}/items/remove","href":"/api/saved-group-revisions/operation/postSavedGroupRevisionItemsRemove"},{"title":"Request review for a draft revision","openapi":"openapi.yaml POST /v1/saved-groups-revisions/{savedGroupId}/{version}/request-review","href":"/api/saved-group-revisions/operation/postSavedGroupRevisionRequestReview"},{"title":"Submit a review on a draft revision","openapi":"openapi.yaml POST /v1/saved-groups-revisions/{savedGroupId}/{version}/submit-review","href":"/api/saved-group-revisions/operation/postSavedGroupRevisionSubmitReview"},{"title":"Recall a review request","openapi":"openapi.yaml POST /v1/saved-groups-revisions/{savedGroupId}/{version}/recall-review","href":"/api/saved-group-revisions/operation/postSavedGroupRevisionRecallReview"},{"title":"Reopen a discarded revision","openapi":"openapi.yaml POST /v1/saved-groups-revisions/{savedGroupId}/{version}/reopen","href":"/api/saved-group-revisions/operation/postSavedGroupRevisionReopen"},{"title":"Schedule (or cancel) a deferred publish","openapi":"openapi.yaml POST /v1/saved-groups-revisions/{savedGroupId}/{version}/schedule-publish","href":"/api/saved-group-revisions/operation/postSavedGroupRevisionSchedulePublish"},{"title":"Retract your own review verdict","openapi":"openapi.yaml POST /v1/saved-groups-revisions/{savedGroupId}/{version}/undo-review","href":"/api/saved-group-revisions/operation/postSavedGroupRevisionUndoReview"},{"title":"Get merge status for a draft revision","openapi":"openapi.yaml GET /v1/saved-groups-revisions/{savedGroupId}/{version}/merge-status","href":"/api/saved-group-revisions/operation/getSavedGroupRevisionMergeStatus"},{"title":"Rebase a draft revision onto the current live saved group","openapi":"openapi.yaml POST /v1/saved-groups-revisions/{savedGroupId}/{version}/rebase","href":"/api/saved-group-revisions/operation/postSavedGroupRevisionRebase"},{"title":"Publish a draft revision","openapi":"openapi.yaml POST /v1/saved-groups-revisions/{savedGroupId}/{version}/publish","href":"/api/saved-group-revisions/operation/postSavedGroupRevisionPublish"},{"title":"Discard a draft revision","openapi":"openapi.yaml POST /v1/saved-groups-revisions/{savedGroupId}/{version}/discard","href":"/api/saved-group-revisions/operation/postSavedGroupRevisionDiscard"},{"title":"Revert the saved group to a prior revision","openapi":"openapi.yaml POST /v1/saved-groups-revisions/{savedGroupId}/{version}/revert","href":"/api/saved-group-revisions/operation/postSavedGroupRevisionRevert"}]},{"group":"Constants","tag":"BETA","pages":[{"title":"Get all constants","openapi":"openapi.yaml GET /v1/constants","href":"/api/constants/operation/listConstants"},{"title":"Create a single constant","openapi":"openapi.yaml POST /v1/constants","href":"/api/constants/operation/postConstant"},{"title":"Get features and constants that reference this constant","openapi":"openapi.yaml GET /v1/constants/{key}/references","href":"/api/constants/operation/getConstantReferences"},{"title":"Get a single constant","openapi":"openapi.yaml GET /v1/constants/{key}","href":"/api/constants/operation/getConstant"},{"title":"Partially update a single constant","openapi":"openapi.yaml POST /v1/constants/{key}","href":"/api/constants/operation/updateConstant"},{"title":"Delete a single constant","openapi":"openapi.yaml DELETE /v1/constants/{key}","href":"/api/constants/operation/deleteConstant"},{"title":"Archive a single constant","openapi":"openapi.yaml POST /v1/constants/{key}/archive","href":"/api/constants/operation/archiveConstant"},{"title":"Unarchive a single constant","openapi":"openapi.yaml POST /v1/constants/{key}/unarchive","href":"/api/constants/operation/unarchiveConstant"}]},{"group":"Constant Revisions","tag":"BETA","pages":[{"title":"List constant revisions across the organization","openapi":"openapi.yaml GET /v1/constants-revisions","href":"/api/constant-revisions/operation/listConstantRevisions"},{"title":"List revisions for a constant","openapi":"openapi.yaml GET /v1/constants-revisions/{key}","href":"/api/constant-revisions/operation/getConstantRevisions"},{"title":"Create a draft revision","openapi":"openapi.yaml POST /v1/constants-revisions/{key}","href":"/api/constant-revisions/operation/postConstantRevision"},{"title":"Get the most recent active draft revision","openapi":"openapi.yaml GET /v1/constants-revisions/{key}/latest","href":"/api/constant-revisions/operation/getConstantRevisionLatest"},{"title":"Get a single constant revision","openapi":"openapi.yaml GET /v1/constants-revisions/{key}/{version}","href":"/api/constant-revisions/operation/getConstantRevision"},{"title":"Update constant metadata in a draft revision","openapi":"openapi.yaml PUT /v1/constants-revisions/{key}/{version}/metadata","href":"/api/constant-revisions/operation/putConstantRevisionMetadata"},{"title":"Update the value of a constant draft revision","openapi":"openapi.yaml PUT /v1/constants-revisions/{key}/{version}/value","href":"/api/constant-revisions/operation/putConstantRevisionValue"},{"title":"Stage an archive/unarchive in a draft revision","openapi":"openapi.yaml PUT /v1/constants-revisions/{key}/{version}/archive","href":"/api/constant-revisions/operation/putConstantRevisionArchive"},{"title":"Request review for a draft revision","openapi":"openapi.yaml POST /v1/constants-revisions/{key}/{version}/request-review","href":"/api/constant-revisions/operation/postConstantRevisionRequestReview"},{"title":"Submit a review on a draft revision","openapi":"openapi.yaml POST /v1/constants-revisions/{key}/{version}/submit-review","href":"/api/constant-revisions/operation/postConstantRevisionSubmitReview"},{"title":"Recall a review request","openapi":"openapi.yaml POST /v1/constants-revisions/{key}/{version}/recall-review","href":"/api/constant-revisions/operation/postConstantRevisionRecallReview"},{"title":"Reopen a discarded revision","openapi":"openapi.yaml POST /v1/constants-revisions/{key}/{version}/reopen","href":"/api/constant-revisions/operation/postConstantRevisionReopen"},{"title":"Schedule (or cancel) a deferred publish","openapi":"openapi.yaml POST /v1/constants-revisions/{key}/{version}/schedule-publish","href":"/api/constant-revisions/operation/postConstantRevisionSchedulePublish"},{"title":"Retract your own review verdict","openapi":"openapi.yaml POST /v1/constants-revisions/{key}/{version}/undo-review","href":"/api/constant-revisions/operation/postConstantRevisionUndoReview"},{"title":"Get merge status for a draft revision","openapi":"openapi.yaml GET /v1/constants-revisions/{key}/{version}/merge-status","href":"/api/constant-revisions/operation/getConstantRevisionMergeStatus"},{"title":"Rebase a draft revision onto the current live constant","openapi":"openapi.yaml POST /v1/constants-revisions/{key}/{version}/rebase","href":"/api/constant-revisions/operation/postConstantRevisionRebase"},{"title":"Publish a draft revision","openapi":"openapi.yaml POST /v1/constants-revisions/{key}/{version}/publish","href":"/api/constant-revisions/operation/postConstantRevisionPublish"},{"title":"Discard a draft revision","openapi":"openapi.yaml POST /v1/constants-revisions/{key}/{version}/discard","href":"/api/constant-revisions/operation/postConstantRevisionDiscard"},{"title":"Revert the constant to a prior revision","openapi":"openapi.yaml POST /v1/constants-revisions/{key}/{version}/revert","href":"/api/constant-revisions/operation/postConstantRevisionRevert"}]},{"group":"Configs","tag":"BETA","pages":[{"title":"Get all configs","openapi":"openapi.yaml GET /v1/configs","description":null,"href":"/api/configs/operation/listConfigs"},{"title":"Create a single config","openapi":"openapi.yaml POST /v1/configs","href":"/api/configs/operation/postConfig"},{"title":"Get features and configs that reference this config","openapi":"openapi.yaml GET /v1/configs/{key}/references","description":null,"href":"/api/configs/operation/getConfigReferences"},{"title":"Get the feature rules and default values implementing each key","openapi":"openapi.yaml GET /v1/configs/{key}/key-usage","href":"/api/configs/operation/getConfigKeyUsage"},{"title":"Get the full lineage (family tree) for a config","openapi":"openapi.yaml GET /v1/configs/{key}/lineage","href":"/api/configs/operation/getConfigLineage"},{"title":"Verify a config's schema against a source (drift check)","openapi":"openapi.yaml POST /v1/configs/{key}/schema/verify","href":"/api/configs/operation/verifyConfigSchema"},{"title":"Export a config's schema","openapi":"openapi.yaml GET /v1/configs/{key}/schema","href":"/api/configs/operation/getConfigSchema"},{"title":"Get a single config","openapi":"openapi.yaml GET /v1/configs/{key}","href":"/api/configs/operation/getConfig"},{"title":"Partially update a single config","openapi":"openapi.yaml POST /v1/configs/{key}","href":"/api/configs/operation/updateConfig"},{"title":"Delete a single config","openapi":"openapi.yaml DELETE /v1/configs/{key}","href":"/api/configs/operation/deleteConfig"},{"title":"Archive a single config","openapi":"openapi.yaml POST /v1/configs/{key}/archive","href":"/api/configs/operation/archiveConfig"},{"title":"Unarchive a single config","openapi":"openapi.yaml POST /v1/configs/{key}/unarchive","href":"/api/configs/operation/unarchiveConfig"},{"title":"Lock a config at its current published revision","openapi":"openapi.yaml POST /v1/configs/{key}/lock","href":"/api/configs/operation/lockConfig"},{"title":"Unlock a config","openapi":"openapi.yaml POST /v1/configs/{key}/unlock","href":"/api/configs/operation/unlockConfig"}]},{"group":"Config Revisions","tag":"BETA","pages":[{"title":"List config revisions across the organization","openapi":"openapi.yaml GET /v1/configs-revisions","href":"/api/config-revisions/operation/listConfigRevisions"},{"title":"List revisions for a config","openapi":"openapi.yaml GET /v1/configs-revisions/{key}","href":"/api/config-revisions/operation/getConfigRevisions"},{"title":"Create a draft revision","openapi":"openapi.yaml POST /v1/configs-revisions/{key}","href":"/api/config-revisions/operation/postConfigRevision"},{"title":"Get the most recent active draft revision","openapi":"openapi.yaml GET /v1/configs-revisions/{key}/latest","href":"/api/config-revisions/operation/getConfigRevisionLatest"},{"title":"Get a single config revision","openapi":"openapi.yaml GET /v1/configs-revisions/{key}/{version}","href":"/api/config-revisions/operation/getConfigRevision"},{"title":"Update config metadata in a draft revision","openapi":"openapi.yaml PUT /v1/configs-revisions/{key}/{version}/metadata","href":"/api/config-revisions/operation/putConfigRevisionMetadata"},{"title":"Update the value of a config draft revision","openapi":"openapi.yaml PUT /v1/configs-revisions/{key}/{version}/value","href":"/api/config-revisions/operation/putConfigRevisionValue"},{"title":"Set one property of a config draft revision's value","openapi":"openapi.yaml PUT /v1/configs-revisions/{key}/{version}/property","href":"/api/config-revisions/operation/putConfigRevisionProperty"},{"title":"Remove one property from a config draft revision's value","openapi":"openapi.yaml DELETE /v1/configs-revisions/{key}/{version}/property","href":"/api/config-revisions/operation/deleteConfigRevisionProperty"},{"title":"Update or import the schema of a config draft revision","openapi":"openapi.yaml PUT /v1/configs-revisions/{key}/{version}/schema","href":"/api/config-revisions/operation/putConfigRevisionSchema"},{"title":"Set (or update) a config's per-source render projection on a draft","openapi":"openapi.yaml PUT /v1/configs-revisions/{key}/{version}/projection","href":"/api/config-revisions/operation/putConfigRevisionProjection"},{"title":"Remove a config's per-source render projection on a draft","openapi":"openapi.yaml DELETE /v1/configs-revisions/{key}/{version}/projection","href":"/api/config-revisions/operation/deleteConfigRevisionProjection"},{"title":"Stage an archive/unarchive in a draft revision","openapi":"openapi.yaml PUT /v1/configs-revisions/{key}/{version}/archive","href":"/api/config-revisions/operation/putConfigRevisionArchive"},{"title":"Request review for a draft revision","openapi":"openapi.yaml POST /v1/configs-revisions/{key}/{version}/request-review","href":"/api/config-revisions/operation/postConfigRevisionRequestReview"},{"title":"Submit a review on a draft revision","openapi":"openapi.yaml POST /v1/configs-revisions/{key}/{version}/submit-review","href":"/api/config-revisions/operation/postConfigRevisionSubmitReview"},{"title":"Retract your own review verdict","openapi":"openapi.yaml POST /v1/configs-revisions/{key}/{version}/undo-review","href":"/api/config-revisions/operation/postConfigRevisionUndoReview"},{"title":"Recall a review request","openapi":"openapi.yaml POST /v1/configs-revisions/{key}/{version}/recall-review","href":"/api/config-revisions/operation/postConfigRevisionRecallReview"},{"title":"Reopen a discarded revision","openapi":"openapi.yaml POST /v1/configs-revisions/{key}/{version}/reopen","href":"/api/config-revisions/operation/postConfigRevisionReopen"},{"title":"Schedule (or cancel) a deferred publish","openapi":"openapi.yaml POST /v1/configs-revisions/{key}/{version}/schedule-publish","href":"/api/config-revisions/operation/postConfigRevisionSchedulePublish"},{"title":"Get merge status for a draft revision","openapi":"openapi.yaml GET /v1/configs-revisions/{key}/{version}/merge-status","href":"/api/config-revisions/operation/getConfigRevisionMergeStatus"},{"title":"Rebase a draft revision onto the current live config","openapi":"openapi.yaml POST /v1/configs-revisions/{key}/{version}/rebase","href":"/api/config-revisions/operation/postConfigRevisionRebase"},{"title":"Publish a draft revision","openapi":"openapi.yaml POST /v1/configs-revisions/{key}/{version}/publish","href":"/api/config-revisions/operation/postConfigRevisionPublish"},{"title":"Discard a draft revision","openapi":"openapi.yaml POST /v1/configs-revisions/{key}/{version}/discard","href":"/api/config-revisions/operation/postConfigRevisionDiscard"},{"title":"Revert the config to a prior revision","openapi":"openapi.yaml POST /v1/configs-revisions/{key}/{version}/revert","href":"/api/config-revisions/operation/postConfigRevisionRevert"}]},{"group":"Releases","tag":"BETA","pages":[{"title":"Atomically publish revisions across multiple entities","openapi":"openapi.yaml POST /v1/releases/publish-revisions","href":"/api/releases/operation/postReleasePublishRevisions"}]},{"group":"Custom Hooks","pages":[{"title":"Get all custom hooks","openapi":"openapi.yaml GET /v1/custom-hooks","href":"/api/custom-hooks/operation/listCustomHooks"},{"title":"Create a single custom hook","openapi":"openapi.yaml POST /v1/custom-hooks","href":"/api/custom-hooks/operation/postCustomHook"},{"title":"Dry-run hook code in the sandbox","openapi":"openapi.yaml POST /v1/custom-hooks/test","href":"/api/custom-hooks/operation/testCustomHook"},{"title":"Get a single custom hook","openapi":"openapi.yaml GET /v1/custom-hooks/{id}","href":"/api/custom-hooks/operation/getCustomHook"},{"title":"Partially update a single custom hook","openapi":"openapi.yaml POST /v1/custom-hooks/{id}","href":"/api/custom-hooks/operation/updateCustomHook"},{"title":"Delete a single custom hook","openapi":"openapi.yaml DELETE /v1/custom-hooks/{id}","href":"/api/custom-hooks/operation/deleteCustomHook"},{"title":"List a custom hook's version history","openapi":"openapi.yaml GET /v1/custom-hooks/{id}/history","href":"/api/custom-hooks/operation/listCustomHookHistory"},{"title":"Revert a custom hook to a previous version","openapi":"openapi.yaml POST /v1/custom-hooks/{id}/revert","href":"/api/custom-hooks/operation/revertCustomHook"}]},{"group":"Organizations","pages":[{"title":"Get all organizations (only for super admins on multi-org Enterprise Plan only)","openapi":"openapi.yaml GET /v1/organizations","href":"/api/organizations/operation/listOrganizations"},{"title":"Create a single organization (only for super admins on multi-org Enterprise Plan only)","openapi":"openapi.yaml POST /v1/organizations","href":"/api/organizations/operation/postOrganization"},{"title":"Edit a single organization (only for super admins on multi-org Enterprise Plan only)","openapi":"openapi.yaml PUT /v1/organizations/{id}","href":"/api/organizations/operation/putOrganization"}]},{"group":"Members","pages":[{"title":"Get all organization members","openapi":"openapi.yaml GET /v1/members","href":"/api/members/operation/listMembers"},{"title":"Update a member's role","openapi":"openapi.yaml POST /v1/members/{id}/role","href":"/api/members/operation/updateMemberRole"},{"title":"Removes a single user from an organization","openapi":"openapi.yaml DELETE /v1/members/{id}","href":"/api/members/operation/deleteMember"}]},{"group":"Event Webhooks","pages":[{"title":"Get all event webhooks","openapi":"openapi.yaml GET /v1/event-webhooks","href":"/api/event-webhooks/operation/listEventWebhooks"},{"title":"Create an event webhook","openapi":"openapi.yaml POST /v1/event-webhooks","href":"/api/event-webhooks/operation/postEventWebhook"},{"title":"Get a single event webhook","openapi":"openapi.yaml GET /v1/event-webhooks/{id}","href":"/api/event-webhooks/operation/getEventWebhook"},{"title":"Update an event webhook","openapi":"openapi.yaml PUT /v1/event-webhooks/{id}","href":"/api/event-webhooks/operation/putEventWebhook"},{"title":"Delete an event webhook","openapi":"openapi.yaml DELETE /v1/event-webhooks/{id}","href":"/api/event-webhooks/operation/deleteEventWebhook"},{"title":"Get the 50 most recent deliveries for an event webhook","openapi":"openapi.yaml GET /v1/event-webhooks/{id}/logs","href":"/api/event-webhooks/operation/listEventWebhookLogs"},{"title":"Send a test event to an event webhook","openapi":"openapi.yaml POST /v1/event-webhooks/{id}/test","href":"/api/event-webhooks/operation/postEventWebhookTest"}]},{"group":"Audit Logs","pages":[{"title":"Get audit history for an entity or entity type","openapi":"openapi.yaml GET /v1/audits","href":"/api/audits/operation/listAudits"},{"title":"Get the organization's event log","openapi":"openapi.yaml GET /v1/events","href":"/api/audits/operation/listEvents"},{"title":"Get a single event","openapi":"openapi.yaml GET /v1/events/{id}","href":"/api/audits/operation/getEvent"}]},{"group":"Code References","pages":[{"title":"Get list of all code references for the current organization","openapi":"openapi.yaml GET /v1/code-refs","href":"/api/code-references/operation/listCodeRefs"},{"title":"Submit list of code references","openapi":"openapi.yaml POST /v1/code-refs","href":"/api/code-references/operation/postCodeRefs"},{"title":"Get list of code references for a single feature id","openapi":"openapi.yaml GET /v1/code-refs/{id}","href":"/api/code-references/operation/getCodeRefs"}]},{"group":"Archetypes","pages":[{"title":"Get the organization's archetypes","openapi":"openapi.yaml GET /v1/archetypes","href":"/api/archetypes/operation/listArchetypes"},{"title":"Create a single archetype","openapi":"openapi.yaml POST /v1/archetypes","href":"/api/archetypes/operation/postArchetype"},{"title":"Get a single archetype","openapi":"openapi.yaml GET /v1/archetypes/{id}","href":"/api/archetypes/operation/getArchetype"},{"title":"Update a single archetype","openapi":"openapi.yaml PUT /v1/archetypes/{id}","href":"/api/archetypes/operation/putArchetype"},{"title":"Deletes a single archetype","openapi":"openapi.yaml DELETE /v1/archetypes/{id}","href":"/api/archetypes/operation/deleteArchetype"}]},{"group":"Queries","pages":[{"title":"Get a single query","openapi":"openapi.yaml GET /v1/queries/{id}","href":"/api/queries/operation/getQuery"},{"title":"Get a data source's 50 most recent queries","openapi":"openapi.yaml GET /v1/data-sources/{id}/queries","href":"/api/queries/operation/listDataSourceQueries"},{"title":"Cancel a running query","openapi":"openapi.yaml POST /v1/queries/{id}/cancel","href":"/api/queries/operation/postQueryCancel"}]},{"group":"Settings","pages":[{"title":"Get organization settings","openapi":"openapi.yaml GET /v1/settings","href":"/api/settings/operation/getSettings"},{"title":"Update approval settings","openapi":"openapi.yaml PUT /v1/settings/approvals","href":"/api/settings/operation/putApprovalSettings"}]},{"group":"Attributes","pages":[{"title":"Get the organization's attributes","openapi":"openapi.yaml GET /v1/attributes","href":"/api/attributes/operation/listAttributes"},{"title":"Create a new attribute","openapi":"openapi.yaml POST /v1/attributes","href":"/api/attributes/operation/postAttribute"},{"title":"Update an attribute","openapi":"openapi.yaml PUT /v1/attributes/{property}","href":"/api/attributes/operation/putAttribute"},{"title":"Deletes a single attribute","openapi":"openapi.yaml DELETE /v1/attributes/{property}","href":"/api/attributes/operation/deleteAttribute"}]},{"group":"Usage","pages":[{"title":"Get metric usage across experiments","openapi":"openapi.yaml GET /v1/usage/metrics","href":"/api/usage/operation/getMetricUsage"}]},{"group":"Meta","pages":[{"title":"Get the GrowthBook server version and build info","openapi":"openapi.yaml GET /v1/version","href":"/api/meta/operation/getVersion"},{"title":"Get a confirmation","openapi":"openapi.yaml GET /v1/confirmations/{id}","href":"/api/meta/operation/getConfirmation"}]},{"group":"Contextual Bandits","tag":"BETA","pages":[{"title":"Get current Contextual Bandit leaf weights and latest event","openapi":"openapi.yaml GET /v1/contextual-bandits/{id}/current","href":"/api/ContextualBandits/operation/getContextualBanditCurrentWeights"},{"title":"List Contextual Bandit snapshots","openapi":"openapi.yaml GET /v1/contextual-bandits/{id}/snapshots","href":"/api/ContextualBandits/operation/listContextualBanditSnapshots"},{"title":"Get a single Contextual Bandit snapshot","openapi":"openapi.yaml GET /v1/contextual-bandits/{id}/snapshots/{snapshotId}","href":"/api/ContextualBandits/operation/getContextualBanditSnapshot"},{"title":"List Contextual Bandit weight-update events","openapi":"openapi.yaml GET /v1/contextual-bandits/{id}/events","href":"/api/ContextualBandits/operation/listContextualBanditEvents"},{"title":"Get a single Contextual Bandit weight-update event","openapi":"openapi.yaml GET /v1/contextual-bandits/{id}/events/{eventId}","href":"/api/ContextualBandits/operation/getContextualBanditEvent"},{"title":"Get latest Contextual Bandit results","openapi":"openapi.yaml GET /v1/contextual-bandits/{id}/results","href":"/api/ContextualBandits/operation/getContextualBanditResults"},{"title":"Get Contextual Bandit run status","openapi":"openapi.yaml GET /v1/contextual-bandits/{id}/status","href":"/api/ContextualBandits/operation/getContextualBanditStatus"},{"title":"Get features linked to a Contextual Bandit","openapi":"openapi.yaml GET /v1/contextual-bandits/{id}/linked-features","href":"/api/ContextualBandits/operation/getContextualBanditLinkedFeatures"},{"title":"Link a feature to a Contextual Bandit","openapi":"openapi.yaml POST /v1/contextual-bandits/{id}/linked-feature/{featureId}","href":"/api/ContextualBandits/operation/addContextualBanditLinkedFeature"},{"title":"Replace a Contextual Bandit's rule on a linked feature","openapi":"openapi.yaml PUT /v1/contextual-bandits/{id}/linked-feature/{featureId}","href":"/api/ContextualBandits/operation/updateContextualBanditLinkedFeature"},{"title":"Unlink a feature from a Contextual Bandit","openapi":"openapi.yaml DELETE /v1/contextual-bandits/{id}/linked-feature/{featureId}","href":"/api/ContextualBandits/operation/deleteContextualBanditLinkedFeature"},{"title":"Get a single contextualBandit","openapi":"openapi.yaml GET /v1/contextual-bandits/{id}","href":"/api/ContextualBandits/operation/getContextualBandit"},{"title":"Update a single contextualBandit","openapi":"openapi.yaml PUT /v1/contextual-bandits/{id}","href":"/api/ContextualBandits/operation/updateContextualBandit"},{"title":"Delete a single contextualBandit","openapi":"openapi.yaml DELETE /v1/contextual-bandits/{id}","href":"/api/ContextualBandits/operation/deleteContextualBandit"},{"title":"Get all contextualBandits","openapi":"openapi.yaml GET /v1/contextual-bandits","href":"/api/ContextualBandits/operation/listContextualBandits"},{"title":"Create a single contextualBandit","openapi":"openapi.yaml POST /v1/contextual-bandits","href":"/api/ContextualBandits/operation/createContextualBandit"},{"title":"Start a Contextual Bandit","openapi":"openapi.yaml POST /v1/contextual-bandits/{id}/start","href":"/api/ContextualBandits/operation/startContextualBandit"},{"title":"Stop a Contextual Bandit","openapi":"openapi.yaml POST /v1/contextual-bandits/{id}/stop","href":"/api/ContextualBandits/operation/stopContextualBandit"},{"title":"Trigger a Contextual Bandit snapshot refresh","openapi":"openapi.yaml POST /v1/contextual-bandits/{id}/refresh","href":"/api/ContextualBandits/operation/refreshContextualBandit"},{"title":"Add or remove Contextual Bandit variations","openapi":"openapi.yaml POST /v1/contextual-bandits/{id}/variations","href":"/api/ContextualBandits/operation/updateContextualBanditVariations"},{"title":"Cancel a running Contextual Bandit snapshot refresh","openapi":"openapi.yaml POST /v1/contextual-bandits/{id}/cancel","href":"/api/ContextualBandits/operation/cancelContextualBandit"},{"title":"List visual changesets for a Contextual Bandit","openapi":"openapi.yaml GET /v1/contextual-bandits/{id}/visual-changesets","href":"/api/ContextualBandits/operation/listContextualBanditVisualChangesets"},{"title":"Create a visual changeset for a Contextual Bandit","openapi":"openapi.yaml POST /v1/contextual-bandits/{id}/visual-changesets","href":"/api/ContextualBandits/operation/postContextualBanditVisualChangesets"}]},{"group":"information-schema-tables","pages":[{"title":"Refresh one table's columns","openapi":"openapi.yaml POST /v1/information-schema-tables/{tableId}/refresh","href":"/api/information-schema-tables/operation/postInformationSchemaTableRefresh"}]},{"group":"Dashboards","pages":[{"title":"Get a single dashboard","openapi":"openapi.yaml GET /v1/dashboards/{id}","href":"/api/Dashboards/operation/getDashboard"},{"title":"Update a single dashboard","openapi":"openapi.yaml PUT /v1/dashboards/{id}","href":"/api/Dashboards/operation/updateDashboard"},{"title":"Delete a single dashboard","openapi":"openapi.yaml DELETE /v1/dashboards/{id}","href":"/api/Dashboards/operation/deleteDashboard"},{"title":"Get all dashboards","openapi":"openapi.yaml GET /v1/dashboards","href":"/api/Dashboards/operation/listDashboards"},{"title":"Create a single dashboard","openapi":"openapi.yaml POST /v1/dashboards","href":"/api/Dashboards/operation/createDashboard"},{"title":"Create a single dashboard","openapi":"openapi.yaml POST /v2/dashboards","href":"/api/Dashboards/operation/createDashboardV2"},{"title":"Get all dashboards for an experiment","openapi":"openapi.yaml GET /v1/dashboards/by-experiment/{experimentId}","href":"/api/Dashboards/operation/getDashboardsForExperiment"}]},{"group":"Contextual Bandit Queries","tag":"BETA","pages":[{"title":"Get a single contextualBanditQuery","openapi":"openapi.yaml GET /v1/contextual-bandit-queries/{id}","href":"/api/ContextualBanditQueries/operation/getContextualBanditQuery"},{"title":"Update a single contextualBanditQuery","openapi":"openapi.yaml PUT /v1/contextual-bandit-queries/{id}","href":"/api/ContextualBanditQueries/operation/updateContextualBanditQuery"},{"title":"Delete a single contextualBanditQuery","openapi":"openapi.yaml DELETE /v1/contextual-bandit-queries/{id}","href":"/api/ContextualBanditQueries/operation/deleteContextualBanditQuery"},{"title":"Get all contextualBanditQueries","openapi":"openapi.yaml GET /v1/contextual-bandit-queries","href":"/api/ContextualBanditQueries/operation/listContextualBanditQueries"},{"title":"Create a single contextualBanditQuery","openapi":"openapi.yaml POST /v1/contextual-bandit-queries","href":"/api/ContextualBanditQueries/operation/createContextualBanditQuery"}]},{"group":"Interleaving Exposure Queries","pages":[{"title":"Get a single interleavingExposureQuery","openapi":"openapi.yaml GET /v1/interleaving-exposure-queries/{id}","href":"/api/InterleavingExposureQueries/operation/getInterleavingExposureQuery"},{"title":"Update a single interleavingExposureQuery","openapi":"openapi.yaml PUT /v1/interleaving-exposure-queries/{id}","href":"/api/InterleavingExposureQueries/operation/updateInterleavingExposureQuery"},{"title":"Delete a single interleavingExposureQuery","openapi":"openapi.yaml DELETE /v1/interleaving-exposure-queries/{id}","href":"/api/InterleavingExposureQueries/operation/deleteInterleavingExposureQuery"},{"title":"Get all interleavingExposureQueries","openapi":"openapi.yaml GET /v1/interleaving-exposure-queries","href":"/api/InterleavingExposureQueries/operation/listInterleavingExposureQueries"},{"title":"Create a single interleavingExposureQuery","openapi":"openapi.yaml POST /v1/interleaving-exposure-queries","href":"/api/InterleavingExposureQueries/operation/createInterleavingExposureQuery"}]},{"group":"Interleaving Experiments","pages":[{"title":"Get a single interleaving","openapi":"openapi.yaml GET /v1/interleavings/{id}","href":"/api/Interleavings/operation/getInterleaving"},{"title":"Update a single interleaving","openapi":"openapi.yaml PUT /v1/interleavings/{id}","href":"/api/Interleavings/operation/updateInterleaving"},{"title":"Delete a single interleaving","openapi":"openapi.yaml DELETE /v1/interleavings/{id}","href":"/api/Interleavings/operation/deleteInterleaving"},{"title":"Get all interleavings","openapi":"openapi.yaml GET /v1/interleavings","href":"/api/Interleavings/operation/listInterleavings"},{"title":"Create a single interleaving","openapi":"openapi.yaml POST /v1/interleavings","href":"/api/Interleavings/operation/createInterleaving"},{"title":"Start an interleaving experiment","openapi":"openapi.yaml POST /v1/interleavings/{id}/start","href":"/api/Interleavings/operation/startInterleaving"},{"title":"Stop an interleaving experiment","openapi":"openapi.yaml POST /v1/interleavings/{id}/stop","href":"/api/Interleavings/operation/stopInterleaving"},{"title":"Refresh interleaving experiment results","openapi":"openapi.yaml POST /v1/interleavings/{id}/refresh","href":"/api/Interleavings/operation/refreshInterleaving"},{"title":"Get the latest interleaving experiment results","openapi":"openapi.yaml GET /v1/interleavings/{id}/results","href":"/api/Interleavings/operation/getInterleavingResults"},{"title":"Get interleaving experiment run status","openapi":"openapi.yaml GET /v1/interleavings/{id}/status","href":"/api/Interleavings/operation/getInterleavingStatus"},{"title":"List interleaving experiment results snapshots","openapi":"openapi.yaml GET /v1/interleavings/{id}/snapshots","href":"/api/Interleavings/operation/listInterleavingSnapshots"},{"title":"Get an interleaving experiment results snapshot","openapi":"openapi.yaml GET /v1/interleavings/{id}/snapshots/{snapshotId}","href":"/api/Interleavings/operation/getInterleavingSnapshot"}]},{"group":"Custom Fields","pages":[{"title":"Get all custom fields","openapi":"openapi.yaml GET /v1/custom-fields","href":"/api/CustomFields/operation/listCustomFields"},{"title":"Create a single customField","openapi":"openapi.yaml POST /v1/custom-fields","href":"/api/CustomFields/operation/createCustomField"},{"title":"Get a single customField","openapi":"openapi.yaml GET /v1/custom-fields/{id}","href":"/api/CustomFields/operation/getCustomField"},{"title":"Update a single customField","openapi":"openapi.yaml PUT /v1/custom-fields/{id}","href":"/api/CustomFields/operation/updateCustomField"},{"title":"Delete a single customField","openapi":"openapi.yaml DELETE /v1/custom-fields/{id}","href":"/api/CustomFields/operation/deleteCustomField"}]},{"group":"Metric Groups","pages":[{"title":"Get a single metricGroup","openapi":"openapi.yaml GET /v1/metric-groups/{id}","href":"/api/MetricGroups/operation/getMetricGroup"},{"title":"Update a single metricGroup","openapi":"openapi.yaml PUT /v1/metric-groups/{id}","href":"/api/MetricGroups/operation/updateMetricGroup"},{"title":"Delete a single metricGroup","openapi":"openapi.yaml DELETE /v1/metric-groups/{id}","href":"/api/MetricGroups/operation/deleteMetricGroup"},{"title":"Get all metricGroups","openapi":"openapi.yaml GET /v1/metric-groups","href":"/api/MetricGroups/operation/listMetricGroups"},{"title":"Create a single metricGroup","openapi":"openapi.yaml POST /v1/metric-groups","href":"/api/MetricGroups/operation/createMetricGroup"}]},{"group":"Teams","pages":[{"title":"Get a single team","openapi":"openapi.yaml GET /v1/teams/{id}","href":"/api/Teams/operation/getTeam"},{"title":"Update a single team","openapi":"openapi.yaml PUT /v1/teams/{id}","href":"/api/Teams/operation/updateTeam"},{"title":"Delete a single team","openapi":"openapi.yaml DELETE /v1/teams/{id}","href":"/api/Teams/operation/deleteTeam"},{"title":"Get all teams","openapi":"openapi.yaml GET /v1/teams","href":"/api/Teams/operation/listTeams"},{"title":"Create a single team","openapi":"openapi.yaml POST /v1/teams","href":"/api/Teams/operation/createTeam"},{"title":"Add members to team","openapi":"openapi.yaml POST /v1/teams/{id}/members","href":"/api/Teams/operation/addTeamMembers"},{"title":"Remove members from team","openapi":"openapi.yaml DELETE /v1/teams/{id}/members","href":"/api/Teams/operation/removeTeamMember"}]},{"group":"Experiment Templates","pages":[{"title":"Get a single experimentTemplate","openapi":"openapi.yaml GET /v1/experiment-templates/{id}","href":"/api/ExperimentTemplates/operation/getExperimentTemplate"},{"title":"Update a single experimentTemplate","openapi":"openapi.yaml PUT /v1/experiment-templates/{id}","href":"/api/ExperimentTemplates/operation/updateExperimentTemplate"},{"title":"Delete a single experimentTemplate","openapi":"openapi.yaml DELETE /v1/experiment-templates/{id}","href":"/api/ExperimentTemplates/operation/deleteExperimentTemplate"},{"title":"Get all experimentTemplates","openapi":"openapi.yaml GET /v1/experiment-templates","href":"/api/ExperimentTemplates/operation/listExperimentTemplates"},{"title":"Create a single experimentTemplate","openapi":"openapi.yaml POST /v1/experiment-templates","href":"/api/ExperimentTemplates/operation/createExperimentTemplate"},{"title":"Bulk create or update experiment templates","openapi":"openapi.yaml POST /v1/experiment-templates/bulk-import","href":"/api/ExperimentTemplates/operation/bulkImportExperimentTemplates"}]},{"group":"Analytics Explorations","pages":[{"title":"Create a Metric based visualization","openapi":"openapi.yaml POST /v1/product-analytics/metric-exploration","href":"/api/AnalyticsExplorations/operation/postMetricExploration"},{"title":"Run a Fact Table based visualization","openapi":"openapi.yaml POST /v1/product-analytics/fact-table-exploration","href":"/api/AnalyticsExplorations/operation/postFactTableExploration"},{"title":"Create a Data Source based visualization","openapi":"openapi.yaml POST /v1/product-analytics/data-source-exploration","href":"/api/AnalyticsExplorations/operation/postDataSourceExploration"},{"title":"Create a SQL based visualization","openapi":"openapi.yaml POST /v1/product-analytics/sql-exploration","href":"/api/AnalyticsExplorations/operation/postSqlExploration"},{"title":"Run a Funnel based visualization","openapi":"openapi.yaml POST /v1/product-analytics/funnel-exploration","href":"/api/AnalyticsExplorations/operation/postFunnelExploration"},{"title":"Run a User Journey based visualization","openapi":"openapi.yaml POST /v1/product-analytics/journey-exploration","href":"/api/AnalyticsExplorations/operation/postJourneyExploration"},{"title":"Search Product Analytics resources","openapi":"openapi.yaml GET /v1/product-analytics/search","href":"/api/AnalyticsExplorations/operation/searchProductAnalyticsResources"},{"title":"List columns available to a Product Analytics exploration","openapi":"openapi.yaml GET /v1/product-analytics/columns","href":"/api/AnalyticsExplorations/operation/getProductAnalyticsColumns"},{"title":"Fetch values for Product Analytics string columns","openapi":"openapi.yaml POST /v1/product-analytics/column-values","href":"/api/AnalyticsExplorations/operation/getProductAnalyticsColumnValues"},{"title":"Get a Product Analytics exploration","openapi":"openapi.yaml GET /v1/product-analytics/explorations/{id}","href":"/api/AnalyticsExplorations/operation/getProductAnalyticsExploration"}]},{"group":"Ramp Schedule Templates","pages":[{"title":"Get a single rampScheduleTemplate","openapi":"openapi.yaml GET /v1/ramp-schedule-templates/{id}","href":"/api/RampScheduleTemplates/operation/getRampScheduleTemplate"},{"title":"Update a single rampScheduleTemplate","openapi":"openapi.yaml PUT /v1/ramp-schedule-templates/{id}","href":"/api/RampScheduleTemplates/operation/updateRampScheduleTemplate"},{"title":"Delete a single rampScheduleTemplate","openapi":"openapi.yaml DELETE /v1/ramp-schedule-templates/{id}","href":"/api/RampScheduleTemplates/operation/deleteRampScheduleTemplate"},{"title":"Get all rampScheduleTemplates","openapi":"openapi.yaml GET /v1/ramp-schedule-templates","href":"/api/RampScheduleTemplates/operation/listRampScheduleTemplates"},{"title":"Create a single rampScheduleTemplate","openapi":"openapi.yaml POST /v1/ramp-schedule-templates","href":"/api/RampScheduleTemplates/operation/createRampScheduleTemplate"}]},{"group":"Learnings","pages":[{"title":"Get a single learning","openapi":"openapi.yaml GET /v1/learnings/{id}","href":"/api/Learnings/operation/getLearning"},{"title":"Update a single learning","openapi":"openapi.yaml PUT /v1/learnings/{id}","href":"/api/Learnings/operation/updateLearning"},{"title":"Delete a single learning","openapi":"openapi.yaml DELETE /v1/learnings/{id}","href":"/api/Learnings/operation/deleteLearning"},{"title":"Get all learnings","openapi":"openapi.yaml GET /v1/learnings","href":"/api/Learnings/operation/listLearnings"},{"title":"Create a single learning","openapi":"openapi.yaml POST /v1/learnings","href":"/api/Learnings/operation/createLearning"},{"title":"Search saved Learnings by meaning rather than keyword","openapi":"openapi.yaml POST /v1/learnings/search","href":"/api/Learnings/operation/searchLearnings"}]},{"group":"Holdouts","pages":[{"title":"Get a single holdout","openapi":"openapi.yaml GET /v1/holdouts/{id}","href":"/api/Holdouts/operation/getHoldout"},{"title":"Update a single holdout","openapi":"openapi.yaml PUT /v1/holdouts/{id}","href":"/api/Holdouts/operation/updateHoldout"},{"title":"Get all holdouts","openapi":"openapi.yaml GET /v1/holdouts","href":"/api/Holdouts/operation/listHoldouts"},{"title":"Create a single holdout","openapi":"openapi.yaml POST /v1/holdouts","href":"/api/Holdouts/operation/createHoldout"},{"title":"Start the Holdout's Active Period","openapi":"openapi.yaml POST /v1/holdouts/{id}/start","href":"/api/Holdouts/operation/startHoldout"},{"title":"Start the Holdout's Analysis Period","openapi":"openapi.yaml POST /v1/holdouts/{id}/start-analysis","href":"/api/Holdouts/operation/startHoldoutAnalysis"},{"title":"Stop a Holdout","openapi":"openapi.yaml POST /v1/holdouts/{id}/stop","href":"/api/Holdouts/operation/stopHoldout"}]},{"group":"Auto Runs","pages":[{"title":"Get all autoRuns","openapi":"openapi.yaml GET /v1/auto-runs","href":"/api/AutoRuns/operation/listAutoRuns"},{"title":"Create a single autoRun","openapi":"openapi.yaml POST /v1/auto-runs","href":"/api/AutoRuns/operation/createAutoRun"},{"title":"Get a single autoRun","openapi":"openapi.yaml GET /v1/auto-runs/{id}","href":"/api/AutoRuns/operation/getAutoRun"},{"title":"Update a single autoRun","openapi":"openapi.yaml PUT /v1/auto-runs/{id}","href":"/api/AutoRuns/operation/updateAutoRun"},{"title":"Record something an auto run created","openapi":"openapi.yaml POST /v1/auto-runs/{id}/artifacts","href":"/api/AutoRuns/operation/appendAutoRunArtifact"}]},{"group":"Populations","tag":"BETA","pages":[{"title":"Get all populations","openapi":"openapi.yaml GET /v1/populations","href":"/api/Populations/operation/listPopulations"},{"title":"Create a single population","openapi":"openapi.yaml POST /v1/populations","href":"/api/Populations/operation/createPopulation"},{"title":"Get a single population","openapi":"openapi.yaml GET /v1/populations/{id}","href":"/api/Populations/operation/getPopulation"},{"title":"Update a single population","openapi":"openapi.yaml PUT /v1/populations/{id}","href":"/api/Populations/operation/updatePopulation"},{"title":"Delete a single population","openapi":"openapi.yaml DELETE /v1/populations/{id}","href":"/api/Populations/operation/deletePopulation"}]},{"group":"Webhook Secrets","pages":[{"title":"Get a single webhookSecret","openapi":"openapi.yaml GET /v1/webhook-secrets/{id}","href":"/api/WebhookSecrets/operation/getWebhookSecret"},{"title":"Delete a single webhookSecret","openapi":"openapi.yaml DELETE /v1/webhook-secrets/{id}","href":"/api/WebhookSecrets/operation/deleteWebhookSecret"},{"title":"Get all webhookSecrets","openapi":"openapi.yaml GET /v1/webhook-secrets","href":"/api/WebhookSecrets/operation/listWebhookSecrets"}]},{"group":"SDK Webhooks","pages":[{"title":"Get the webhooks for an SDK Connection","openapi":"openapi.yaml GET /v1/sdk-connections/{id}/webhooks","href":"/api/SdkWebhooks/operation/listSdkConnectionWebhooks"},{"title":"Add a webhook to an SDK Connection","openapi":"openapi.yaml POST /v1/sdk-connections/{id}/webhooks","href":"/api/SdkWebhooks/operation/postSdkConnectionWebhook"},{"title":"Update an SDK webhook","openapi":"openapi.yaml PUT /v1/sdk-webhooks/{id}","href":"/api/SdkWebhooks/operation/putSdkWebhook"},{"title":"Delete an SDK webhook","openapi":"openapi.yaml DELETE /v1/sdk-webhooks/{id}","href":"/api/SdkWebhooks/operation/deleteSdkWebhook"},{"title":"Fire an SDK webhook now","openapi":"openapi.yaml POST /v1/sdk-webhooks/{id}/test","href":"/api/SdkWebhooks/operation/postSdkWebhookTest"}]}]},{"group":"Models","pages":[{"title":"Aggregated Fact Table","href":"/api/AggregatedFactTable_model"},{"title":"Analytics Exploration","href":"/api/AnalyticsExploration_model"},{"title":"Archetype","href":"/api/Archetype_model"},{"title":"Attribute","href":"/api/Attribute_model"},{"title":"Audit","href":"/api/Audit_model"},{"title":"Auto Run","href":"/api/AutoRun_model"},{"title":"Code Ref","href":"/api/CodeRef_model"},{"title":"Config","href":"/api/Config_model"},{"title":"Config Key Usage","href":"/api/ConfigKeyUsage_model"},{"title":"Config Lineage","href":"/api/ConfigLineage_model"},{"title":"Config References","href":"/api/ConfigReferences_model"},{"title":"Config Revision","href":"/api/ConfigRevision_model"},{"title":"Config Revision Activity Log Entry","href":"/api/ConfigRevisionActivityLogEntry_model"},{"title":"Config Revision Ref","href":"/api/ConfigRevisionRef_model"},{"title":"Config Revision Review","href":"/api/ConfigRevisionReview_model"},{"title":"Config Schema Export","href":"/api/ConfigSchemaExport_model"},{"title":"Config Schema Source","href":"/api/ConfigSchemaSource_model"},{"title":"Config Schema Verify","href":"/api/ConfigSchemaVerify_model"},{"title":"Config Schema Warning","href":"/api/ConfigSchemaWarning_model"},{"title":"Confirmation","href":"/api/Confirmation_model"},{"title":"Confirmation Held","href":"/api/ConfirmationHeld_model"},{"title":"Constant","href":"/api/Constant_model"},{"title":"Constant References","href":"/api/ConstantReferences_model"},{"title":"Constant Revision","href":"/api/ConstantRevision_model"},{"title":"Constant Revision Activity Log Entry","href":"/api/ConstantRevisionActivityLogEntry_model"},{"title":"Constant Revision Ref","href":"/api/ConstantRevisionRef_model"},{"title":"Constant Revision Review","href":"/api/ConstantRevisionReview_model"},{"title":"Contextual Bandit","href":"/api/ContextualBandit_model"},{"title":"Contextual Bandit Query","href":"/api/ContextualBanditQuery_model"},{"title":"Custom Field","href":"/api/CustomField_model"},{"title":"Custom Hook","href":"/api/CustomHook_model"},{"title":"Dashboard","href":"/api/Dashboard_model"},{"title":"Data Source","href":"/api/DataSource_model"},{"title":"Dimension","href":"/api/Dimension_model"},{"title":"Environment","href":"/api/Environment_model"},{"title":"Event","href":"/api/Event_model"},{"title":"Event User","href":"/api/EventUser_model"},{"title":"Event Webhook","href":"/api/EventWebhook_model"},{"title":"Event Webhook Log","href":"/api/EventWebhookLog_model"},{"title":"Experiment","href":"/api/Experiment_model"},{"title":"Experiment Rule","href":"/api/Experiment Rule_model"},{"title":"Experiment Analysis Settings","href":"/api/ExperimentAnalysisSettings_model"},{"title":"Experiment Decision Framework Settings","href":"/api/ExperimentDecisionFrameworkSettings_model"},{"title":"Experiment Metric","href":"/api/ExperimentMetric_model"},{"title":"Experiment Metric Override Entry","href":"/api/ExperimentMetricOverrideEntry_model"},{"title":"Experiment Results","href":"/api/ExperimentResults_model"},{"title":"Experiment Snapshot","href":"/api/ExperimentSnapshot_model"},{"title":"Experiment Template","href":"/api/ExperimentTemplate_model"},{"title":"Experiment With Enhanced Status","href":"/api/ExperimentWithEnhancedStatus_model"},{"title":"Fact Metric","href":"/api/FactMetric_model"},{"title":"Fact Table","href":"/api/FactTable_model"},{"title":"Fact Table Column","href":"/api/FactTableColumn_model"},{"title":"Fact Table Filter","href":"/api/FactTableFilter_model"},{"title":"Feature Base Rule","href":"/api/FeatureBaseRule_model"},{"title":"Feature Contextual Bandit Ref Rule","href":"/api/FeatureContextualBanditRefRule_model"},{"title":"Feature Definition","href":"/api/FeatureDefinition_model"},{"title":"Feature Environment V1","href":"/api/FeatureEnvironmentV1_model"},{"title":"Feature Environment V2","href":"/api/FeatureEnvironmentV2_model"},{"title":"Feature Experiment Ref Rule","href":"/api/FeatureExperimentRefRule_model"},{"title":"Feature Experiment Rule","href":"/api/FeatureExperimentRule_model"},{"title":"Feature Force Rule","href":"/api/FeatureForceRule_model"},{"title":"Feature Revision Ref","href":"/api/FeatureRevisionRef_model"},{"title":"Feature Revision Summary","href":"/api/FeatureRevisionSummary_model"},{"title":"Feature Revision V1","href":"/api/FeatureRevisionV1_model"},{"title":"Feature Revision V2","href":"/api/FeatureRevisionV2_model"},{"title":"Feature Rollout Rule","href":"/api/FeatureRolloutRule_model"},{"title":"Feature Rule V1","href":"/api/FeatureRuleV1_model"},{"title":"Feature Rule V2","href":"/api/FeatureRuleV2_model"},{"title":"Feature Safe Rollout Rule","href":"/api/FeatureSafeRolloutRule_model"},{"title":"Feature V1","href":"/api/FeatureV1_model"},{"title":"Feature V2","href":"/api/FeatureV2_model"},{"title":"Feature With Revisions V1","href":"/api/FeatureWithRevisionsV1_model"},{"title":"Feature With Revisions V2","href":"/api/FeatureWithRevisionsV2_model"},{"title":"Holdout","href":"/api/Holdout_model"},{"title":"Information Schema","href":"/api/InformationSchema_model"},{"title":"Information Schema Table","href":"/api/InformationSchemaTable_model"},{"title":"Interleaving","href":"/api/Interleaving_model"},{"title":"Interleaving Exposure Query","href":"/api/InterleavingExposureQuery_model"},{"title":"Interleaving Snapshot","href":"/api/InterleavingSnapshot_model"},{"title":"Interleaving Snapshot Status","href":"/api/InterleavingSnapshotStatus_model"},{"title":"Learning","href":"/api/Learning_model"},{"title":"Lookback Override","href":"/api/LookbackOverride_model"},{"title":"Member","href":"/api/Member_model"},{"title":"Metric","href":"/api/Metric_model"},{"title":"Metric Analysis","href":"/api/MetricAnalysis_model"},{"title":"Metric Group","href":"/api/MetricGroup_model"},{"title":"Metric Usage","href":"/api/MetricUsage_model"},{"title":"Namespace","href":"/api/Namespace_model"},{"title":"Namespace Experiment Member","href":"/api/NamespaceExperimentMember_model"},{"title":"Organization","href":"/api/Organization_model"},{"title":"Pagination Fields","href":"/api/PaginationFields_model"},{"title":"Population","href":"/api/Population_model"},{"title":"Project","href":"/api/Project_model"},{"title":"Query","href":"/api/Query_model"},{"title":"Ramp Schedule","href":"/api/RampSchedule_model"},{"title":"Ramp Schedule Template","href":"/api/RampScheduleTemplate_model"},{"title":"Report","href":"/api/Report_model"},{"title":"Require Review Rule","href":"/api/RequireReviewRule_model"},{"title":"Require Review Rule Input","href":"/api/RequireReviewRuleInput_model"},{"title":"Revision Id Ref","href":"/api/RevisionIdRef_model"},{"title":"Safe Rollout Rule","href":"/api/Safe Rollout Rule_model"},{"title":"Saved Group","href":"/api/SavedGroup_model"},{"title":"Saved Group Approval Rule","href":"/api/SavedGroupApprovalRule_model"},{"title":"Saved Group Reference Resource","href":"/api/SavedGroupReferenceResource_model"},{"title":"Saved Group References","href":"/api/SavedGroupReferences_model"},{"title":"Saved Group Revision","href":"/api/SavedGroupRevision_model"},{"title":"Saved Group Revision Activity Log Entry","href":"/api/SavedGroupRevisionActivityLogEntry_model"},{"title":"Saved Group Revision Ref","href":"/api/SavedGroupRevisionRef_model"},{"title":"Saved Group Revision Review","href":"/api/SavedGroupRevisionReview_model"},{"title":"Saved Group Upload","href":"/api/SavedGroupUpload_model"},{"title":"Schedule Rule","href":"/api/ScheduleRule_model"},{"title":"Scheduled Stop Plan","href":"/api/ScheduledStopPlan_model"},{"title":"Sdk Connection","href":"/api/SdkConnection_model"},{"title":"Sdk Webhook","href":"/api/SdkWebhook_model"},{"title":"Segment","href":"/api/Segment_model"},{"title":"Settings","href":"/api/Settings_model"},{"title":"Targeting Rule","href":"/api/Targeting Rule_model"},{"title":"Targeting Review Rule","href":"/api/TargetingReviewRule_model"},{"title":"Team","href":"/api/Team_model"},{"title":"Visual Change","href":"/api/VisualChange_model"},{"title":"Visual Changeset","href":"/api/VisualChangeset_model"},{"title":"Visual Editor Cb Experiment Stub","href":"/api/VisualEditorCbExperimentStub_model"},{"title":"Webhook Secret","href":"/api/WebhookSecret_model"}]}]}]},"basePath":"","title":"Create a single config - GrowthBook Documentation","buildId":"dpl_5joLUXmnJgwqjrHAS4dxZrQTdxgh","deploymentId":"dpl_5joLUXmnJgwqjrHAS4dxZrQTdxgh","dynamics":["c2aa737661","b0f84f53ff","a9bb46feb3","2b790eda92"],"chunks":["OpenApiReferenceProvider-DPDWPCdE.js","utils-DyjUHyLo.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-BWYE1cdS.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-COAzxpEw.js","snippetPresets-DNiD_S52.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","Page-DDHbuAIY.js","ApiExamples-CjwVt80x.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-ByHQMk7z.js","shallow-CaZuw1AO.js","getApiPlaygroundDisplay-DPVPOknm.js","CodeSnippet-B31CH-Mp.js","CodeSnippets-BxTYZWz6.js","getPastedJson-DhoAwiNO.js","icon-Dhq8z75J.js","MethodPill-DLXmKOwr.js","DuplicateIcon-jzdVwyRU.js","createIcon-eD0b3klN.js","DynamicMarkdown-BfddVCX7.js","SectionHeading-2pSCIo17.js","axios-vUo_bRtp.js","Markdown-DsWjhwJ4.js","clsx-B2t_mZQG.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CUljsAY7.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-Cf70306N.js"]}