Update Segment Rules
curl --request POST \
--url https://statsigapi.net/console/v1/segments/{id}/conditional \
--header 'Content-Type: application/json' \
--header 'STATSIG-API-KEY: <api-key>' \
--data '
[
{
"name": "<string>",
"passPercentage": 50,
"conditions": [
{
"targetValue": [
"<string>"
],
"operator": "<string>",
"field": "<string>",
"customID": "<string>"
}
],
"environments": [
"<string>"
],
"id": "<string>",
"baseID": "<string>",
"returnValue": {}
}
]
'import requests
url = "https://statsigapi.net/console/v1/segments/{id}/conditional"
payload = [
{
"name": "<string>",
"passPercentage": 50,
"conditions": [
{
"targetValue": ["<string>"],
"operator": "<string>",
"field": "<string>",
"customID": "<string>"
}
],
"environments": ["<string>"],
"id": "<string>",
"baseID": "<string>",
"returnValue": {}
}
]
headers = {
"STATSIG-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'STATSIG-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify([
{
name: '<string>',
passPercentage: 50,
conditions: [
{
targetValue: ['<string>'],
operator: '<string>',
field: '<string>',
customID: '<string>'
}
],
environments: ['<string>'],
id: '<string>',
baseID: '<string>',
returnValue: {}
}
])
};
fetch('https://statsigapi.net/console/v1/segments/{id}/conditional', 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://statsigapi.net/console/v1/segments/{id}/conditional",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
[
'name' => '<string>',
'passPercentage' => 50,
'conditions' => [
[
'targetValue' => [
'<string>'
],
'operator' => '<string>',
'field' => '<string>',
'customID' => '<string>'
]
],
'environments' => [
'<string>'
],
'id' => '<string>',
'baseID' => '<string>',
'returnValue' => [
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"STATSIG-API-KEY: <api-key>"
],
]);
$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://statsigapi.net/console/v1/segments/{id}/conditional"
payload := strings.NewReader("[\n {\n \"name\": \"<string>\",\n \"passPercentage\": 50,\n \"conditions\": [\n {\n \"targetValue\": [\n \"<string>\"\n ],\n \"operator\": \"<string>\",\n \"field\": \"<string>\",\n \"customID\": \"<string>\"\n }\n ],\n \"environments\": [\n \"<string>\"\n ],\n \"id\": \"<string>\",\n \"baseID\": \"<string>\",\n \"returnValue\": {}\n }\n]")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("STATSIG-API-KEY", "<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.post("https://statsigapi.net/console/v1/segments/{id}/conditional")
.header("STATSIG-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("[\n {\n \"name\": \"<string>\",\n \"passPercentage\": 50,\n \"conditions\": [\n {\n \"targetValue\": [\n \"<string>\"\n ],\n \"operator\": \"<string>\",\n \"field\": \"<string>\",\n \"customID\": \"<string>\"\n }\n ],\n \"environments\": [\n \"<string>\"\n ],\n \"id\": \"<string>\",\n \"baseID\": \"<string>\",\n \"returnValue\": {}\n }\n]")
.asString();require 'uri'
require 'net/http'
url = URI("https://statsigapi.net/console/v1/segments/{id}/conditional")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["STATSIG-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "[\n {\n \"name\": \"<string>\",\n \"passPercentage\": 50,\n \"conditions\": [\n {\n \"targetValue\": [\n \"<string>\"\n ],\n \"operator\": \"<string>\",\n \"field\": \"<string>\",\n \"customID\": \"<string>\"\n }\n ],\n \"environments\": [\n \"<string>\"\n ],\n \"id\": \"<string>\",\n \"baseID\": \"<string>\",\n \"returnValue\": {}\n }\n]"
response = http.request(request)
puts response.read_body{
"message": "Rules successfully updated"
}{
"status": 400,
"message": "Invalid request. Please check the request input and try again."
}{
"status": 401,
"message": "This endpoint only accepts an active CONSOLE key, but an invalid key was sent. Key: console-xxxXXXxxxXXXxxx"
}{
"status": 404,
"message": "Not Found. The requested resource could not be found."
}Segments
Update Segment Rules
POST
/
console
/
v1
/
segments
/
{id}
/
conditional
Update Segment Rules
curl --request POST \
--url https://statsigapi.net/console/v1/segments/{id}/conditional \
--header 'Content-Type: application/json' \
--header 'STATSIG-API-KEY: <api-key>' \
--data '
[
{
"name": "<string>",
"passPercentage": 50,
"conditions": [
{
"targetValue": [
"<string>"
],
"operator": "<string>",
"field": "<string>",
"customID": "<string>"
}
],
"environments": [
"<string>"
],
"id": "<string>",
"baseID": "<string>",
"returnValue": {}
}
]
'import requests
url = "https://statsigapi.net/console/v1/segments/{id}/conditional"
payload = [
{
"name": "<string>",
"passPercentage": 50,
"conditions": [
{
"targetValue": ["<string>"],
"operator": "<string>",
"field": "<string>",
"customID": "<string>"
}
],
"environments": ["<string>"],
"id": "<string>",
"baseID": "<string>",
"returnValue": {}
}
]
headers = {
"STATSIG-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'STATSIG-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify([
{
name: '<string>',
passPercentage: 50,
conditions: [
{
targetValue: ['<string>'],
operator: '<string>',
field: '<string>',
customID: '<string>'
}
],
environments: ['<string>'],
id: '<string>',
baseID: '<string>',
returnValue: {}
}
])
};
fetch('https://statsigapi.net/console/v1/segments/{id}/conditional', 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://statsigapi.net/console/v1/segments/{id}/conditional",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
[
'name' => '<string>',
'passPercentage' => 50,
'conditions' => [
[
'targetValue' => [
'<string>'
],
'operator' => '<string>',
'field' => '<string>',
'customID' => '<string>'
]
],
'environments' => [
'<string>'
],
'id' => '<string>',
'baseID' => '<string>',
'returnValue' => [
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"STATSIG-API-KEY: <api-key>"
],
]);
$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://statsigapi.net/console/v1/segments/{id}/conditional"
payload := strings.NewReader("[\n {\n \"name\": \"<string>\",\n \"passPercentage\": 50,\n \"conditions\": [\n {\n \"targetValue\": [\n \"<string>\"\n ],\n \"operator\": \"<string>\",\n \"field\": \"<string>\",\n \"customID\": \"<string>\"\n }\n ],\n \"environments\": [\n \"<string>\"\n ],\n \"id\": \"<string>\",\n \"baseID\": \"<string>\",\n \"returnValue\": {}\n }\n]")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("STATSIG-API-KEY", "<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.post("https://statsigapi.net/console/v1/segments/{id}/conditional")
.header("STATSIG-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("[\n {\n \"name\": \"<string>\",\n \"passPercentage\": 50,\n \"conditions\": [\n {\n \"targetValue\": [\n \"<string>\"\n ],\n \"operator\": \"<string>\",\n \"field\": \"<string>\",\n \"customID\": \"<string>\"\n }\n ],\n \"environments\": [\n \"<string>\"\n ],\n \"id\": \"<string>\",\n \"baseID\": \"<string>\",\n \"returnValue\": {}\n }\n]")
.asString();require 'uri'
require 'net/http'
url = URI("https://statsigapi.net/console/v1/segments/{id}/conditional")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["STATSIG-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "[\n {\n \"name\": \"<string>\",\n \"passPercentage\": 50,\n \"conditions\": [\n {\n \"targetValue\": [\n \"<string>\"\n ],\n \"operator\": \"<string>\",\n \"field\": \"<string>\",\n \"customID\": \"<string>\"\n }\n ],\n \"environments\": [\n \"<string>\"\n ],\n \"id\": \"<string>\",\n \"baseID\": \"<string>\",\n \"returnValue\": {}\n }\n]"
response = http.request(request)
puts response.read_body{
"message": "Rules successfully updated"
}{
"status": 400,
"message": "Invalid request. Please check the request input and try again."
}{
"status": 401,
"message": "This endpoint only accepts an active CONSOLE key, but an invalid key was sent. Key: console-xxxXXXxxxXXXxxx"
}{
"status": 404,
"message": "Not Found. The requested resource could not be found."
}Authorizations
Headers
Optional header to respect review settings for mutation endpoints.
Path Parameters
id
Body
application/json
The name of this rule.
Of the users that meet the conditions of this rule, what percent should return true.
Required range:
0 <= x <= 100Must be a multiple of 0.01Show child attributes
Show child attributes
The environments this rule is enabled for.
The Statsig ID of this rule.
The base ID of this rule, i.e. without any added metadata. Will remain the exact same throughout
The return value of the rule.
Show child attributes
Show child attributes
⌘I

