curl --request GET \
--url https://api.qonversion.io/v4/experiments/summary \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.qonversion.io/v4/experiments/summary"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.qonversion.io/v4/experiments/summary', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.qonversion.io/v4/experiments/summary",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}require 'uri'
require 'net/http'
url = URI("https://api.qonversion.io/v4/experiments/summary")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_bodypackage main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.qonversion.io/v4/experiments/summary"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.qonversion.io/v4/experiments/summary")
.header("Authorization", "Bearer <token>")
.asString();{
"total_count": 1,
"items": [
{
"uid": "a6a360a2-41ed-4964-b45a-ea1b0c3e3386",
"experiment_id": 210,
"project_id": 789,
"name": "Paywall layout A/B",
"alias_id": "paywall_layout_ab",
"desc": "Compare two paywall layouts on iOS onboarding",
"segment_percent": 100,
"primary_metric": "subscription-cancellation",
"goal_direction": "decrease",
"goal_value": 4,
"context_key": "",
"context_specific": false,
"status": "finished",
"finished_at": 1712246400,
"created_at": 1709654400,
"updated_at": 1777051834,
"groups": [
{
"uid": "df0ab472",
"experiment_group_id": 407,
"experiment_id": 210,
"project_id": 789,
"name": "Control group",
"control": 1,
"weight": 1,
"created_at": 1709654400,
"updated_at": 1709654400
},
{
"uid": "3c458035",
"experiment_group_id": 408,
"experiment_id": 210,
"project_id": 789,
"name": "Test variant",
"control": 0,
"weight": 1,
"remote_config_uid": "25561136-dc1b-4625-9a05-0550d1a04508",
"created_at": 1709654400,
"updated_at": 1709655000,
"remote_config": {
"remote_config_uid": "25561136-dc1b-4625-9a05-0550d1a04508",
"project_id": 789,
"payload": {
"headline": "Unlock Pro",
"cta": "Start free trial"
},
"created_at": 1709654400,
"updated_at": 0
}
}
]
}
]
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": [
{
"field": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": [
{
"field": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": [
{
"field": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": [
{
"field": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": [
{
"field": "<string>",
"message": "<string>"
}
]
}
}Get experiments analytics summary
Returns aggregated analytics summary for experiments.
curl --request GET \
--url https://api.qonversion.io/v4/experiments/summary \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.qonversion.io/v4/experiments/summary"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.qonversion.io/v4/experiments/summary', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.qonversion.io/v4/experiments/summary",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}require 'uri'
require 'net/http'
url = URI("https://api.qonversion.io/v4/experiments/summary")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_bodypackage main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.qonversion.io/v4/experiments/summary"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.qonversion.io/v4/experiments/summary")
.header("Authorization", "Bearer <token>")
.asString();{
"total_count": 1,
"items": [
{
"uid": "a6a360a2-41ed-4964-b45a-ea1b0c3e3386",
"experiment_id": 210,
"project_id": 789,
"name": "Paywall layout A/B",
"alias_id": "paywall_layout_ab",
"desc": "Compare two paywall layouts on iOS onboarding",
"segment_percent": 100,
"primary_metric": "subscription-cancellation",
"goal_direction": "decrease",
"goal_value": 4,
"context_key": "",
"context_specific": false,
"status": "finished",
"finished_at": 1712246400,
"created_at": 1709654400,
"updated_at": 1777051834,
"groups": [
{
"uid": "df0ab472",
"experiment_group_id": 407,
"experiment_id": 210,
"project_id": 789,
"name": "Control group",
"control": 1,
"weight": 1,
"created_at": 1709654400,
"updated_at": 1709654400
},
{
"uid": "3c458035",
"experiment_group_id": 408,
"experiment_id": 210,
"project_id": 789,
"name": "Test variant",
"control": 0,
"weight": 1,
"remote_config_uid": "25561136-dc1b-4625-9a05-0550d1a04508",
"created_at": 1709654400,
"updated_at": 1709655000,
"remote_config": {
"remote_config_uid": "25561136-dc1b-4625-9a05-0550d1a04508",
"project_id": 789,
"payload": {
"headline": "Unlock Pro",
"cta": "Start free trial"
},
"created_at": 1709654400,
"updated_at": 0
}
}
]
}
]
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": [
{
"field": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": [
{
"field": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": [
{
"field": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": [
{
"field": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": [
{
"field": "<string>",
"message": "<string>"
}
]
}
}Authorizations
Bearer authentication using the project Secret Key (prefixed with sk_, or test_sk_ for sandbox). All v4 public endpoints require the Secret Key — see Authentication. Never expose the Secret Key in client-side code.
Query Parameters
Start of the time range (ISO 8601).
End of the time range (ISO 8601).
Filter by environment.
Metric to summarize.
Currency code (ISO 4217).
Aggregation unit (e.g. day, week, month).
Day of week that a week starts on (e.g. monday, sunday).
Maximum number of series to return.
Filter by experiment UID.
Filter by multiple experiment UIDs.
Response
Analytics summary data.
Experiments summary payload. items contains one entry per experiment matched by filter[experiment_uid][], with nested groups carrying the group metadata (control flag, weight, bound remote config).