action configcat_update_setting_value { label: "Update value" description: "This endpoint updates the value of a Feature Flag or Setting \nwith a collection of [JSON Patch](http://jsonpatch.com) operations in a specified Environment.\n\nOnly the `value`, `rolloutRules` and `percentageRules` attributes are modifiable by this endpoint.\n\nThe advantage of using JSON Patch is that you can describe individual update operations on a resource\nwithout touching attributes that you don't want to change. It supports collection reordering, so it also \ncan be used for reordering the targeting rules of a Feature Flag or Setting.\n\nFor example: We have the following resource.\n```\n{\n \"rolloutPercentageItems\": [\n {\n \"percentage\": 30,\n \"value\": true\n },\n {\n \"percentage\": 70,\n \"value\": false\n }\n ],\n \"rolloutRules\": [],\n \"value\": false\n}\n```\nIf we send an update request body as below:\n```\n[\n {\n \"op\": \"replace\",\n \"path\": \"/value\",\n \"value\": true\n }\n]\n```\nOnly the default value is going to be set to `true` and all the Percentage Rules are remaining unchanged.\nSo we get a response like this:\n```\n{\n \"rolloutPercentageItems\": [\n {\n \"percentage\": 30,\n \"value\": true\n },\n {\n \"percentage\": 70,\n \"value\": false\n }\n ],\n \"rolloutRules\": [],\n \"value\": true\n}\n```\n\nThe `rolloutRules` property describes two types of rules:\n\n- **Targeting rules**: When you want to add or update a targenting rule, the `comparator`, `comparisonAttribute`, and `comparisonValue` members are required.\n- **Segment rules**: When you want to add add or update a segment rule, the `segmentId` which identifies the desired segment and the `segmentComparator` members are required." provider: configcat method: PATCH path: "/v1/environments/{environmentId}/settings/{settingId}/value" encoding: json input: { type: "object" properties: { environmentId: { type: "string" format: "uuid" } operations: { type: "array" items: { type: "object" properties: { from: { type: "object" properties: { isUriEncoded: { type: "boolean" } kind: { type: "string" enum: ["unspecified", "plain", "uriEncoded"] } segments: { type: "array" items: { type: "object" properties: { source: { type: "string" } value: { type: "string" } } additionalProperties: false } } source: { type: "string" } } additionalProperties: false } op: { type: "string" enum: ["unknown", "add", "remove", "replace", "move", "copy", "test"] } path: { type: "object" additionalProperties: true } value: { type: "object" properties: { options: { type: "object" properties: { propertyNameCaseInsensitive: { type: "boolean" } } additionalProperties: false } parent: { type: "object" additionalProperties: true } root: { type: "object" additionalProperties: true } } additionalProperties: false } } additionalProperties: false } } reason: { type: "string" } settingId: { type: "integer" format: "int32" } } required: ["environmentId", "settingId"] additionalProperties: false } output: { type: "object" properties: { config: { type: "object" properties: { configId: { type: "string" format: "uuid" } description: { type: "string" } name: { type: "string" } order: { type: "integer" format: "int32" } product: { type: "object" properties: { description: { type: "string" } name: { type: "string" } order: { type: "integer" format: "int32" } organization: { type: "object" properties: { name: { type: "string" } organizationId: { type: "string" format: "uuid" } } additionalProperties: false } productId: { type: "string" format: "uuid" } reasonRequired: { type: "boolean" } } additionalProperties: false } } additionalProperties: false } environment: { type: "object" properties: { color: { type: "string" } description: { type: "string" } environmentId: { type: "string" format: "uuid" } name: { type: "string" } order: { type: "integer" format: "int32" } product: { type: "object" additionalProperties: true } reasonRequired: { type: "boolean" } } additionalProperties: false } integrationLinks: { type: "array" items: { type: "object" properties: { description: { type: "string" } integrationLinkType: { type: "string" enum: ["trello", "jira", "monday"] } key: { type: "string" } url: { type: "string" } } additionalProperties: false } } lastUpdaterUserEmail: { type: "string" } lastUpdaterUserFullName: { type: "string" } readOnly: { type: "boolean" } rolloutPercentageItems: { type: "array" description: "The percentage rule collection." items: { type: "object" required: ["percentage"] properties: { percentage: { type: "integer" format: "int64" description: "The percentage value for the rule." } value: { description: "The value to serve when the user falls in the percentage rule. It must respect the setting type." type: "object" } } additionalProperties: false } } rolloutRules: { type: "array" description: "The targeting rule collection." items: { type: "object" properties: { comparator: { type: "string" enum: ["isOneOf", "isNotOneOf", "contains", "doesNotContain", "semVerIsOneOf", "semVerIsNotOneOf", "semVerLess", "semVerLessOrEquals", "semVerGreater", "semVerGreaterOrEquals", "numberEquals", "numberDoesNotEqual", "numberLess", "numberLessOrEquals", "numberGreater", "numberGreaterOrEquals", "sensitiveIsOneOf", "sensitiveIsNotOneOf"] } comparisonAttribute: { type: "string" description: "The user attribute to compare." } comparisonValue: { type: "string" description: "The value to compare against." } segmentComparator: { type: "string" enum: ["isIn", "isNotIn"] } segmentId: { type: "string" format: "uuid" description: "The segment to compare against." } value: { description: "The value to serve when the comparison matches. It must respect the setting type." type: "object" } } additionalProperties: false } } setting: { type: "object" properties: { createdAt: { type: "string" format: "date-time" } creatorEmail: { type: "string" } creatorFullName: { type: "string" } hint: { type: "string" } isWatching: { type: "boolean" } key: { type: "string" } name: { type: "string" } order: { type: "integer" format: "int32" } settingId: { type: "integer" format: "int32" } settingType: { type: "string" enum: ["boolean", "string", "int", "double"] } } additionalProperties: false } settingTags: { type: "array" items: { type: "object" properties: { color: { type: "string" } name: { type: "string" } settingTagId: { type: "integer" format: "int64" } tagId: { type: "integer" format: "int64" } } additionalProperties: false } } updatedAt: { type: "string" format: "date-time" } value: { description: "The value to serve. It must respect the setting type." type: "object" } } additionalProperties: false } }