Skip to main content
POST
Create a feature engineering proposal

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Body

application/json

Top-level request to start a feature engineering proposal.

target_table_name
string
required

Fully qualified output table. For example iceberg.automl_credit_risk.training_v1. Schema must be under the AutoML namespace.

description
string
required

Natural-language description of the prediction problem.

source_tables
string[]
required

Fully qualified source tables in catalog.schema.table format.

Minimum array length: 1
entity_grain
string[]
required

Columns that uniquely identify a training row.

Minimum array length: 1
label
LabelSpec · object
required

How to derive the label column for the training table.

Provide exactly one of column or derivation. column refers to an existing column or a simple SQL expression over source columns. derivation is a natural-language description that the crew translates into SQL.

domain
string
required

DataHub domain or business domain for governance.

owner
string
required

Username who owns the resulting training table.

join_hints
string | null

Optional natural-language join guidance for the crew.

Response

Crew run started. Poll the job for the proposal.

The crew's proposal returned to the user for review.

job_id
string<uuid>
required
status
enum<string>
required

Lifecycle of an AutoML feature engineering job.

Available options:
running,
pending_approval,
failed,
approved,
materializing,
complete
target_table_name
string
required
domain
string
required
owner
string
required
created_at
string<date-time>
required
updated_at
string<date-time>
required
recipe
FeatureRecipe · object | null

Structured recipe describing the training table the crew designed.

sql
string | null

The CREATE TABLE AS SELECT query the crew produced.

validation
ValidationSummary · object | null

Result of running the CTAS query with a row limit during validation.

Kept intentionally lean. Large agents produce more than 10 KB of JSON when this grows with per-column null rates and sample rows. That often exceeds output-token limits. Run the SQL directly to inspect rows. Only persist what's cheap and structurally useful.

error
string | null