API Reference
Complete endpoint description for working with datasets.
Base URL
https://workbench.ab-labz.com/api/v1POST /datasets/upload/
Uploads experiment dataset with on-the-fly validation.
Authentication
Authorization: Bearer abn_xxxxxxxxxxxxxxxxxxxxxRequest
URL:
POST /api/v1/datasets/upload/?experiment_id={id}Query Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
experiment_id | string | Yes | Experiment ID. Max 128 characters, only A-Za-z0-9._- |
Headers:
Authorization: Bearer abn_xxxxxxxxxxxxxxxxxxxxx
Content-Type: text/csvBody:
Raw CSV file (binary data). Use --data-binary in cURL or data=file_object in requests.
Important: File is sent as raw body, NOT as multipart/form-data!
Response 201 Created
json
{
"success": true,
"size_mb": 45.32,
"experiment_id": "homepage_test",
"message": "Dataset uploaded successfully"
}Fields:
| Field | Type | Description |
|---|---|---|
success | boolean | Upload status (always true for 201) |
size_mb | float | Size of uploaded file in megabytes |
experiment_id | string | Experiment ID from request |
message | string | Success message |
Errors
| Code | Description | Solution |
|---|---|---|
| 400 | Invalid experiment_id | Use only A-Za-z0-9._-, max 128 characters |
| 400 | Archive detected (ZIP, GZIP, RAR, 7z) | Upload CSV without archiving |
| 400 | File doesn't look like CSV | Check file structure and UTF-8 encoding |
| 401 | Invalid API key | Check format: Bearer abn_... |
| 403 | Organization deactivated | Contact administrator |
| 413 | File too large (>200 MB) | Reduce dataset size or split into parts |
| 500 | Storage error | Retry request in a few seconds |
