API Overview
The API allows you to programmatically upload experiment datasets to AB-Labz Workbench without manual upload through the UI.
Advantages of Uploading via API
1. Monitoring Experiments on Dashboard
You can monitor all experiments on the dashboard. However, automatic analysis after each submission of updated data is available only for experiments that are delivered via API:
- Distribution Correctness (SRM) — checking the correctness of traffic split between groups
- Accumulated Sample — current size and percentage of target sample achievement
- Win Probability Forecast — probability estimate of winning by key metric
2. Automatic Synchronization
With configured synchronization, there is no need to manually export data, each new experiment becomes immediately available in the data upload list.
How It Works
Dataset upload is performed with one request:
POST /api/v1/datasets/upload/?experiment_id=<id>The file is uploaded directly to the server with on-the-fly validation:
- Size check (200 MB limit)
- CSV structure and UTF-8 encoding validation
Quick Start
python
import requests
API_KEY = 'abn_xxxxxxxxxxxxx'
BASE_URL = 'https://workbench.ab-labz.com/api/v1'
FILE_PATH = 'dataset.csv'
# One-step upload with validation
with open(FILE_PATH, 'rb') as f:
response = requests.post(
f'{BASE_URL}/datasets/upload/',
params={'experiment_id': 'test_exp_001'},
headers={
'Authorization': f'Bearer {API_KEY}',
'Content-Type': 'text/csv'
},
data=f
)
if response.status_code == 201:
print(f"Uploaded: {response.json()['size_mb']} MB")Bash (cURL)
bash
curl -X POST "https://workbench.ab-labz.com/api/v1/datasets/upload/?experiment_id=test_exp" \
-H "Authorization: Bearer abn_xxxxxxxxxxxxx" \
-H "Content-Type: text/csv" \
--data-binary @dataset.csvAfter upload, the dataset is immediately available for analysis in the UI via Data Preparation → Get via API.
