---
title: "Update value"
method: PATCH
path: "/v2/settings/{settingKeyOrId}/value"
tags: ["Feature Flag & Setting values using SDK Key V2"]
---

# Update value

`PATCH /v2/settings/{settingKeyOrId}/value`

This endpoint updates the value of a Feature Flag or Setting
with a collection of [JSON Patch](https://jsonpatch.com) operations in a specified Environment.

Only the `defaultValue`, `targetingRules`, and `percentageEvaluationAttribute` fields are modifiable by this endpoint.

The advantage of using JSON Patch is that you can describe individual update operations on a resource
without touching attributes that you don't want to change. It supports collection reordering, so it also
can be used for reordering the targeting rules of a Feature Flag or Setting.

For example: We have the following resource of a Feature Flag.
```json
{
  "defaultValue": {
    "boolValue": false
  },
  "targetingRules": [
    {
      "conditions": [
        {
          "userCondition": {
            "comparisonAttribute": "Email",
            "comparator": "sensitiveTextEquals",
            "comparisonValue": {
              "stringValue": "test@example.com"
            }
          }
        }
      ],
      "percentageOptions": [],
      "value": {
        "boolValue": true
      }
    }
  ]
}
```
If we send an update request body as below:
```json
[
  {
    "op": "replace",
    "path": "/targetingRules/0/value/boolValue",
    "value": true
  }
]
```
Only the first Targeting Rule's `value` is going to be set to `false` and all the other fields are remaining unchanged.

So we get a response like this:
```json
{
  "defaultValue": {
    "boolValue": false
  },
  "targetingRules": [
    {
      "conditions": [
        {
          "userCondition": {
            "comparisonAttribute": "Email",
            "comparator": "sensitiveTextEquals",
            "comparisonValue": {
              "stringValue": "test@example.com"
            }
          }
        }
      ],
      "percentageOptions": [],
      "value": {
        "boolValue": false
      }
    }
  ]
}
```

## Path parameters

- `settingKeyOrId` string, required

## Query parameters

- `reason` string
- `bypassApproval` boolean
- `latestVersionId` string, uuid

## Headers

- `X-CONFIGCAT-SDKKEY` string

## Request body

- JsonPatchOperation[]
  - `op` 'unknown' | 'add' | 'remove' | 'replace' | 'move' | 'copy' | 'test', required
  - `path` string, required — The source path.
  - `from` string, nullable — The target path.
  - `value` unknown

## Response `200`

- SettingFormulaModel
  - `lastVersionId` string, uuid, required — The version identifier of the last change made to the Feature Flag or Setting in the Environment. It can be used to make sure concurrent updates are not overwriting each other. If the version identifier does not match the current version, the update will be rejected with a 409 Conflict response.
  - `defaultValue` ValueModel, required — Represents the value of a Feature Flag or Setting.
    - `boolValue` boolean, nullable, required — The served value in case of a boolean Feature Flag.
    - `stringValue` string, nullable, required — The served value in case of a text Setting.
    - `intValue` integer, nullable, required — The served value in case of a whole number Setting.
    - `doubleValue` number, double, nullable, required — The served value in case of a decimal number Setting.
    - `predefinedVariationId` string, uuid, nullable, required — The served Variation's identifier.
  - `targetingRules` TargetingRuleModel[], required — The targeting rules of the Feature Flag or Setting.
    - `conditions` ConditionModel[], required — The list of conditions that are combined with logical AND operators. It can be one of the following: - User condition - Segment condition - Prerequisite flag condition
      - `userCondition` UserConditionModel, required — Describes a condition that is based on user attributes.
        - `comparisonAttribute` string, required — The User Object attribute that the condition is based on. Can be "User ID", "Email", "Country" or any custom attribute.
        - `comparator` 'isOneOf' | 'isNotOneOf' | 'containsAnyOf' | 'doesNotContainAnyOf' | 'semVerIsOneOf' | 'semVerIsNotOneOf' | 'semVerLess' | 'semVerLessOrEquals' | 'semVerGreater' | 'semVerGreaterOrEquals' | 'numberEquals' | 'numberDoesNotEqual' | 'numberLess' | 'numberLessOrEquals' | 'numberGreater' | 'numberGreaterOrEquals' | 'sensitiveIsOneOf' | 'sensitiveIsNotOneOf' | 'dateTimeBefore' | 'dateTimeAfter' | 'sensitiveTextEquals' | 'sensitiveTextDoesNotEqual' | 'sensitiveTextStartsWithAnyOf' | 'sensitiveTextNotStartsWithAnyOf' | 'sensitiveTextEndsWithAnyOf' | 'sensitiveTextNotEndsWithAnyOf' | 'sensitiveArrayContainsAnyOf' | 'sensitiveArrayDoesNotContainAnyOf' | 'textEquals' | 'textDoesNotEqual' | 'textStartsWithAnyOf' | 'textNotStartsWithAnyOf' | 'textEndsWithAnyOf' | 'textNotEndsWithAnyOf' | 'arrayContainsAnyOf' | 'arrayDoesNotContainAnyOf', required — The comparison operator which defines the relation between the comparison attribute and the comparison value.
        - `comparisonValue` ComparisonValueModel, required — The value that the user object's attribute is compared to.
          - `stringValue` string, nullable, required — The string representation of the comparison value.
          - `doubleValue` number, double, nullable, required — The number representation of the comparison value.
          - `listValue` ComparisonValueListModel[], nullable, required — The list representation of the comparison value.
            - `value` string, required — The actual comparison value.
            - `hint` string, nullable, required — An optional hint for the comparison value.
      - `segmentCondition` SegmentConditionModel, required — Describes a condition that is based on a segment.
        - `segmentId` string, uuid, required — The segment's identifier.
        - `comparator` 'isIn' | 'isNotIn', required — The segment comparison operator used during the evaluation process.
      - `prerequisiteFlagCondition` PrerequisiteFlagConditionModel, required — Describes a condition that is based on a prerequisite flag.
        - `prerequisiteSettingId` integer, required — The prerequisite flag's identifier.
        - `comparator` 'equals' | 'doesNotEqual', required — Prerequisite flag comparison operator used during the evaluation process.
        - `prerequisiteComparisonValue` ValueModel, required — Represents the value of a Feature Flag or Setting.
          - `boolValue` boolean, nullable, required — The served value in case of a boolean Feature Flag.
          - `stringValue` string, nullable, required — The served value in case of a text Setting.
          - `intValue` integer, nullable, required — The served value in case of a whole number Setting.
          - `doubleValue` number, double, nullable, required — The served value in case of a decimal number Setting.
          - `predefinedVariationId` string, uuid, nullable, required — The served Variation's identifier.
    - `percentageOptions` PercentageOptionModel[], required — The percentage options from where the evaluation process will choose a value based on the flag's percentage evaluation attribute.
      - `percentage` integer, required — A number between 0 and 100 that represents a randomly allocated fraction of the users.
      - `value` ValueModel, required — Represents the value of a Feature Flag or Setting.
        - `boolValue` boolean, nullable, required — The served value in case of a boolean Feature Flag.
        - `stringValue` string, nullable, required — The served value in case of a text Setting.
        - `intValue` integer, nullable, required — The served value in case of a whole number Setting.
        - `doubleValue` number, double, nullable, required — The served value in case of a decimal number Setting.
        - `predefinedVariationId` string, uuid, nullable, required — The served Variation's identifier.
    - `value` ValueModel, required — Represents the value of a Feature Flag or Setting.
      - `boolValue` boolean, nullable, required — The served value in case of a boolean Feature Flag.
      - `stringValue` string, nullable, required — The served value in case of a text Setting.
      - `intValue` integer, nullable, required — The served value in case of a whole number Setting.
      - `doubleValue` number, double, nullable, required — The served value in case of a decimal number Setting.
      - `predefinedVariationId` string, uuid, nullable, required — The served Variation's identifier.
  - `setting` SettingDataV2Model, required — Metadata of a Feature Flag or Setting.
    - `settingId` integer, required — Identifier of the Feature Flag or Setting.
    - `key` string, required — Key of the Feature Flag or Setting.
    - `name` string, required — Name of the Feature Flag or Setting.
    - `hint` string, nullable, required — Description of the Feature Flag or Setting.
    - `settingType` 'boolean' | 'string' | 'int' | 'double', required — The type of the Feature Flag or Setting.
    - `isJson` boolean, required — Indicates whether this setting should validate string values as JSON values.
    - `order` integer, required — The order of the Feature Flag or Setting represented on the ConfigCat Dashboard.
    - `createdAt` string, date-time, nullable, required — The creation time of the Feature Flag or Setting.
    - `creatorEmail` string, nullable, required — The user's email address who created the Feature Flag or Setting.
    - `creatorFullName` string, nullable, required — The user's name who created the Feature Flag or Setting.
    - `predefinedVariations` PredefinedVariationModel[], required — A collection of Variations for a Feature Flag or Setting.
      - `value` PredefinedVariationValueModel, required — Represents the value of a Predefined Variation.
        - `boolValue` boolean, nullable, required — The served value in case of a boolean Feature Flag.
        - `stringValue` string, nullable, required — The served value in case of a text Setting.
        - `intValue` integer, nullable, required — The served value in case of a whole number Setting.
        - `doubleValue` number, double, nullable, required — The served value in case of a decimal number Setting.
      - `name` string, nullable, required — The name of the Predefined Variation, shown on the Dashboard UI. If not set, the Value will be shown.
      - `hint` string, nullable, required — The name of the Predefined Variation, shown on the Dashboard UI. If not set, the Value will be shown.
      - `predefinedVariationId` string, uuid, required — The Predefined Variation's identifier.
    - `isWatching` boolean, required
  - `updatedAt` string, date-time, nullable, required — The last updated date and time when the Feature Flag or Setting.
  - `percentageEvaluationAttribute` string, nullable, required — The user attribute used for percentage evaluation. If not set, it defaults to the `Identifier` user object attribute.
  - `lastUpdaterUserEmail` string, nullable, required — The email of the user who last updated the Feature Flag or Setting.
  - `lastUpdaterUserFullName` string, nullable, required — The name of the user who last updated the Feature Flag or Setting.
  - `integrationLinks` IntegrationLinkModel[], required — The integration links attached to the Feature Flag or Setting.
    - `key` string, nullable, required
    - `description` string, nullable, required
    - `integrationLinkType` 'trello' | 'jira' | 'monday', required
    - `url` string, nullable, required
  - `settingTags` SettingTagModel[], required — The tags attached to the Feature Flag or Setting.
    - `settingTagId` integer, required
    - `tagId` integer, required
    - `name` string, required
    - `color` string, nullable, required
  - `settingIdsWherePrerequisite` integer[], required — List of Feature Flag and Setting IDs where the actual Feature Flag or Setting is prerequisite.
  - `changeRequestCount` integer, required — The number of change requests for the Feature Flag or Setting.
  - `config` ConfigModel, required — Details of the Config.
    - `product` ProductModel, required — Details of the Product.
      - `organization` OrganizationModel, required — Details of the Organization.
        - `organizationId` string, uuid, required — Identifier of the Organization.
        - `name` string, required — Name of the Organization.
      - `productId` string, uuid, required — Identifier of the Product.
      - `name` string, required — Name of the Product.
      - `description` string, nullable, required — Description of the Product.
      - `order` integer, required — The order of the Product represented on the ConfigCat Dashboard. Determined from an ascending sequence of integers.
      - `reasonRequired` boolean, required — Determines whether a mandatory reason must be given every time when the Feature Flags or Settings within a Product are saved.
      - `approveRequired` boolean, required — Determines whether changes must be approved before they are applied within a Product.
    - `configId` string, uuid, required — Identifier of the Config.
    - `name` string, required — Name of the Config.
    - `description` string, nullable, required — Description of the Config.
    - `order` integer, required — The order of the Config represented on the ConfigCat Dashboard.
    - `migratedConfigId` string, uuid, nullable, required
    - `evaluationVersion` 'v1' | 'v2', required — Determines the evaluation version of a Config. Using `v2` enables the new features of Config V2 (https://configcat.com/docs/advanced/config-v2).
  - `environment` EnvironmentModel, required — Details of the Environment.
    - `product` ProductModel, required — Details of the Product.
      - `organization` OrganizationModel, required — Details of the Organization.
        - `organizationId` string, uuid, required — Identifier of the Organization.
        - `name` string, required — Name of the Organization.
      - `productId` string, uuid, required — Identifier of the Product.
      - `name` string, required — Name of the Product.
      - `description` string, nullable, required — Description of the Product.
      - `order` integer, required — The order of the Product represented on the ConfigCat Dashboard. Determined from an ascending sequence of integers.
      - `reasonRequired` boolean, required — Determines whether a mandatory reason must be given every time when the Feature Flags or Settings within a Product are saved.
      - `approveRequired` boolean, required — Determines whether changes must be approved before they are applied within a Product.
    - `environmentId` string, uuid, required — Identifier of the Environment.
    - `name` string, required — Name of the Environment.
    - `color` string, nullable, required — The configured color of the Environment.
    - `description` string, nullable, required — Description of the Environment.
    - `order` integer, required — The order of the Environment represented on the ConfigCat Dashboard.
    - `reasonRequired` boolean, required — Determines whether a mandatory reason must be given every time when the Feature Flags or Settings in the given Environment are saved.
    - `approveRequired` boolean, required — Determines whether changes must be approved before they are applied in the given Environment.
  - `readOnly` boolean, required — Indicates whether you have Read-only access to the Environment.
  - `featureFlagLimitations` FeatureFlagLimitations, required — Subscription limitations regarding Feature flag or Setting values and targeting.
    - `maxPercentageOptionCount` integer, required — Maximum number of percentage options a Feature Flag or Setting can have within a targeting rule.
    - `maxTargetingRuleCount` integer, required — Maximum number of targeting rules a Feature Flag or Setting can have.
    - `maxComparisonValueLength` integer, required — Maximum length of a text comparison value.
    - `maxComparisonValueListLength` integer, required — Maximum item count of a list comparison value.
    - `maxComparisonValueListItemLength` integer, required — Maximum length of a list comparison value's item.
    - `maxStringFlagValueLength` integer, required — Maximum length of a text Setting's value.
    - `maxConditionPerTargetingRuleCount` integer, required — Maximum number of `AND` conditions a Feature Flag or Setting can have within a targeting rule.
  - `approveRequired` boolean, required — Indicates that a mandatory approval is required for saving and publishing.
  - `canBypassApproval` boolean, required — Indicates whether the user can bypass the approval flow.
  - `reasonRequired` boolean, required — Indicates that a mandatory note required for saving and publishing.

## Other responses

- `204` — When no change applied on the resource.
- `400` — Bad request.
- `404` — Not found.
- `429` — Too many requests. In case of the request rate exceeds the rate limits.

---

[API](https://skmtc.net/configcat/apis/configcat-public-management-api.md) · [All operations](https://skmtc.net/configcat/apis/configcat-public-management-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/configcat/configcat-public-management-api/versions/6b4d53bc1455/schema)
