Skip to main content
POST
cURL

Authorizations

Authorization
string
header
required

If using Bearer auth, pass the Secret Key as the token:

Path Parameters

key
string
required

The key of the config

Query Parameters

skipSchemaValidation
deprecated

Deprecated — pass skipSchemaValidation in the request body instead.

Allowed value: "true"
ignoreWarnings
deprecated

Deprecated — pass ignoreWarnings in the request body instead.

Allowed value: "true"

Body

application/json
name
string
parent
string

Change the lineage parent (the key of the config to inherit from). Set to an empty string to detach from the parent and make this a root config.

extends
string[]

Replace the composition bases (mixins) layered on top of parent, in precedence order (later overrides earlier; all override parent; own keys win last). Send the complete set; an empty array clears all mixins. 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.

scopedOverrides
object[]

Replace the 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. Send the complete list; an empty array clears all overrides; omit to leave unchanged. Entries must reference existing configs, may not reference this config itself, and may not be unreachable.

description
string
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.

schema
object

Replace this config's field definitions, as a JSON Schema document ({ type: "json-schema", value }) or typed-code source ({ type: "typescript" | "protobuf" | "python" | "go" | "rust", value }). Fields whose key a published ancestor already owns follow "base wins": an identical re-declaration is stripped with a redundant-declaration warning; one with a differing definition is rejected. A schema change cascades the 'base wins' normalization to descendants when published; a change that removes or retypes fields descendants still use soft-blocks with a 422 unless the request body sets ignoreWarnings: true. Conversion warnings are returned in warnings.

source
string

Optional identifier of the consuming codebase/service. When a typescript or protobuf schema is supplied, its named-type structure is captured under this source for reproduction on export.

extensible
boolean
experimentGuard
boolean

Enable or disable the experiment guard for this Config. Disabling it requires Bypass draft approvals access.

invariants
object[]

Replace the config's cross-field validation rules. Each rule's expression is a mongo condition (mongrule). Send the complete set; an empty array clears all rules. Omit to leave them unchanged.

bypassApproval
boolean

Set to true to write directly to the live Config without approval. The caller must have Bypass draft approvals access in the Config's Project, unless the organization enables the REST API approval bypass. This field has no effect when approval is not required.

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.

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.

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.

Response

200 - application/json

Resource created

config
object
required
warnings
object[]
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.

bypassedGates
object[]

Gates that would have blocked this publish but were bypassed by the caller's authority. Present only when at least one gate was bypassed.