Activate an Experiment
Activate an experiment. This transitions a draft or paused experiment to running. The experiment must have at least two variants, and the sum of all variant weights must equal 100. You must publish all stories and their variants before activating the experiment.
https://mapi.storyblok.com/v1/spaces/:space_id/experiments/:experiment_id/activatePath parameters
Section titled “Path parameters”-
:space_idrequired numberNumeric ID of a space.
-
:experiment_idrequired numberNumeric ID of the experiment.
Query parameters
Section titled “Query parameters”-
end_datestringOptional planned end date for the experiment in ISO 8601 format (
YYYY-MM-DD). Must be in the future.
Response properties
Section titled “Response properties”-
experimentThe Experiment ObjectThe activated experiment object.
Examples
Section titled “Examples”curl "https://mapi.storyblok.com/v1/spaces/288868932106293/experiments/176070002766742/activate\?end_date=2026-08-20" \ -X PUT \ -H "Authorization: YOUR_OAUTH_TOKEN" \ -H "Content-Type: application/json" \ -d "{}"// 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/activate?end_date=2026-08-20', {}) console.log({ response })} catch (error) { console.log(error)}$client = new \Storyblok\ManagementClient('YOUR_OAUTH_TOKEN');
$payload = [];
$client->put('spaces/288868932106293/experiments/176070002766742/activate?end_date=2026-08-20', $payload)->getBody();HttpResponse<String> response = Unirest.put("https://mapi.storyblok.com/v1/spaces/288868932106293/experiments/176070002766742/activate?end_date=2026-08-20") .header("Content-Type", "application/json") .header("Authorization", "YOUR_OAUTH_TOKEN") .body({}) .asString();var client = new RestClient("https://mapi.storyblok.com/v1/spaces/288868932106293/experiments/176070002766742/activate?end_date=2026-08-20");var request = new RestRequest(Method.PUT);
request.AddHeader("Content-Type", "application/json");request.AddHeader("Authorization", "YOUR_OAUTH_TOKEN");request.AddParameter("application/json", "{}", ParameterType.RequestBody);IRestResponse response = client.Execute(request);import requests
url = "https://mapi.storyblok.com/v1/spaces/288868932106293/experiments/176070002766742/activate"
querystring = {"end_date":"2026-08-20"}
payload = {}headers = { 'Content-Type': "application/json", 'Authorization': "YOUR_OAUTH_TOKEN"}
response = requests.request("PUT", url, data=payload, headers=headers, params=querystring)
print(response.text)require 'storyblok'client = Storyblok::Client.new(oauth_token: 'YOUR_OAUTH_TOKEN')
payload = {}
client.put('spaces/288868932106293/experiments/176070002766742/activate', {:params => { "end_date" => "2026-08-20"}}, payload)let storyblok = URLSession(storyblok: .mapi(accessToken: .oauth("YOUR_OAUTH_TOKEN")))var request = URLRequest(storyblok: storyblok, path: "spaces/288868932106293/experiments/176070002766742/activate")request.url!.append(queryItems: [ URLQueryItem(name: "end_date", value: "2026-08-20")])request.httpMethod = "PUT"request.httpBody = try JSONSerialization.data(withJSONObject: [ ])let (data, _) = try await storyblok.data(for: request)print(try JSONSerialization.jsonObject(with: data))val client = HttpClient { install(Storyblok(MAPI)) { accessToken = OAuth("YOUR_OAUTH_TOKEN") }}
val response = client.put("spaces/288868932106293/experiments/176070002766742/activate") { url { parameters.append("end_date", "2026-08-20") } setBody(buildJsonObject { })}
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