Update Exclusion Group
Updates an existing exclusion group for a title.
Allowed entity token types: title
Error codes
This operation may return the following PlayFab errors:
| Error | Code |
|---|---|
| ExperimentationExclusionGroupNotFound | 7018 |
| FeatureNotConfiguredForTitle | 1177 |
| ProductDisabledForTitle | 1609 |
POST
/
Experimentation
/
UpdateExclusionGroup
Update Exclusion Group
curl --request POST \
--url https://{titleId}.playfabapi.com/Experimentation/UpdateExclusionGroup \
--header 'Content-Type: application/json' \
--header 'X-EntityToken: <api-key>' \
--data '
{
"ExclusionGroupId": "00000000-0000-0000-0000-000000000000",
"Name": "Commerce Exclusion Group",
"Description": "Exclusion group for independent, commerce-related experiments"
}
'import requests
url = "https://{titleId}.playfabapi.com/Experimentation/UpdateExclusionGroup"
payload = {
"ExclusionGroupId": "00000000-0000-0000-0000-000000000000",
"Name": "Commerce Exclusion Group",
"Description": "Exclusion group for independent, commerce-related experiments"
}
headers = {
"X-EntityToken": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-EntityToken': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
ExclusionGroupId: '00000000-0000-0000-0000-000000000000',
Name: 'Commerce Exclusion Group',
Description: 'Exclusion group for independent, commerce-related experiments'
})
};
fetch('https://{titleId}.playfabapi.com/Experimentation/UpdateExclusionGroup', 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://{titleId}.playfabapi.com/Experimentation/UpdateExclusionGroup",
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([
'ExclusionGroupId' => '00000000-0000-0000-0000-000000000000',
'Name' => 'Commerce Exclusion Group',
'Description' => 'Exclusion group for independent, commerce-related experiments'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-EntityToken: <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://{titleId}.playfabapi.com/Experimentation/UpdateExclusionGroup"
payload := strings.NewReader("{\n \"ExclusionGroupId\": \"00000000-0000-0000-0000-000000000000\",\n \"Name\": \"Commerce Exclusion Group\",\n \"Description\": \"Exclusion group for independent, commerce-related experiments\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-EntityToken", "<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://{titleId}.playfabapi.com/Experimentation/UpdateExclusionGroup")
.header("X-EntityToken", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"ExclusionGroupId\": \"00000000-0000-0000-0000-000000000000\",\n \"Name\": \"Commerce Exclusion Group\",\n \"Description\": \"Exclusion group for independent, commerce-related experiments\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{titleId}.playfabapi.com/Experimentation/UpdateExclusionGroup")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-EntityToken"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"ExclusionGroupId\": \"00000000-0000-0000-0000-000000000000\",\n \"Name\": \"Commerce Exclusion Group\",\n \"Description\": \"Exclusion group for independent, commerce-related experiments\"\n}"
response = http.request(request)
puts response.read_body{
"code": 123,
"status": "<string>",
"data": {}
}{
"code": 123,
"errorCode": 123,
"status": "<string>",
"error": "<string>",
"errorMessage": "<string>",
"errorDetails": {}
}Authorizations
This API requires an Entity Session Token, available from the Entity GetEntityToken method.
Body
application/json
Given an entity token and exclusion group details this API updates the exclusion group.
Given an entity token and exclusion group details this API updates the exclusion group.
The ID of the exclusion group to update.
Friendly name of the exclusion group.
The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
Description of the exclusion group.
Last modified on October 1, 2026
Was this page helpful?
⌘I
Update Exclusion Group
curl --request POST \
--url https://{titleId}.playfabapi.com/Experimentation/UpdateExclusionGroup \
--header 'Content-Type: application/json' \
--header 'X-EntityToken: <api-key>' \
--data '
{
"ExclusionGroupId": "00000000-0000-0000-0000-000000000000",
"Name": "Commerce Exclusion Group",
"Description": "Exclusion group for independent, commerce-related experiments"
}
'import requests
url = "https://{titleId}.playfabapi.com/Experimentation/UpdateExclusionGroup"
payload = {
"ExclusionGroupId": "00000000-0000-0000-0000-000000000000",
"Name": "Commerce Exclusion Group",
"Description": "Exclusion group for independent, commerce-related experiments"
}
headers = {
"X-EntityToken": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-EntityToken': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
ExclusionGroupId: '00000000-0000-0000-0000-000000000000',
Name: 'Commerce Exclusion Group',
Description: 'Exclusion group for independent, commerce-related experiments'
})
};
fetch('https://{titleId}.playfabapi.com/Experimentation/UpdateExclusionGroup', 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://{titleId}.playfabapi.com/Experimentation/UpdateExclusionGroup",
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([
'ExclusionGroupId' => '00000000-0000-0000-0000-000000000000',
'Name' => 'Commerce Exclusion Group',
'Description' => 'Exclusion group for independent, commerce-related experiments'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-EntityToken: <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://{titleId}.playfabapi.com/Experimentation/UpdateExclusionGroup"
payload := strings.NewReader("{\n \"ExclusionGroupId\": \"00000000-0000-0000-0000-000000000000\",\n \"Name\": \"Commerce Exclusion Group\",\n \"Description\": \"Exclusion group for independent, commerce-related experiments\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-EntityToken", "<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://{titleId}.playfabapi.com/Experimentation/UpdateExclusionGroup")
.header("X-EntityToken", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"ExclusionGroupId\": \"00000000-0000-0000-0000-000000000000\",\n \"Name\": \"Commerce Exclusion Group\",\n \"Description\": \"Exclusion group for independent, commerce-related experiments\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{titleId}.playfabapi.com/Experimentation/UpdateExclusionGroup")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-EntityToken"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"ExclusionGroupId\": \"00000000-0000-0000-0000-000000000000\",\n \"Name\": \"Commerce Exclusion Group\",\n \"Description\": \"Exclusion group for independent, commerce-related experiments\"\n}"
response = http.request(request)
puts response.read_body{
"code": 123,
"status": "<string>",
"data": {}
}{
"code": 123,
"errorCode": 123,
"status": "<string>",
"error": "<string>",
"errorMessage": "<string>",
"errorDetails": {}
}