---
title: Push Experiment Results
description: Push results to a single experiment.
url: https://storyblok.com/docs/api/management/experiments/push-experiment-results
---

# Push Experiment Results

Push a pre-computed chart snapshot for an experiment. Replaces any existing snapshot.

POST

```html
https://mapi.storyblok.com/v1/spaces/:space_id/experiments/:experiment_id/results
```

## Path parameters

-   `:space_id` (required) (number)
    
    Numeric ID of a space.
    
-   `:experiment_id` (required) (number)
    
    Numeric ID of the experiment.
    

## Request body properties

-   `charts` (required) (object\[\])
    
    Array of pre-computed chart objects (max 20 items). Each item must be a `bar`, `line`, or `text` chart.
    
    Show child properties
    
    -   `kind` (required) (string)
        
        Chart type discriminator. Allowed values: `bar`, `line`, `text`.
        
    -   `title` (string | null)
        
        Optional chart title.
        
    -   `xLabel` (string | null)
        
        Optional x-axis label (bar and line charts).
        
    -   `yLabel` (string | null)
        
        Optional y-axis label (bar and line charts).
        
    -   `labels` (string\[\])
        
        Category or time-axis labels (required for bar and line charts).
        
    -   `series` (object\[\])
        
        Data series (required for bar and line charts).
        
    -   `body` (string)
        
        Text content (required for text charts).
        
    

## Response properties

-   `experiment_result` (The Experiment Result Object)
    
    The [experiment result object](/docs/api/management/experiments/the-experiment-result-object).
    

## Examples

-   cURL
    
    ```shellscript
    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\"}]}"
    ```
    
-   JS
    
    ```javascript
    // storyblok-js-client@>=7, node@>=18
    import 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)
    }
    ```
    
-   PHP
    
    ```php
    $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();
    ```
    
-   Java
    
    ```java
    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();
    ```
    
-   C#
    
    ```csharp
    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);
    ```
    
-   Python
    
    ```python
    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)
    ```
    
-   Ruby
    
    ```ruby
    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)
    ```
    
-   Swift
    
    ```swift
    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))
    ```
    
-   Kotlin
    
    ```kotlin
    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>())
    ```

## Pagination

-   [Previous: Pause an Experiment](/docs/api/management/experiments/pause-an-experiment)
-   [Next: Retrieve a Single Experiment](/docs/api/management/experiments/retrieve-a-single-experiment)
