Update an Experiment
Update an experiment’s display name, description, variants, or story associations. The name field is immutable after creation. You can’t update completed experiments.
https://mapi.storyblok.com/v1/spaces/:space_id/experiments/:experiment_idPath parameters
Section titled “Path parameters”:space_idrequired numberNumeric ID of a space.
:experiment_idrequired numberNumeric ID of the experiment.
Request body properties
Section titled “Request body properties”experimentrequired objectThe experiment object that contains the updated information.
Response properties
Section titled “Response properties”experimentThe Experiment ObjectThe updated experiment object.
Examples
Section titled “Examples”curl "https://mapi.storyblok.com/v1/spaces/288868932106293/experiments/176070002766742" \ -X PUT \ -H "Authorization: YOUR_PERSONAL_ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d "{\"experiment\":{\"description\":\"Updated description\",\"display_name\":\"A simple test (updated)\",\"experiment_variants_attributes\":[{\"id\":1001,\"weight\":70},{\"id\":1002,\"weight\":40}]}}"// storyblok-js-client@>=7, node@>=18import Storyblok from "storyblok-js-client";
const storyblok = new Storyblok({ oauthToken: "YOUR_PERSONAL_ACCESS_TOKEN",});
try { const response = await storyblok.put('spaces/288868932106293/experiments/176070002766742', { "experiment": { "description": "Updated description", "display_name": "A simple test (updated)", "experiment_variants_attributes": [ { "id": 1001, "weight": 70 }, { "id": 1002, "weight": 40 } ] } }) console.log({ response })} catch (error) { console.log(error)}$client = new \Storyblok\ManagementClient('YOUR_PERSONAL_ACCESS_TOKEN');
$payload = ["experiment" => ["description" => "Updated description","display_name" => "A simple test (updated)","experiment_variants_attributes" => [["id" => 1001,"weight" => 70],["id" => 1002,"weight" => 40]]]];
$client->put('spaces/288868932106293/experiments/176070002766742', $payload)->getBody();HttpResponse<String> response = Unirest.put("https://mapi.storyblok.com/v1/spaces/288868932106293/experiments/176070002766742") .header("Content-Type", "application/json") .header("Authorization", "YOUR_PERSONAL_ACCESS_TOKEN") .body({"experiment":{"description":"Updated description","display_name":"A simple test (updated)","experiment_variants_attributes":[{"id":1001,"weight":70},{"id":1002,"weight":40}]}}) .asString();var client = new RestClient("https://mapi.storyblok.com/v1/spaces/288868932106293/experiments/176070002766742");var request = new RestRequest(Method.PUT);
request.AddHeader("Content-Type", "application/json");request.AddHeader("Authorization", "YOUR_PERSONAL_ACCESS_TOKEN");request.AddParameter("application/json", "{\"experiment\":{\"description\":\"Updated description\",\"display_name\":\"A simple test (updated)\",\"experiment_variants_attributes\":[{\"id\":1001,\"weight\":70},{\"id\":1002,\"weight\":40}]}}", ParameterType.RequestBody);IRestResponse response = client.Execute(request);import requests
url = "https://mapi.storyblok.com/v1/spaces/288868932106293/experiments/176070002766742"
querystring = {}
payload = {"experiment":{"description":"Updated description","display_name":"A simple test (updated)","experiment_variants_attributes":[{"id":1001,"weight":70},{"id":1002,"weight":40}]}}headers = { 'Content-Type': "application/json", 'Authorization': "YOUR_PERSONAL_ACCESS_TOKEN"}
response = requests.request("PUT", url, data=payload, headers=headers, params=querystring)
print(response.text)require 'storyblok'client = Storyblok::Client.new(oauth_token: 'YOUR_PERSONAL_ACCESS_TOKEN')
payload = {"experiment" => {"description" => "Updated description","display_name" => "A simple test (updated)","experiment_variants_attributes" => [{"id" => 1001,"weight" => 70},{"id" => 1002,"weight" => 40}]}}
client.put('spaces/288868932106293/experiments/176070002766742', payload)let storyblok = URLSession(storyblok: .mapi(accessToken: .personal("YOUR_PERSONAL_ACCESS_TOKEN")))var request = URLRequest(storyblok: storyblok, path: "spaces/288868932106293/experiments/176070002766742")request.httpMethod = "PUT"request.httpBody = try JSONSerialization.data(withJSONObject: [ "experiment": [ "description": "Updated description", "display_name": "A simple test (updated)", "experiment_variants_attributes": [ [ "id": 1001, "weight": 70, ], [ "id": 1002, "weight": 40, ], ], ],])let (data, _) = try await storyblok.data(for: request)print(try JSONSerialization.jsonObject(with: data))val client = HttpClient { install(Storyblok(MAPI)) { accessToken = Personal("YOUR_PERSONAL_ACCESS_TOKEN") }}
val response = client.put("spaces/288868932106293/experiments/176070002766742") { setBody(buildJsonObject { putJsonObject("experiment") { put("description", "Updated description") put("display_name", "A simple test (updated)") putJsonArray("experiment_variants_attributes") { addJsonObject { put("id", 1001) put("weight", 70) } addJsonObject { put("id", 1002) put("weight", 40) } } } })}
println(response.body<JsonElement>())Was this page helpful?
This site uses reCAPTCHA and Google's Privacy Policy (opens in a new window).Terms of Service (opens in a new window) apply.
Get in touch with the Storyblok community