Export analytics data
curl --request POST \
--url https://api.galtea.ai/analytics/export \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"productId": "prod_123",
"versionIds": [
"<string>"
],
"testIds": [
"test_123",
"test_456"
],
"metricIds": [
"metric_123",
"metric_456"
],
"languages": [
"<string>"
],
"from": "2023-11-07T05:31:56Z",
"to": "2023-11-07T05:31:56Z",
"isProduction": true
}
'import requests
url = "https://api.galtea.ai/analytics/export"
payload = {
"productId": "prod_123",
"versionIds": ["<string>"],
"testIds": ["test_123", "test_456"],
"metricIds": ["metric_123", "metric_456"],
"languages": ["<string>"],
"from": "2023-11-07T05:31:56Z",
"to": "2023-11-07T05:31:56Z",
"isProduction": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
productId: 'prod_123',
versionIds: ['<string>'],
testIds: ['test_123', 'test_456'],
metricIds: ['metric_123', 'metric_456'],
languages: ['<string>'],
from: '2023-11-07T05:31:56Z',
to: '2023-11-07T05:31:56Z',
isProduction: true
})
};
fetch('https://api.galtea.ai/analytics/export', 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.galtea.ai/analytics/export",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'productId' => 'prod_123',
'versionIds' => [
'<string>'
],
'testIds' => [
'test_123',
'test_456'
],
'metricIds' => [
'metric_123',
'metric_456'
],
'languages' => [
'<string>'
],
'from' => '2023-11-07T05:31:56Z',
'to' => '2023-11-07T05:31:56Z',
'isProduction' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.galtea.ai/analytics/export"
payload := strings.NewReader("{\n \"productId\": \"prod_123\",\n \"versionIds\": [\n \"<string>\"\n ],\n \"testIds\": [\n \"test_123\",\n \"test_456\"\n ],\n \"metricIds\": [\n \"metric_123\",\n \"metric_456\"\n ],\n \"languages\": [\n \"<string>\"\n ],\n \"from\": \"2023-11-07T05:31:56Z\",\n \"to\": \"2023-11-07T05:31:56Z\",\n \"isProduction\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.galtea.ai/analytics/export")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"productId\": \"prod_123\",\n \"versionIds\": [\n \"<string>\"\n ],\n \"testIds\": [\n \"test_123\",\n \"test_456\"\n ],\n \"metricIds\": [\n \"metric_123\",\n \"metric_456\"\n ],\n \"languages\": [\n \"<string>\"\n ],\n \"from\": \"2023-11-07T05:31:56Z\",\n \"to\": \"2023-11-07T05:31:56Z\",\n \"isProduction\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.galtea.ai/analytics/export")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"productId\": \"prod_123\",\n \"versionIds\": [\n \"<string>\"\n ],\n \"testIds\": [\n \"test_123\",\n \"test_456\"\n ],\n \"metricIds\": [\n \"metric_123\",\n \"metric_456\"\n ],\n \"languages\": [\n \"<string>\"\n ],\n \"from\": \"2023-11-07T05:31:56Z\",\n \"to\": \"2023-11-07T05:31:56Z\",\n \"isProduction\": true\n}"
response = http.request(request)
puts response.read_body{}{
"error": "Error type",
"message": "Error message description"
}{
"error": "Error type",
"message": "Error message description"
}Export analytics data
Export analytics data for a product with optional filtering. See Platform Overview.
POST
/
analytics
/
export
Export analytics data
curl --request POST \
--url https://api.galtea.ai/analytics/export \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"productId": "prod_123",
"versionIds": [
"<string>"
],
"testIds": [
"test_123",
"test_456"
],
"metricIds": [
"metric_123",
"metric_456"
],
"languages": [
"<string>"
],
"from": "2023-11-07T05:31:56Z",
"to": "2023-11-07T05:31:56Z",
"isProduction": true
}
'import requests
url = "https://api.galtea.ai/analytics/export"
payload = {
"productId": "prod_123",
"versionIds": ["<string>"],
"testIds": ["test_123", "test_456"],
"metricIds": ["metric_123", "metric_456"],
"languages": ["<string>"],
"from": "2023-11-07T05:31:56Z",
"to": "2023-11-07T05:31:56Z",
"isProduction": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
productId: 'prod_123',
versionIds: ['<string>'],
testIds: ['test_123', 'test_456'],
metricIds: ['metric_123', 'metric_456'],
languages: ['<string>'],
from: '2023-11-07T05:31:56Z',
to: '2023-11-07T05:31:56Z',
isProduction: true
})
};
fetch('https://api.galtea.ai/analytics/export', 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.galtea.ai/analytics/export",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'productId' => 'prod_123',
'versionIds' => [
'<string>'
],
'testIds' => [
'test_123',
'test_456'
],
'metricIds' => [
'metric_123',
'metric_456'
],
'languages' => [
'<string>'
],
'from' => '2023-11-07T05:31:56Z',
'to' => '2023-11-07T05:31:56Z',
'isProduction' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.galtea.ai/analytics/export"
payload := strings.NewReader("{\n \"productId\": \"prod_123\",\n \"versionIds\": [\n \"<string>\"\n ],\n \"testIds\": [\n \"test_123\",\n \"test_456\"\n ],\n \"metricIds\": [\n \"metric_123\",\n \"metric_456\"\n ],\n \"languages\": [\n \"<string>\"\n ],\n \"from\": \"2023-11-07T05:31:56Z\",\n \"to\": \"2023-11-07T05:31:56Z\",\n \"isProduction\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.galtea.ai/analytics/export")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"productId\": \"prod_123\",\n \"versionIds\": [\n \"<string>\"\n ],\n \"testIds\": [\n \"test_123\",\n \"test_456\"\n ],\n \"metricIds\": [\n \"metric_123\",\n \"metric_456\"\n ],\n \"languages\": [\n \"<string>\"\n ],\n \"from\": \"2023-11-07T05:31:56Z\",\n \"to\": \"2023-11-07T05:31:56Z\",\n \"isProduction\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.galtea.ai/analytics/export")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"productId\": \"prod_123\",\n \"versionIds\": [\n \"<string>\"\n ],\n \"testIds\": [\n \"test_123\",\n \"test_456\"\n ],\n \"metricIds\": [\n \"metric_123\",\n \"metric_456\"\n ],\n \"languages\": [\n \"<string>\"\n ],\n \"from\": \"2023-11-07T05:31:56Z\",\n \"to\": \"2023-11-07T05:31:56Z\",\n \"isProduction\": true\n}"
response = http.request(request)
puts response.read_body{}{
"error": "Error type",
"message": "Error message description"
}{
"error": "Error type",
"message": "Error message description"
}Authorizations
API key authorization. Pass your API key in the Authorization header as a Bearer token. Both new (gsk_*) and legacy (gsk-) API keys are accepted, e.g. Authorization: Bearer gsk_... or Authorization: Bearer gsk-....
Body
application/json
Product ID (required)
Example:
"prod_123"
Filter by version IDs
Filter by test IDs
Example:
["test_123", "test_456"]Filter by metric IDs
Example:
["metric_123", "metric_456"]Filter by language codes
Start date for filtering
End date for filtering
When set, exports only production (true) or only development (false) data. Omit to include both.
Response
Analytics data exported successfully
Exported analytics data
⌘I