Update flag settings for user
curl --request PUT \
--url https://app.launchdarkly.com/api/v2/users/{projectKey}/{environmentKey}/{userKey}/flags/{featureFlagKey} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"setting": "existing_variation_value_to_use",
"comment": "make sure this context experiences a specific variation"
}
'import requests
url = "https://app.launchdarkly.com/api/v2/users/{projectKey}/{environmentKey}/{userKey}/flags/{featureFlagKey}"
payload = {
"setting": "existing_variation_value_to_use",
"comment": "make sure this context experiences a specific variation"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
setting: 'existing_variation_value_to_use',
comment: 'make sure this context experiences a specific variation'
})
};
fetch('https://app.launchdarkly.com/api/v2/users/{projectKey}/{environmentKey}/{userKey}/flags/{featureFlagKey}', 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://app.launchdarkly.com/api/v2/users/{projectKey}/{environmentKey}/{userKey}/flags/{featureFlagKey}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'setting' => 'existing_variation_value_to_use',
'comment' => 'make sure this context experiences a specific variation'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"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://app.launchdarkly.com/api/v2/users/{projectKey}/{environmentKey}/{userKey}/flags/{featureFlagKey}"
payload := strings.NewReader("{\n \"setting\": \"existing_variation_value_to_use\",\n \"comment\": \"make sure this context experiences a specific variation\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "<api-key>")
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.put("https://app.launchdarkly.com/api/v2/users/{projectKey}/{environmentKey}/{userKey}/flags/{featureFlagKey}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"setting\": \"existing_variation_value_to_use\",\n \"comment\": \"make sure this context experiences a specific variation\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.launchdarkly.com/api/v2/users/{projectKey}/{environmentKey}/{userKey}/flags/{featureFlagKey}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"setting\": \"existing_variation_value_to_use\",\n \"comment\": \"make sure this context experiences a specific variation\"\n}"
response = http.request(request)
puts response.read_body{
"code": "invalid_request",
"message": "Invalid request body"
}{
"code": "unauthorized",
"message": "Invalid access token"
}{
"code": "forbidden",
"message": "Forbidden. Access to the requested resource was denied."
}{
"code": "not_found",
"message": "Invalid resource identifier"
}{
"code": "rate_limited",
"message": "You've exceeded the API rate limit. Try again later."
}Update flag settings for user
deprecated
Enable or disable a feature flag for a user based on their key.
Omitting the setting attribute from the request body, or including a setting of null, erases the current setting for a user.
If you previously patched the flag, and the patch included the user’s data, LaunchDarkly continues to use that data. If LaunchDarkly has never encountered the user’s key before, it calculates the flag values based on the user key alone.
PUT
/
api
/
v2
/
users
/
{projectKey}
/
{environmentKey}
/
{userKey}
/
flags
/
{featureFlagKey}
Update flag settings for user
curl --request PUT \
--url https://app.launchdarkly.com/api/v2/users/{projectKey}/{environmentKey}/{userKey}/flags/{featureFlagKey} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"setting": "existing_variation_value_to_use",
"comment": "make sure this context experiences a specific variation"
}
'import requests
url = "https://app.launchdarkly.com/api/v2/users/{projectKey}/{environmentKey}/{userKey}/flags/{featureFlagKey}"
payload = {
"setting": "existing_variation_value_to_use",
"comment": "make sure this context experiences a specific variation"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
setting: 'existing_variation_value_to_use',
comment: 'make sure this context experiences a specific variation'
})
};
fetch('https://app.launchdarkly.com/api/v2/users/{projectKey}/{environmentKey}/{userKey}/flags/{featureFlagKey}', 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://app.launchdarkly.com/api/v2/users/{projectKey}/{environmentKey}/{userKey}/flags/{featureFlagKey}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'setting' => 'existing_variation_value_to_use',
'comment' => 'make sure this context experiences a specific variation'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"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://app.launchdarkly.com/api/v2/users/{projectKey}/{environmentKey}/{userKey}/flags/{featureFlagKey}"
payload := strings.NewReader("{\n \"setting\": \"existing_variation_value_to_use\",\n \"comment\": \"make sure this context experiences a specific variation\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "<api-key>")
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.put("https://app.launchdarkly.com/api/v2/users/{projectKey}/{environmentKey}/{userKey}/flags/{featureFlagKey}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"setting\": \"existing_variation_value_to_use\",\n \"comment\": \"make sure this context experiences a specific variation\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.launchdarkly.com/api/v2/users/{projectKey}/{environmentKey}/{userKey}/flags/{featureFlagKey}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"setting\": \"existing_variation_value_to_use\",\n \"comment\": \"make sure this context experiences a specific variation\"\n}"
response = http.request(request)
puts response.read_body{
"code": "invalid_request",
"message": "Invalid request body"
}{
"code": "unauthorized",
"message": "Invalid access token"
}{
"code": "forbidden",
"message": "Forbidden. Access to the requested resource was denied."
}{
"code": "not_found",
"message": "Invalid resource identifier"
}{
"code": "rate_limited",
"message": "You've exceeded the API rate limit. Try again later."
}Authorizations
Path Parameters
The project key
The environment key
The user key
The feature flag key
Body
application/json
Response
Action succeeded