Update Flag
Updates the flag. When updating a flag, all variants must match the schema, segments and variants referenced by rules must exist.
curl --request PATCH \
--url https://flags.eu.confidence.dev/v1/flags/{flag} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"description": "<string>",
"schema": {
"schema": [
{}
]
},
"variants": [
{
"name": "<string>",
"value": {},
"createTime": {},
"updateTime": {},
"creator": "<string>",
"updater": "<string>",
"labels": [
{}
],
"description": "<string>",
"imageUri": "<string>"
}
],
"rules": [
{
"segment": "<string>",
"assignmentSpec": {
"bucketCount": {},
"assignments": [
{
"assignmentId": "<string>",
"fallthrough": {},
"clientDefault": {},
"bucketRanges": [
{
"lower": {},
"upper": {}
}
]
}
]
},
"usageMetadata": {
"resolveCount": 123,
"applyCount": 123,
"lastResolveTime": {},
"lastApplyTime": {},
"assignmentUsageMetadata": [
{
"assignmentId": "<string>",
"resolveCount": 123,
"applyCount": 123,
"lastApplyTime": {},
"emptyTargetingKeyCount": 123
}
]
},
"enabled": true,
"createTime": {},
"updateTime": {},
"creator": "<string>",
"updater": "<string>",
"name": "<string>",
"description": "<string>",
"targetingKeySelector": "<string>",
"environments": [
"<string>"
],
"labels": [
{}
],
"materializationSpec": {
"writeMaterialization": "<string>",
"readMaterialization": "<string>",
"mode": {
"materializationMustMatch": true,
"segmentTargetingCanBeIgnored": true
}
}
}
],
"clients": [
"<string>"
],
"labels": [
{}
],
"usageMetadata": {
"resolveCount": 123,
"lastResolveTime": {},
"lastApplyTime": {}
},
"owner": "<string>"
}
'import requests
url = "https://flags.eu.confidence.dev/v1/flags/{flag}"
payload = {
"description": "<string>",
"schema": { "schema": [{}] },
"variants": [
{
"name": "<string>",
"value": {},
"createTime": {},
"updateTime": {},
"creator": "<string>",
"updater": "<string>",
"labels": [{}],
"description": "<string>",
"imageUri": "<string>"
}
],
"rules": [
{
"segment": "<string>",
"assignmentSpec": {
"bucketCount": {},
"assignments": [
{
"assignmentId": "<string>",
"fallthrough": {},
"clientDefault": {},
"bucketRanges": [
{
"lower": {},
"upper": {}
}
]
}
]
},
"usageMetadata": {
"resolveCount": 123,
"applyCount": 123,
"lastResolveTime": {},
"lastApplyTime": {},
"assignmentUsageMetadata": [
{
"assignmentId": "<string>",
"resolveCount": 123,
"applyCount": 123,
"lastApplyTime": {},
"emptyTargetingKeyCount": 123
}
]
},
"enabled": True,
"createTime": {},
"updateTime": {},
"creator": "<string>",
"updater": "<string>",
"name": "<string>",
"description": "<string>",
"targetingKeySelector": "<string>",
"environments": ["<string>"],
"labels": [{}],
"materializationSpec": {
"writeMaterialization": "<string>",
"readMaterialization": "<string>",
"mode": {
"materializationMustMatch": True,
"segmentTargetingCanBeIgnored": True
}
}
}
],
"clients": ["<string>"],
"labels": [{}],
"usageMetadata": {
"resolveCount": 123,
"lastResolveTime": {},
"lastApplyTime": {}
},
"owner": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
description: '<string>',
schema: {schema: [{}]},
variants: [
{
name: '<string>',
value: {},
createTime: {},
updateTime: {},
creator: '<string>',
updater: '<string>',
labels: [{}],
description: '<string>',
imageUri: '<string>'
}
],
rules: [
{
segment: '<string>',
assignmentSpec: {
bucketCount: {},
assignments: [
{
assignmentId: '<string>',
fallthrough: {},
clientDefault: {},
bucketRanges: [{lower: {}, upper: {}}]
}
]
},
usageMetadata: {
resolveCount: 123,
applyCount: 123,
lastResolveTime: {},
lastApplyTime: {},
assignmentUsageMetadata: [
{
assignmentId: '<string>',
resolveCount: 123,
applyCount: 123,
lastApplyTime: {},
emptyTargetingKeyCount: 123
}
]
},
enabled: true,
createTime: {},
updateTime: {},
creator: '<string>',
updater: '<string>',
name: '<string>',
description: '<string>',
targetingKeySelector: '<string>',
environments: ['<string>'],
labels: [{}],
materializationSpec: {
writeMaterialization: '<string>',
readMaterialization: '<string>',
mode: {materializationMustMatch: true, segmentTargetingCanBeIgnored: true}
}
}
],
clients: ['<string>'],
labels: [{}],
usageMetadata: {resolveCount: 123, lastResolveTime: {}, lastApplyTime: {}},
owner: '<string>'
})
};
fetch('https://flags.eu.confidence.dev/v1/flags/{flag}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://flags.eu.confidence.dev/v1/flags/{flag}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'description' => '<string>',
'schema' => [
'schema' => [
[
]
]
],
'variants' => [
[
'name' => '<string>',
'value' => [
],
'createTime' => [
],
'updateTime' => [
],
'creator' => '<string>',
'updater' => '<string>',
'labels' => [
[
]
],
'description' => '<string>',
'imageUri' => '<string>'
]
],
'rules' => [
[
'segment' => '<string>',
'assignmentSpec' => [
'bucketCount' => [
],
'assignments' => [
[
'assignmentId' => '<string>',
'fallthrough' => [
],
'clientDefault' => [
],
'bucketRanges' => [
[
'lower' => [
],
'upper' => [
]
]
]
]
]
],
'usageMetadata' => [
'resolveCount' => 123,
'applyCount' => 123,
'lastResolveTime' => [
],
'lastApplyTime' => [
],
'assignmentUsageMetadata' => [
[
'assignmentId' => '<string>',
'resolveCount' => 123,
'applyCount' => 123,
'lastApplyTime' => [
],
'emptyTargetingKeyCount' => 123
]
]
],
'enabled' => true,
'createTime' => [
],
'updateTime' => [
],
'creator' => '<string>',
'updater' => '<string>',
'name' => '<string>',
'description' => '<string>',
'targetingKeySelector' => '<string>',
'environments' => [
'<string>'
],
'labels' => [
[
]
],
'materializationSpec' => [
'writeMaterialization' => '<string>',
'readMaterialization' => '<string>',
'mode' => [
'materializationMustMatch' => true,
'segmentTargetingCanBeIgnored' => true
]
]
]
],
'clients' => [
'<string>'
],
'labels' => [
[
]
],
'usageMetadata' => [
'resolveCount' => 123,
'lastResolveTime' => [
],
'lastApplyTime' => [
]
],
'owner' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://flags.eu.confidence.dev/v1/flags/{flag}"
payload := strings.NewReader("{\n \"description\": \"<string>\",\n \"schema\": {\n \"schema\": [\n {}\n ]\n },\n \"variants\": [\n {\n \"name\": \"<string>\",\n \"value\": {},\n \"createTime\": {},\n \"updateTime\": {},\n \"creator\": \"<string>\",\n \"updater\": \"<string>\",\n \"labels\": [\n {}\n ],\n \"description\": \"<string>\",\n \"imageUri\": \"<string>\"\n }\n ],\n \"rules\": [\n {\n \"segment\": \"<string>\",\n \"assignmentSpec\": {\n \"bucketCount\": {},\n \"assignments\": [\n {\n \"assignmentId\": \"<string>\",\n \"fallthrough\": {},\n \"clientDefault\": {},\n \"bucketRanges\": [\n {\n \"lower\": {},\n \"upper\": {}\n }\n ]\n }\n ]\n },\n \"usageMetadata\": {\n \"resolveCount\": 123,\n \"applyCount\": 123,\n \"lastResolveTime\": {},\n \"lastApplyTime\": {},\n \"assignmentUsageMetadata\": [\n {\n \"assignmentId\": \"<string>\",\n \"resolveCount\": 123,\n \"applyCount\": 123,\n \"lastApplyTime\": {},\n \"emptyTargetingKeyCount\": 123\n }\n ]\n },\n \"enabled\": true,\n \"createTime\": {},\n \"updateTime\": {},\n \"creator\": \"<string>\",\n \"updater\": \"<string>\",\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"targetingKeySelector\": \"<string>\",\n \"environments\": [\n \"<string>\"\n ],\n \"labels\": [\n {}\n ],\n \"materializationSpec\": {\n \"writeMaterialization\": \"<string>\",\n \"readMaterialization\": \"<string>\",\n \"mode\": {\n \"materializationMustMatch\": true,\n \"segmentTargetingCanBeIgnored\": true\n }\n }\n }\n ],\n \"clients\": [\n \"<string>\"\n ],\n \"labels\": [\n {}\n ],\n \"usageMetadata\": {\n \"resolveCount\": 123,\n \"lastResolveTime\": {},\n \"lastApplyTime\": {}\n },\n \"owner\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://flags.eu.confidence.dev/v1/flags/{flag}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"description\": \"<string>\",\n \"schema\": {\n \"schema\": [\n {}\n ]\n },\n \"variants\": [\n {\n \"name\": \"<string>\",\n \"value\": {},\n \"createTime\": {},\n \"updateTime\": {},\n \"creator\": \"<string>\",\n \"updater\": \"<string>\",\n \"labels\": [\n {}\n ],\n \"description\": \"<string>\",\n \"imageUri\": \"<string>\"\n }\n ],\n \"rules\": [\n {\n \"segment\": \"<string>\",\n \"assignmentSpec\": {\n \"bucketCount\": {},\n \"assignments\": [\n {\n \"assignmentId\": \"<string>\",\n \"fallthrough\": {},\n \"clientDefault\": {},\n \"bucketRanges\": [\n {\n \"lower\": {},\n \"upper\": {}\n }\n ]\n }\n ]\n },\n \"usageMetadata\": {\n \"resolveCount\": 123,\n \"applyCount\": 123,\n \"lastResolveTime\": {},\n \"lastApplyTime\": {},\n \"assignmentUsageMetadata\": [\n {\n \"assignmentId\": \"<string>\",\n \"resolveCount\": 123,\n \"applyCount\": 123,\n \"lastApplyTime\": {},\n \"emptyTargetingKeyCount\": 123\n }\n ]\n },\n \"enabled\": true,\n \"createTime\": {},\n \"updateTime\": {},\n \"creator\": \"<string>\",\n \"updater\": \"<string>\",\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"targetingKeySelector\": \"<string>\",\n \"environments\": [\n \"<string>\"\n ],\n \"labels\": [\n {}\n ],\n \"materializationSpec\": {\n \"writeMaterialization\": \"<string>\",\n \"readMaterialization\": \"<string>\",\n \"mode\": {\n \"materializationMustMatch\": true,\n \"segmentTargetingCanBeIgnored\": true\n }\n }\n }\n ],\n \"clients\": [\n \"<string>\"\n ],\n \"labels\": [\n {}\n ],\n \"usageMetadata\": {\n \"resolveCount\": 123,\n \"lastResolveTime\": {},\n \"lastApplyTime\": {}\n },\n \"owner\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://flags.eu.confidence.dev/v1/flags/{flag}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"description\": \"<string>\",\n \"schema\": {\n \"schema\": [\n {}\n ]\n },\n \"variants\": [\n {\n \"name\": \"<string>\",\n \"value\": {},\n \"createTime\": {},\n \"updateTime\": {},\n \"creator\": \"<string>\",\n \"updater\": \"<string>\",\n \"labels\": [\n {}\n ],\n \"description\": \"<string>\",\n \"imageUri\": \"<string>\"\n }\n ],\n \"rules\": [\n {\n \"segment\": \"<string>\",\n \"assignmentSpec\": {\n \"bucketCount\": {},\n \"assignments\": [\n {\n \"assignmentId\": \"<string>\",\n \"fallthrough\": {},\n \"clientDefault\": {},\n \"bucketRanges\": [\n {\n \"lower\": {},\n \"upper\": {}\n }\n ]\n }\n ]\n },\n \"usageMetadata\": {\n \"resolveCount\": 123,\n \"applyCount\": 123,\n \"lastResolveTime\": {},\n \"lastApplyTime\": {},\n \"assignmentUsageMetadata\": [\n {\n \"assignmentId\": \"<string>\",\n \"resolveCount\": 123,\n \"applyCount\": 123,\n \"lastApplyTime\": {},\n \"emptyTargetingKeyCount\": 123\n }\n ]\n },\n \"enabled\": true,\n \"createTime\": {},\n \"updateTime\": {},\n \"creator\": \"<string>\",\n \"updater\": \"<string>\",\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"targetingKeySelector\": \"<string>\",\n \"environments\": [\n \"<string>\"\n ],\n \"labels\": [\n {}\n ],\n \"materializationSpec\": {\n \"writeMaterialization\": \"<string>\",\n \"readMaterialization\": \"<string>\",\n \"mode\": {\n \"materializationMustMatch\": true,\n \"segmentTargetingCanBeIgnored\": true\n }\n }\n }\n ],\n \"clients\": [\n \"<string>\"\n ],\n \"labels\": [\n {}\n ],\n \"usageMetadata\": {\n \"resolveCount\": 123,\n \"lastResolveTime\": {},\n \"lastApplyTime\": {}\n },\n \"owner\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"displayName": "<string>",
"createTime": {},
"updateTime": {},
"creator": "<string>",
"updater": "<string>",
"name": "<string>",
"description": "<string>",
"schema": {
"schema": [
{}
]
},
"variants": [
{
"name": "<string>",
"value": {},
"createTime": {},
"updateTime": {},
"creator": "<string>",
"updater": "<string>",
"labels": [
{}
],
"description": "<string>",
"imageUri": "<string>"
}
],
"rules": [
{
"segment": "<string>",
"assignmentSpec": {
"bucketCount": {},
"assignments": [
{
"assignmentId": "<string>",
"variant": {
"variant": "<string>"
},
"fallthrough": {},
"clientDefault": {},
"bucketRanges": [
{
"lower": {},
"upper": {}
}
]
}
]
},
"usageMetadata": {
"resolveCount": 123,
"applyCount": 123,
"lastResolveTime": {},
"lastApplyTime": {},
"assignmentUsageMetadata": [
{
"assignmentId": "<string>",
"resolveCount": 123,
"applyCount": 123,
"lastApplyTime": {},
"emptyTargetingKeyCount": 123
}
]
},
"enabled": true,
"createTime": {},
"updateTime": {},
"creator": "<string>",
"updater": "<string>",
"name": "<string>",
"description": "<string>",
"targetingKeySelector": "<string>",
"environments": [
"<string>"
],
"labels": [
{}
],
"materializationSpec": {
"writeMaterialization": "<string>",
"readMaterialization": "<string>",
"mode": {
"materializationMustMatch": true,
"segmentTargetingCanBeIgnored": true
}
}
}
],
"clients": [
"<string>"
],
"archiveTime": {},
"labels": [
{}
],
"usageMetadata": {
"resolveCount": 123,
"lastResolveTime": {},
"lastApplyTime": {}
},
"owner": "<string>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Query Parameters
The list of fields in Flag that you want to update e.g. 'rules', if empty all mutable properties are updated.
Body
A description for the flag.
Schema for the value of each variant.
Show child attributes
Show child attributes
Flag.Variant: List of variants for this flag. When a client resolves this flag, it will be assigned exactly one of the variants in this list along with its value.
Show child attributes
Show child attributes
Flag.Rule: List of ordered rules that determines how entities are assigned to variants. When a client resolves this flag, each rule will be tried in order, the first rule that match, will provide a variant assignment. If not rule matches, no variant will be assigned.
Show child attributes
Show child attributes
List of clients that this flag is enabled for.
General labels for this flag.
Show child attributes
Show child attributes
Semi-realtime usage statistics for the flag.
Show child attributes
Show child attributes
The owner of the resource. If not set will default to the creator.
Response
Returns a Flag.
A flag controlling how entities are assigned variants.
The display name of the flag.
For example:
my-flag
The current state of the flag.
STATE_UNSPECIFIED, ACTIVE, ARCHIVED Time when the flag was first created.
Time when the flag was last updated.
Reference to the identity that created this flag.
Reference to the identity that last updated this flag.
The resource name of the flag.
For example:
flags/my-flag
A description for the flag.
Schema for the value of each variant.
Show child attributes
Show child attributes
Flag.Variant: List of variants for this flag. When a client resolves this flag, it will be assigned exactly one of the variants in this list along with its value.
Show child attributes
Show child attributes
Flag.Rule: List of ordered rules that determines how entities are assigned to variants. When a client resolves this flag, each rule will be tried in order, the first rule that match, will provide a variant assignment. If not rule matches, no variant will be assigned.
Show child attributes
Show child attributes
List of clients that this flag is enabled for.
Time when the flag was archived.
General labels for this flag.
Show child attributes
Show child attributes
Semi-realtime usage statistics for the flag.
Show child attributes
Show child attributes
The owner of the resource. If not set will default to the creator.
Was this page helpful?
curl --request PATCH \
--url https://flags.eu.confidence.dev/v1/flags/{flag} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"description": "<string>",
"schema": {
"schema": [
{}
]
},
"variants": [
{
"name": "<string>",
"value": {},
"createTime": {},
"updateTime": {},
"creator": "<string>",
"updater": "<string>",
"labels": [
{}
],
"description": "<string>",
"imageUri": "<string>"
}
],
"rules": [
{
"segment": "<string>",
"assignmentSpec": {
"bucketCount": {},
"assignments": [
{
"assignmentId": "<string>",
"fallthrough": {},
"clientDefault": {},
"bucketRanges": [
{
"lower": {},
"upper": {}
}
]
}
]
},
"usageMetadata": {
"resolveCount": 123,
"applyCount": 123,
"lastResolveTime": {},
"lastApplyTime": {},
"assignmentUsageMetadata": [
{
"assignmentId": "<string>",
"resolveCount": 123,
"applyCount": 123,
"lastApplyTime": {},
"emptyTargetingKeyCount": 123
}
]
},
"enabled": true,
"createTime": {},
"updateTime": {},
"creator": "<string>",
"updater": "<string>",
"name": "<string>",
"description": "<string>",
"targetingKeySelector": "<string>",
"environments": [
"<string>"
],
"labels": [
{}
],
"materializationSpec": {
"writeMaterialization": "<string>",
"readMaterialization": "<string>",
"mode": {
"materializationMustMatch": true,
"segmentTargetingCanBeIgnored": true
}
}
}
],
"clients": [
"<string>"
],
"labels": [
{}
],
"usageMetadata": {
"resolveCount": 123,
"lastResolveTime": {},
"lastApplyTime": {}
},
"owner": "<string>"
}
'import requests
url = "https://flags.eu.confidence.dev/v1/flags/{flag}"
payload = {
"description": "<string>",
"schema": { "schema": [{}] },
"variants": [
{
"name": "<string>",
"value": {},
"createTime": {},
"updateTime": {},
"creator": "<string>",
"updater": "<string>",
"labels": [{}],
"description": "<string>",
"imageUri": "<string>"
}
],
"rules": [
{
"segment": "<string>",
"assignmentSpec": {
"bucketCount": {},
"assignments": [
{
"assignmentId": "<string>",
"fallthrough": {},
"clientDefault": {},
"bucketRanges": [
{
"lower": {},
"upper": {}
}
]
}
]
},
"usageMetadata": {
"resolveCount": 123,
"applyCount": 123,
"lastResolveTime": {},
"lastApplyTime": {},
"assignmentUsageMetadata": [
{
"assignmentId": "<string>",
"resolveCount": 123,
"applyCount": 123,
"lastApplyTime": {},
"emptyTargetingKeyCount": 123
}
]
},
"enabled": True,
"createTime": {},
"updateTime": {},
"creator": "<string>",
"updater": "<string>",
"name": "<string>",
"description": "<string>",
"targetingKeySelector": "<string>",
"environments": ["<string>"],
"labels": [{}],
"materializationSpec": {
"writeMaterialization": "<string>",
"readMaterialization": "<string>",
"mode": {
"materializationMustMatch": True,
"segmentTargetingCanBeIgnored": True
}
}
}
],
"clients": ["<string>"],
"labels": [{}],
"usageMetadata": {
"resolveCount": 123,
"lastResolveTime": {},
"lastApplyTime": {}
},
"owner": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
description: '<string>',
schema: {schema: [{}]},
variants: [
{
name: '<string>',
value: {},
createTime: {},
updateTime: {},
creator: '<string>',
updater: '<string>',
labels: [{}],
description: '<string>',
imageUri: '<string>'
}
],
rules: [
{
segment: '<string>',
assignmentSpec: {
bucketCount: {},
assignments: [
{
assignmentId: '<string>',
fallthrough: {},
clientDefault: {},
bucketRanges: [{lower: {}, upper: {}}]
}
]
},
usageMetadata: {
resolveCount: 123,
applyCount: 123,
lastResolveTime: {},
lastApplyTime: {},
assignmentUsageMetadata: [
{
assignmentId: '<string>',
resolveCount: 123,
applyCount: 123,
lastApplyTime: {},
emptyTargetingKeyCount: 123
}
]
},
enabled: true,
createTime: {},
updateTime: {},
creator: '<string>',
updater: '<string>',
name: '<string>',
description: '<string>',
targetingKeySelector: '<string>',
environments: ['<string>'],
labels: [{}],
materializationSpec: {
writeMaterialization: '<string>',
readMaterialization: '<string>',
mode: {materializationMustMatch: true, segmentTargetingCanBeIgnored: true}
}
}
],
clients: ['<string>'],
labels: [{}],
usageMetadata: {resolveCount: 123, lastResolveTime: {}, lastApplyTime: {}},
owner: '<string>'
})
};
fetch('https://flags.eu.confidence.dev/v1/flags/{flag}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://flags.eu.confidence.dev/v1/flags/{flag}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'description' => '<string>',
'schema' => [
'schema' => [
[
]
]
],
'variants' => [
[
'name' => '<string>',
'value' => [
],
'createTime' => [
],
'updateTime' => [
],
'creator' => '<string>',
'updater' => '<string>',
'labels' => [
[
]
],
'description' => '<string>',
'imageUri' => '<string>'
]
],
'rules' => [
[
'segment' => '<string>',
'assignmentSpec' => [
'bucketCount' => [
],
'assignments' => [
[
'assignmentId' => '<string>',
'fallthrough' => [
],
'clientDefault' => [
],
'bucketRanges' => [
[
'lower' => [
],
'upper' => [
]
]
]
]
]
],
'usageMetadata' => [
'resolveCount' => 123,
'applyCount' => 123,
'lastResolveTime' => [
],
'lastApplyTime' => [
],
'assignmentUsageMetadata' => [
[
'assignmentId' => '<string>',
'resolveCount' => 123,
'applyCount' => 123,
'lastApplyTime' => [
],
'emptyTargetingKeyCount' => 123
]
]
],
'enabled' => true,
'createTime' => [
],
'updateTime' => [
],
'creator' => '<string>',
'updater' => '<string>',
'name' => '<string>',
'description' => '<string>',
'targetingKeySelector' => '<string>',
'environments' => [
'<string>'
],
'labels' => [
[
]
],
'materializationSpec' => [
'writeMaterialization' => '<string>',
'readMaterialization' => '<string>',
'mode' => [
'materializationMustMatch' => true,
'segmentTargetingCanBeIgnored' => true
]
]
]
],
'clients' => [
'<string>'
],
'labels' => [
[
]
],
'usageMetadata' => [
'resolveCount' => 123,
'lastResolveTime' => [
],
'lastApplyTime' => [
]
],
'owner' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://flags.eu.confidence.dev/v1/flags/{flag}"
payload := strings.NewReader("{\n \"description\": \"<string>\",\n \"schema\": {\n \"schema\": [\n {}\n ]\n },\n \"variants\": [\n {\n \"name\": \"<string>\",\n \"value\": {},\n \"createTime\": {},\n \"updateTime\": {},\n \"creator\": \"<string>\",\n \"updater\": \"<string>\",\n \"labels\": [\n {}\n ],\n \"description\": \"<string>\",\n \"imageUri\": \"<string>\"\n }\n ],\n \"rules\": [\n {\n \"segment\": \"<string>\",\n \"assignmentSpec\": {\n \"bucketCount\": {},\n \"assignments\": [\n {\n \"assignmentId\": \"<string>\",\n \"fallthrough\": {},\n \"clientDefault\": {},\n \"bucketRanges\": [\n {\n \"lower\": {},\n \"upper\": {}\n }\n ]\n }\n ]\n },\n \"usageMetadata\": {\n \"resolveCount\": 123,\n \"applyCount\": 123,\n \"lastResolveTime\": {},\n \"lastApplyTime\": {},\n \"assignmentUsageMetadata\": [\n {\n \"assignmentId\": \"<string>\",\n \"resolveCount\": 123,\n \"applyCount\": 123,\n \"lastApplyTime\": {},\n \"emptyTargetingKeyCount\": 123\n }\n ]\n },\n \"enabled\": true,\n \"createTime\": {},\n \"updateTime\": {},\n \"creator\": \"<string>\",\n \"updater\": \"<string>\",\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"targetingKeySelector\": \"<string>\",\n \"environments\": [\n \"<string>\"\n ],\n \"labels\": [\n {}\n ],\n \"materializationSpec\": {\n \"writeMaterialization\": \"<string>\",\n \"readMaterialization\": \"<string>\",\n \"mode\": {\n \"materializationMustMatch\": true,\n \"segmentTargetingCanBeIgnored\": true\n }\n }\n }\n ],\n \"clients\": [\n \"<string>\"\n ],\n \"labels\": [\n {}\n ],\n \"usageMetadata\": {\n \"resolveCount\": 123,\n \"lastResolveTime\": {},\n \"lastApplyTime\": {}\n },\n \"owner\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://flags.eu.confidence.dev/v1/flags/{flag}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"description\": \"<string>\",\n \"schema\": {\n \"schema\": [\n {}\n ]\n },\n \"variants\": [\n {\n \"name\": \"<string>\",\n \"value\": {},\n \"createTime\": {},\n \"updateTime\": {},\n \"creator\": \"<string>\",\n \"updater\": \"<string>\",\n \"labels\": [\n {}\n ],\n \"description\": \"<string>\",\n \"imageUri\": \"<string>\"\n }\n ],\n \"rules\": [\n {\n \"segment\": \"<string>\",\n \"assignmentSpec\": {\n \"bucketCount\": {},\n \"assignments\": [\n {\n \"assignmentId\": \"<string>\",\n \"fallthrough\": {},\n \"clientDefault\": {},\n \"bucketRanges\": [\n {\n \"lower\": {},\n \"upper\": {}\n }\n ]\n }\n ]\n },\n \"usageMetadata\": {\n \"resolveCount\": 123,\n \"applyCount\": 123,\n \"lastResolveTime\": {},\n \"lastApplyTime\": {},\n \"assignmentUsageMetadata\": [\n {\n \"assignmentId\": \"<string>\",\n \"resolveCount\": 123,\n \"applyCount\": 123,\n \"lastApplyTime\": {},\n \"emptyTargetingKeyCount\": 123\n }\n ]\n },\n \"enabled\": true,\n \"createTime\": {},\n \"updateTime\": {},\n \"creator\": \"<string>\",\n \"updater\": \"<string>\",\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"targetingKeySelector\": \"<string>\",\n \"environments\": [\n \"<string>\"\n ],\n \"labels\": [\n {}\n ],\n \"materializationSpec\": {\n \"writeMaterialization\": \"<string>\",\n \"readMaterialization\": \"<string>\",\n \"mode\": {\n \"materializationMustMatch\": true,\n \"segmentTargetingCanBeIgnored\": true\n }\n }\n }\n ],\n \"clients\": [\n \"<string>\"\n ],\n \"labels\": [\n {}\n ],\n \"usageMetadata\": {\n \"resolveCount\": 123,\n \"lastResolveTime\": {},\n \"lastApplyTime\": {}\n },\n \"owner\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://flags.eu.confidence.dev/v1/flags/{flag}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"description\": \"<string>\",\n \"schema\": {\n \"schema\": [\n {}\n ]\n },\n \"variants\": [\n {\n \"name\": \"<string>\",\n \"value\": {},\n \"createTime\": {},\n \"updateTime\": {},\n \"creator\": \"<string>\",\n \"updater\": \"<string>\",\n \"labels\": [\n {}\n ],\n \"description\": \"<string>\",\n \"imageUri\": \"<string>\"\n }\n ],\n \"rules\": [\n {\n \"segment\": \"<string>\",\n \"assignmentSpec\": {\n \"bucketCount\": {},\n \"assignments\": [\n {\n \"assignmentId\": \"<string>\",\n \"fallthrough\": {},\n \"clientDefault\": {},\n \"bucketRanges\": [\n {\n \"lower\": {},\n \"upper\": {}\n }\n ]\n }\n ]\n },\n \"usageMetadata\": {\n \"resolveCount\": 123,\n \"applyCount\": 123,\n \"lastResolveTime\": {},\n \"lastApplyTime\": {},\n \"assignmentUsageMetadata\": [\n {\n \"assignmentId\": \"<string>\",\n \"resolveCount\": 123,\n \"applyCount\": 123,\n \"lastApplyTime\": {},\n \"emptyTargetingKeyCount\": 123\n }\n ]\n },\n \"enabled\": true,\n \"createTime\": {},\n \"updateTime\": {},\n \"creator\": \"<string>\",\n \"updater\": \"<string>\",\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"targetingKeySelector\": \"<string>\",\n \"environments\": [\n \"<string>\"\n ],\n \"labels\": [\n {}\n ],\n \"materializationSpec\": {\n \"writeMaterialization\": \"<string>\",\n \"readMaterialization\": \"<string>\",\n \"mode\": {\n \"materializationMustMatch\": true,\n \"segmentTargetingCanBeIgnored\": true\n }\n }\n }\n ],\n \"clients\": [\n \"<string>\"\n ],\n \"labels\": [\n {}\n ],\n \"usageMetadata\": {\n \"resolveCount\": 123,\n \"lastResolveTime\": {},\n \"lastApplyTime\": {}\n },\n \"owner\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"displayName": "<string>",
"createTime": {},
"updateTime": {},
"creator": "<string>",
"updater": "<string>",
"name": "<string>",
"description": "<string>",
"schema": {
"schema": [
{}
]
},
"variants": [
{
"name": "<string>",
"value": {},
"createTime": {},
"updateTime": {},
"creator": "<string>",
"updater": "<string>",
"labels": [
{}
],
"description": "<string>",
"imageUri": "<string>"
}
],
"rules": [
{
"segment": "<string>",
"assignmentSpec": {
"bucketCount": {},
"assignments": [
{
"assignmentId": "<string>",
"variant": {
"variant": "<string>"
},
"fallthrough": {},
"clientDefault": {},
"bucketRanges": [
{
"lower": {},
"upper": {}
}
]
}
]
},
"usageMetadata": {
"resolveCount": 123,
"applyCount": 123,
"lastResolveTime": {},
"lastApplyTime": {},
"assignmentUsageMetadata": [
{
"assignmentId": "<string>",
"resolveCount": 123,
"applyCount": 123,
"lastApplyTime": {},
"emptyTargetingKeyCount": 123
}
]
},
"enabled": true,
"createTime": {},
"updateTime": {},
"creator": "<string>",
"updater": "<string>",
"name": "<string>",
"description": "<string>",
"targetingKeySelector": "<string>",
"environments": [
"<string>"
],
"labels": [
{}
],
"materializationSpec": {
"writeMaterialization": "<string>",
"readMaterialization": "<string>",
"mode": {
"materializationMustMatch": true,
"segmentTargetingCanBeIgnored": true
}
}
}
],
"clients": [
"<string>"
],
"archiveTime": {},
"labels": [
{}
],
"usageMetadata": {
"resolveCount": 123,
"lastResolveTime": {},
"lastApplyTime": {}
},
"owner": "<string>"
}
