Retrieve Running Experiments
Retrieve all running experiments with their variants and associated story IDs.
The Storyblok experiments feature enables content variants at the story level. Use experiments to run A/B tests or to manage personalized content.
Learn more about experiments in the developer concept and the user manual.
https://api.storyblok.com/v2/cdn/experimentsQuery parameters
Section titled “Query parameters”-
tokenrequired stringA preview or public access token configured in a space.
-
cvnumberCached version Unix timestamp (learn more about cache invalidation).
Response properties
Section titled “Response properties”-
experimentsrequired The Experiments ObjectThe experiments object.
-
cvnumber | nullCached version Unix timestamp (learn more about cache invalidation).
Examples
Section titled “Examples”curl "https://api.storyblok.com/v2/cdn/experiments\?token=ask9soUkv02QqbZgmZdeDAtt"// storyblok-js-client@>=7, node@>=18import Storyblok from "storyblok-js-client";
const storyblok = new Storyblok({ accessToken: "krcV6QGxWORpYLUWt12xKQtt",});
try { const response = await storyblok.get('cdn/experiments', {}) console.log({ response })} catch (error) { console.log(error)}$client = new \Storyblok\Client('YOUR_STORYBLOK_SPACE_ACCESS_TOKEN');
$client->get('experiments')->getBody();HttpResponse<String> response = Unirest.get("https://api.storyblok.com/v2/cdn/experiments?token=ask9soUkv02QqbZgmZdeDAtt") .asString();var client = new RestClient("https://api.storyblok.com/v2/cdn/experiments?token=ask9soUkv02QqbZgmZdeDAtt");var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);import requests
url = "https://api.storyblok.com/v2/cdn/experiments"
querystring = {"token":"ask9soUkv02QqbZgmZdeDAtt"}
payload = ""headers = {}
response = requests.request("GET", url, data=payload, headers=headers, params=querystring)
print(response.text)require 'storyblok'client = Storyblok::Client.new(token: 'YOUR_TOKEN')
client.get('experiments')let storyblok = URLSession(storyblok: .cdn(accessToken: "ask9soUkv02QqbZgmZdeDAtt"))let request = URLRequest(storyblok: storyblok, path: "experiments")let (data, _) = try await storyblok.data(for: request)print(try JSONSerialization.jsonObject(with: data))val client = HttpClient { install(Storyblok(CDN)) { accessToken = "ask9soUkv02QqbZgmZdeDAtt" }}
val response = client.get("experiments")
println(response.body<JsonElement>()){ "experiments": [ { "id": 123, "name": "homepage_hero_test", "display_name": "Homepage Hero Test", "story_ids": [ 101, 202 ], "variants": [ { "name": "control", "display_name": "Control", "public_id": "var_abc123def456", "weight": 50, "is_control": true, "story_mappings": [ { "original_story_id": 123, "original_slug": "home", "variant_story_id": 456, "variant_slug": "home-variant-a" } ] } ] } ], "cv": 1709500000}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