Partially update a layer
curl --request PATCH \
--url https://statsigapi.net/console/v1/layers/{id} \
--header 'Content-Type: application/json' \
--header 'STATSIG-API-KEY: <api-key>' \
--data '
{
"description": "<string>",
"parameters": [
{
"name": "<string>",
"defaultValue": "<string>"
}
],
"targetApps": "<string>"
}
'import requests
url = "https://statsigapi.net/console/v1/layers/{id}"
payload = {
"description": "<string>",
"parameters": [
{
"name": "<string>",
"defaultValue": "<string>"
}
],
"targetApps": "<string>"
}
headers = {
"STATSIG-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'STATSIG-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
description: '<string>',
parameters: [{name: '<string>', defaultValue: '<string>'}],
targetApps: '<string>'
})
};
fetch('https://statsigapi.net/console/v1/layers/{id}', 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/layers/{id}",
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>',
'parameters' => [
[
'name' => '<string>',
'defaultValue' => '<string>'
]
],
'targetApps' => '<string>'
]),
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/layers/{id}"
payload := strings.NewReader("{\n \"description\": \"<string>\",\n \"parameters\": [\n {\n \"name\": \"<string>\",\n \"defaultValue\": \"<string>\"\n }\n ],\n \"targetApps\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://statsigapi.net/console/v1/layers/{id}")
.header("STATSIG-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"description\": \"<string>\",\n \"parameters\": [\n {\n \"name\": \"<string>\",\n \"defaultValue\": \"<string>\"\n }\n ],\n \"targetApps\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://statsigapi.net/console/v1/layers/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["STATSIG-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"description\": \"<string>\",\n \"parameters\": [\n {\n \"name\": \"<string>\",\n \"defaultValue\": \"<string>\"\n }\n ],\n \"targetApps\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"message": "Layer updated successfully.",
"data": {
"id": "the_best_layer",
"description": "new description",
"idType": "userID",
"lastModifierID": "4dcQUIpS8PHObBGD7HJwOx",
"lastModifiedTime": 1720734756985,
"lastModifierName": "CONSOLE API",
"lastModifierEmail": null,
"creatorID": "4dcQUIpS8PHObBGD7HJwOx",
"createdTime": 1720733942515,
"creatorName": "CONSOLE API",
"creatorEmail": null,
"targetApps": [
"new fo"
],
"holdoutIDs": [
"global_holdout",
"test_holdout"
],
"tags": [],
"team": "Console Team",
"isImplicitLayer": false,
"parameters": [
{
"name": "a_parameter",
"type": "boolean",
"defaultValue": true
},
{
"name": "b_parameter",
"type": "number",
"defaultValue": 123
},
{
"name": "c_parameter",
"type": "string",
"defaultValue": "this is a string"
},
{
"name": "d_parameter",
"type": "array",
"defaultValue": []
},
{
"name": "e_parameter",
"type": "object",
"defaultValue": {
"key": "value"
}
}
]
}
}{
"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"
}Layers
Partially update a layer
PATCH
/
console
/
v1
/
layers
/
{id}
Partially update a layer
curl --request PATCH \
--url https://statsigapi.net/console/v1/layers/{id} \
--header 'Content-Type: application/json' \
--header 'STATSIG-API-KEY: <api-key>' \
--data '
{
"description": "<string>",
"parameters": [
{
"name": "<string>",
"defaultValue": "<string>"
}
],
"targetApps": "<string>"
}
'import requests
url = "https://statsigapi.net/console/v1/layers/{id}"
payload = {
"description": "<string>",
"parameters": [
{
"name": "<string>",
"defaultValue": "<string>"
}
],
"targetApps": "<string>"
}
headers = {
"STATSIG-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'STATSIG-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
description: '<string>',
parameters: [{name: '<string>', defaultValue: '<string>'}],
targetApps: '<string>'
})
};
fetch('https://statsigapi.net/console/v1/layers/{id}', 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/layers/{id}",
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>',
'parameters' => [
[
'name' => '<string>',
'defaultValue' => '<string>'
]
],
'targetApps' => '<string>'
]),
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/layers/{id}"
payload := strings.NewReader("{\n \"description\": \"<string>\",\n \"parameters\": [\n {\n \"name\": \"<string>\",\n \"defaultValue\": \"<string>\"\n }\n ],\n \"targetApps\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://statsigapi.net/console/v1/layers/{id}")
.header("STATSIG-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"description\": \"<string>\",\n \"parameters\": [\n {\n \"name\": \"<string>\",\n \"defaultValue\": \"<string>\"\n }\n ],\n \"targetApps\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://statsigapi.net/console/v1/layers/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["STATSIG-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"description\": \"<string>\",\n \"parameters\": [\n {\n \"name\": \"<string>\",\n \"defaultValue\": \"<string>\"\n }\n ],\n \"targetApps\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"message": "Layer updated successfully.",
"data": {
"id": "the_best_layer",
"description": "new description",
"idType": "userID",
"lastModifierID": "4dcQUIpS8PHObBGD7HJwOx",
"lastModifiedTime": 1720734756985,
"lastModifierName": "CONSOLE API",
"lastModifierEmail": null,
"creatorID": "4dcQUIpS8PHObBGD7HJwOx",
"createdTime": 1720733942515,
"creatorName": "CONSOLE API",
"creatorEmail": null,
"targetApps": [
"new fo"
],
"holdoutIDs": [
"global_holdout",
"test_holdout"
],
"tags": [],
"team": "Console Team",
"isImplicitLayer": false,
"parameters": [
{
"name": "a_parameter",
"type": "boolean",
"defaultValue": true
},
{
"name": "b_parameter",
"type": "number",
"defaultValue": 123
},
{
"name": "c_parameter",
"type": "string",
"defaultValue": "this is a string"
},
{
"name": "d_parameter",
"type": "array",
"defaultValue": []
},
{
"name": "e_parameter",
"type": "object",
"defaultValue": {
"key": "value"
}
}
]
}
}{
"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"
}Authorizations
Headers
Optional header to respect review settings for mutation endpoints.
Path Parameters
id
Body
application/json
A detailed description of the layer, explaining its purpose and functionality.
Maximum string length:
1000An array of parameters associated with the layer, each defining specific attributes.
Show child attributes
Show child attributes
List of target applications that this layer is intended for.
⌘I

