Push Experiment Results
Push a pre-computed chart snapshot for an experiment. Replaces any existing snapshot.
https://mapi.storyblok.com/v1/spaces/:space_id/experiments/:experiment_id/resultsPath 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”-
chartsrequired object[]Array of pre-computed chart objects (max 20 items). Each item must be a
bar,line, ortextchart.Show child properties
-
kindrequired stringChart type discriminator. Allowed values:
bar,line,text. -
titlestring | nullOptional chart title.
-
xLabelstring | nullOptional x-axis label (bar and line charts).
-
yLabelstring | nullOptional y-axis label (bar and line charts).
-
labelsstring[]Category or time-axis labels (required for bar and line charts).
-
seriesobject[]Data series (required for bar and line charts).
-
bodystringText content (required for text charts).
-
Response properties
Section titled “Response properties”-
experiment_resultThe Experiment Result Object
Examples
Section titled “Examples”curl "https://mapi.storyblok.com/v1/spaces/288868932106293/experiments/176070002766742/results" \ -X POST \ -H "Authorization: YOUR_OAUTH_TOKEN" \ -H "Content-Type: application/json" \ -d "{\"charts\":[{\"body\":\"Variant A shows 95% confidence of improvement.\",\"kind\":\"bar\",\"labels\":[\"Control\",\"Variant A\"],\"series\":[{\"data\":[0.12,0.15],\"label\":\"Conversion rate\"}],\"title\":\"Conversion Rate\",\"xLabel\":\"Variant\",\"yLabel\":\"Rate\"}]}"// 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.post('spaces/288868932106293/experiments/176070002766742/results', { "charts": [ { "body": "Variant A shows 95% confidence of improvement.", "kind": "bar", "labels": [ "Control", "Variant A" ], "series": [ { "data": [ 0.12, 0.15 ], "label": "Conversion rate" } ], "title": "Conversion Rate", "xLabel": "Variant", "yLabel": "Rate" } ] }) console.log({ response })} catch (error) { console.log(error)}$client = new \Storyblok\ManagementClient('YOUR_OAUTH_TOKEN');
$payload = ["charts" => [["body" => "Variant A shows 95% confidence of improvement.","kind" => "bar","labels" => ["Control","Variant A"],"series" => [["data" => [0.12,0.15],"label" => "Conversion rate"]],"title" => "Conversion Rate","xLabel" => "Variant","yLabel" => "Rate"]]];
$client->post('spaces/288868932106293/experiments/176070002766742/results', $payload)->getBody();HttpResponse<String> response = Unirest.post("https://mapi.storyblok.com/v1/spaces/288868932106293/experiments/176070002766742/results") .header("Content-Type", "application/json") .header("Authorization", "YOUR_OAUTH_TOKEN") .body({"charts":[{"body":"Variant A shows 95% confidence of improvement.","kind":"bar","labels":["Control","Variant A"],"series":[{"data":[0.12,0.15],"label":"Conversion rate"}],"title":"Conversion Rate","xLabel":"Variant","yLabel":"Rate"}]}) .asString();var client = new RestClient("https://mapi.storyblok.com/v1/spaces/288868932106293/experiments/176070002766742/results");var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");request.AddHeader("Authorization", "YOUR_OAUTH_TOKEN");request.AddParameter("application/json", "{\"charts\":[{\"body\":\"Variant A shows 95% confidence of improvement.\",\"kind\":\"bar\",\"labels\":[\"Control\",\"Variant A\"],\"series\":[{\"data\":[0.12,0.15],\"label\":\"Conversion rate\"}],\"title\":\"Conversion Rate\",\"xLabel\":\"Variant\",\"yLabel\":\"Rate\"}]}", ParameterType.RequestBody);IRestResponse response = client.Execute(request);import requests
url = "https://mapi.storyblok.com/v1/spaces/288868932106293/experiments/176070002766742/results"
querystring = {}
payload = {"charts":[{"body":"Variant A shows 95% confidence of improvement.","kind":"bar","labels":["Control","Variant A"],"series":[{"data":[0.12,0.15],"label":"Conversion rate"}],"title":"Conversion Rate","xLabel":"Variant","yLabel":"Rate"}]}headers = { 'Content-Type': "application/json", 'Authorization': "YOUR_OAUTH_TOKEN"}
response = requests.request("POST", url, data=payload, headers=headers, params=querystring)
print(response.text)require 'storyblok'client = Storyblok::Client.new(oauth_token: 'YOUR_OAUTH_TOKEN')
payload = {"charts" => [{"body" => "Variant A shows 95% confidence of improvement.","kind" => "bar","labels" => ["Control","Variant A"],"series" => [{"data" => [0.12,0.15],"label" => "Conversion rate"}],"title" => "Conversion Rate","xLabel" => "Variant","yLabel" => "Rate"}]}
client.post('spaces/288868932106293/experiments/176070002766742/results', payload)let storyblok = URLSession(storyblok: .mapi(accessToken: .oauth("YOUR_OAUTH_TOKEN")))var request = URLRequest(storyblok: storyblok, path: "spaces/288868932106293/experiments/176070002766742/results")request.httpMethod = "POST"request.httpBody = try JSONSerialization.data(withJSONObject: [ "charts": [ [ "body": "Variant A shows 95% confidence of improvement.", "kind": "bar", "labels": [ "Control", "Variant A", ], "series": [ [ "data": [ 0.12, 0.15, ], "label": "Conversion rate", ], ], "title": "Conversion Rate", "xLabel": "Variant", "yLabel": "Rate", ], ],])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.post("spaces/288868932106293/experiments/176070002766742/results") { setBody(buildJsonObject { putJsonArray("charts") { addJsonObject { put("body", "Variant A shows 95% confidence of improvement.") put("kind", "bar") putJsonArray("labels") { add("Control") add("Variant A") } putJsonArray("series") { addJsonObject { putJsonArray("data") { add(0.12) add(0.15) } put("label", "Conversion rate") } } put("title", "Conversion Rate") put("xLabel", "Variant") put("yLabel", "Rate") } } })}
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