AutoML
Create, manage, and monitor automated machine learning jobs. AutoML automatically selects the best model architecture, hyperparameters, and feature engineering for your dataset and prediction task.
All endpoints require authentication via X-API-Key header and the appropriate scope.
AutoMLJob Object
{
"id": "aml_abc123",
"name": "Churn Prediction Model",
"status": "running",
"description": "Predicting customer churn from usage and billing data",
"dataset": "ds_customers_001",
"problemType": "binary_classification",
"predictorType": "tabular",
"owner": "user_456",
"organizationId": "org_xyz",
"targetColumn": "churned",
"preset": "best_quality",
"timeLimit": 3600,
"startedAt": "2025-02-01T10:00:00Z",
"finishedAt": null,
"error": null,
"createdAt": "2025-02-01T09:55:00Z",
"updatedAt": "2025-02-01T12:30:00Z"
}
GET /api/v1/automl/jobs
List all AutoML jobs accessible to the authenticated user.
Scope: ml-workbench:read
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
status | string | No | Filter by status: queued, running, completed, failed, stopped |
search | string | No | Search by job name or description |
limit | integer | No | Number of results to return (default: 20) |
offset | integer | No | Number of results to skip (default: 0) |
sort | string | No | Sort field and direction, e.g. createdAt:desc |
Response 200 OK
{
"count": 10,
"limit": 20,
"offset": 0,
"jobs": [
{
"id": "aml_abc123",
"name": "Churn Prediction Model",
"status": "running",
"description": "Predicting customer churn from usage and billing data",
"dataset": "ds_customers_001",
"problemType": "binary_classification",
"predictorType": "tabular",
"owner": "user_456",
"organizationId": "org_xyz",
"targetColumn": "churned",
"preset": "best_quality",
"startedAt": "2025-02-01T10:00:00Z",
"finishedAt": null,
"createdAt": "2025-02-01T09:55:00Z",
"updatedAt": "2025-02-01T12:30:00Z"
}
]
}
POST /api/v1/automl/jobs
Create a new AutoML job.
Scope: ml-workbench:write
Request Body
{
"name": "Churn Prediction Model",
"dataset": "ds_customers_001",
"targetColumn": "churned",
"problemType": "binary_classification",
"predictorType": "tabular",
"preset": "best_quality",
"timeLimit": 3600,
"metric": "f1",
"featureColumns": ["usage_days", "monthly_spend", "support_tickets", "plan_type"],
"labelColumn": "churned",
"dataSource": "ds_postgres_main",
"hardware": "gpu-a100-40gb",
"advanced": {
"excludeModels": ["KNN"],
"enableEnsemble": true
}
}
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Human-readable job name |
dataset | string | Yes | Dataset ID or path to use for training |
targetColumn | string | Yes | Name of the column to predict |
problemType | string | No | Problem type: binary_classification, multiclass_classification, regression, time_series. Auto-detected if omitted |
predictorType | string | No | Predictor type: tabular, text, image, multimodal (default: tabular) |
preset | string | No | Quality preset: best_quality, high_quality, good_quality, medium_quality (default: best_quality) |
timeLimit | integer | No | Maximum training time in seconds (default: 3600) |
metric | string | No | Optimization metric (e.g. f1, accuracy, rmse, auc). Auto-selected based on problem type if omitted |
featureColumns | string[] | No | Specific columns to use as features. All non-target columns used if omitted |
labelColumn | string | No | Label column name if different from target |
dataSource | string | No | Data source ID to read the dataset from |
hardware | string | No | Hardware configuration ID for the job |
advanced | object | No | Advanced configuration options (excludeModels, enableEnsemble, etc.) |
Response 201 Created
{
"id": "aml_abc123",
"name": "Churn Prediction Model",
"status": "queued",
"createdAt": "2025-02-01T09:55:00Z"
}
GET /api/v1/automl/jobs/:id
Get a single AutoML job by ID.
Scope: ml-workbench:read
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | AutoML job ID |
Response 200 OK
Returns the full AutoMLJob object.
DELETE /api/v1/automl/jobs/:id
Delete an AutoML job. Running jobs must be stopped before deletion.
Scope: ml-workbench:write
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | AutoML job ID |
Response 204 No Content
POST /api/v1/automl/jobs/:id/stop
Stop a running AutoML job. The job will be marked as stopped and training will be terminated.
Scope: ml-workbench:write
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | AutoML job ID |
Response 200 OK
{
"id": "aml_abc123",
"status": "stopped",
"message": "AutoML job stopped successfully"
}
POST /api/v1/automl/jobs/:id/deploy
Deploy the best model from a completed AutoML job. Makes the model available for inference via the model registry.
Scope: ml-workbench:write
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | AutoML job ID |
Response 200 OK
{
"id": "aml_abc123",
"modelId": "model_xyz789",
"modelName": "Churn Prediction Model - Best",
"status": "deployed",
"message": "Best model deployed successfully"
}
GET /api/v1/automl/jobs/:id/logs
Retrieve training logs for an AutoML job.
Scope: ml-workbench:read
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | AutoML job ID |
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
lines | integer | No | Number of log lines to return (default: 100) |
since | string | No | Return logs after this ISO 8601 timestamp |
Response 200 OK
{
"jobId": "aml_abc123",
"logs": [
{
"timestamp": "2025-02-01T10:00:05Z",
"level": "info",
"message": "AutoML job started - problem type: binary_classification"
},
{
"timestamp": "2025-02-01T10:02:15Z",
"level": "info",
"message": "Feature engineering completed - 12 features generated"
},
{
"timestamp": "2025-02-01T10:15:30Z",
"level": "info",
"message": "Model training: LightGBM completed - f1: 0.891"
}
]
}
GET /api/v1/automl/stats
Get aggregate statistics for AutoML jobs in the organization.
Scope: ml-workbench:read
Response 200 OK
{
"total": 10,
"running": 1,
"completed": 6,
"failed": 2,
"queued": 1
}
GET /api/v1/automl/datasets
List available datasets that can be used for AutoML jobs.
Scope: ml-workbench:read
Response 200 OK
{
"datasets": [
{
"id": "ds_customers_001",
"name": "Customer Data Q4 2024",
"rows": 150000,
"columns": 24,
"sizeBytes": 45000000,
"format": "csv",
"createdAt": "2025-01-10T08:00:00Z"
},
{
"id": "ds_transactions_002",
"name": "Transaction History",
"rows": 2500000,
"columns": 18,
"sizeBytes": 320000000,
"format": "parquet",
"createdAt": "2025-01-12T14:30:00Z"
}
]
}