Skip to main content

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

ParameterTypeRequiredDescription
statusstringNoFilter by status: queued, running, completed, failed, stopped
searchstringNoSearch by job name or description
limitintegerNoNumber of results to return (default: 20)
offsetintegerNoNumber of results to skip (default: 0)
sortstringNoSort 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
}
}
FieldTypeRequiredDescription
namestringYesHuman-readable job name
datasetstringYesDataset ID or path to use for training
targetColumnstringYesName of the column to predict
problemTypestringNoProblem type: binary_classification, multiclass_classification, regression, time_series. Auto-detected if omitted
predictorTypestringNoPredictor type: tabular, text, image, multimodal (default: tabular)
presetstringNoQuality preset: best_quality, high_quality, good_quality, medium_quality (default: best_quality)
timeLimitintegerNoMaximum training time in seconds (default: 3600)
metricstringNoOptimization metric (e.g. f1, accuracy, rmse, auc). Auto-selected based on problem type if omitted
featureColumnsstring[]NoSpecific columns to use as features. All non-target columns used if omitted
labelColumnstringNoLabel column name if different from target
dataSourcestringNoData source ID to read the dataset from
hardwarestringNoHardware configuration ID for the job
advancedobjectNoAdvanced 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

ParameterTypeRequiredDescription
idstringYesAutoML 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

ParameterTypeRequiredDescription
idstringYesAutoML 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

ParameterTypeRequiredDescription
idstringYesAutoML 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

ParameterTypeRequiredDescription
idstringYesAutoML 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

ParameterTypeRequiredDescription
idstringYesAutoML job ID

Query Parameters

ParameterTypeRequiredDescription
linesintegerNoNumber of log lines to return (default: 100)
sincestringNoReturn 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"
}
]
}