List experiments
List the calling location's geo experiments, newest first. Both ak_ and sk_ keys may read.
curl -X GET "https://mythic-analytics.gulp.workers.dev/client/v1/incrementality/experiments" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN"
import requests
import json
url = "https://mythic-analytics.gulp.workers.dev/client/v1/incrementality/experiments"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
}
response = requests.get(url, headers=headers)
print(response.json())
const response = await fetch("https://mythic-analytics.gulp.workers.dev/client/v1/incrementality/experiments", {
method: "GET",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
}
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
)
func main() {
req, err := http.NewRequest("GET", "https://mythic-analytics.gulp.workers.dev/client/v1/incrementality/experiments", nil)
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
require 'net/http'
require 'json'
uri = URI('https://mythic-analytics.gulp.workers.dev/client/v1/incrementality/experiments')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['Content-Type'] = 'application/json'
request['Authorization'] = 'Bearer YOUR_API_TOKEN'
response = http.request(request)
puts response.body
{
"success": true,
"data": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"location_id": "example_string",
"name": "John Doe",
"channel": "meta",
"status": "draft",
"definition": {
"test_regions": [
"California",
"Texas"
],
"control_regions": [
"Ohio",
"Georgia"
],
"pre_window": {
"from": "2026-05-01",
"to": "2026-05-31"
},
"test_window": {
"from": "2026-05-01",
"to": "2026-05-31"
},
"revenue": {
"source": "event",
"measure": "revenue",
"event_name": "purchase",
"json_path": "$.value",
"timezone": "America/New_York",
"table": "transactions",
"column": "amount",
"region_col": "state",
"date_col": "created_date"
},
"spend": {
"source": "geo_stream",
"region_col": "region",
"table": "example_string",
"campaign_ids": [
"example_string"
],
"name_pattern": "John Doe",
"account_id": "example_string",
"purchase_action_type": "lead"
},
"geo_inherit": true,
"daily_budget": 500,
"mde_iroas": 3.14,
"design_lookback_days": 42,
"cooldown_days": 42,
"exclude_dates": [
"2024-12-25"
],
"alert_webhook_url": "example_string"
},
"design": {
"ok": true,
"reason": "example_string",
"recommended_days": 28,
"raw_days": 42,
"sigma_daily": 3.14,
"scaling_k": 3.14,
"baseline_days": 42,
"baseline_window": {
"from": "2026-05-01",
"to": "2026-05-31"
},
"assumptions": {
"daily_budget": 3.14,
"mde_iroas": 3.14,
"alpha": 3.14,
"power": 3.14
}
},
"progress": {
"phase": "pending",
"days_total": 42,
"test_days": 42,
"cooldown_days": 42,
"days_elapsed": 42,
"days_remaining": 42,
"percent": 42,
"recommended_days": 42,
"underpowered": true
},
"result": {
"incremental_revenue": 3.14,
"test_spend": 3.14,
"platform_revenue": 3.14,
"iroas": 3.14,
"platform_roas": 3.14,
"coefficient": 1.15,
"ci_width": 3.14,
"se_lift": 3.14,
"sigma_daily": 3.14,
"se_iroas": 3.14,
"se_coefficient": 3.14,
"z_score": 3.14,
"confidence": 0.97,
"p_value": 3.14,
"significant": true,
"two_sided_significant": true,
"iroas_ci": [
3.14
],
"coefficient_ci": [
3.14
],
"partial": true,
"series_key": "example_string",
"spend_currency": "example_string",
"spend_data_through": "2024-12-25",
"pre_days": 42,
"post_days": 42,
"control_weights": {},
"fit_r2": 3.14,
"outlier_days": [
"2024-12-25"
],
"excluded_dates": [
"2024-12-25"
],
"control_shift_z": 3.14,
"warnings": [
"example_string"
],
"test_pre": 3.14,
"test_post": 3.14,
"control_pre": 3.14,
"control_post": 3.14,
"computed_at": "2024-12-25T10:00:00Z"
},
"created_at": "2024-12-25T10:00:00Z",
"updated_at": "2024-12-25T10:00:00Z"
}
]
}
{
"error": "Unauthorized",
"message": "Authentication required. Please provide a valid API token",
"code": 401
}
{
"error": "Too Many Requests",
"message": "Rate limit exceeded. Please try again later",
"code": 429,
"retryAfter": 3600
}
GET
/client/v1/incrementality/experiments
GET
Base URLstring
Target server for requests. Edit to use your own host.
Bearer Token
Bearer Tokenstring
RequiredClient key as bearer token. Use an agency key (Bearer ak_...) for read-write access or a location secret key (Bearer sk_...) for read-only access. Scoped keys (mcp_) are accepted too and need incrementality:read or incrementality:write. See Using an mcp_ key over HTTP.
Client key as bearer token. Use an agency key (
Bearer ak_...) for read-write access or a location secret key (Bearer sk_...) for read-only access. Scoped keys (mcp_) are accepted too and need incrementality:read or incrementality:write. See Using an mcp_ key over HTTP.
Request Preview
Response
Response will appear here after sending the request
Authentication
header
Authorizationstring
RequiredBearer token. Client key as bearer token. Use an agency key (Bearer ak_...) for read-write access or a location secret key (Bearer sk_...) for read-only access. Scoped keys (mcp_) are accepted too and need incrementality:read or incrementality:write. See Using an mcp_ key over HTTP.
Responses
successboolean
dataarray
Was this page helpful?