Skip to main content
POST
/
api
/
automl
/
feature-engineering
Create a feature engineering proposal
curl --request POST \
  --url https://api.example.com/api/automl/feature-engineering \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "target_table_name": "<string>",
  "description": "<string>",
  "source_tables": [
    "<string>"
  ],
  "entity_grain": [
    "<string>"
  ],
  "label": {
    "name": "label",
    "type": "binary",
    "column": "<string>",
    "derivation": "<string>",
    "positive_class_value": "<unknown>"
  },
  "domain": "<string>",
  "owner": "<string>",
  "join_hints": "<string>"
}
'
{
  "job_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "target_table_name": "<string>",
  "domain": "<string>",
  "owner": "<string>",
  "created_at": "2023-11-07T05:31:56Z",
  "updated_at": "2023-11-07T05:31:56Z",
  "recipe": {
    "target_table": "<string>",
    "entity_grain": [
      "<string>"
    ],
    "label": {
      "name": "label",
      "type": "binary",
      "column": "<string>",
      "derivation": "<string>",
      "positive_class_value": "<unknown>"
    },
    "features": [
      {
        "name": "<string>",
        "expression": "<string>",
        "source_table": "<string>",
        "description": "<string>",
        "data_type": "<string>"
      }
    ],
    "notes": "<string>"
  },
  "sql": "<string>",
  "validation": {
    "estimated_row_count": 123,
    "label_distribution": {},
    "high_null_columns": {},
    "warnings": [
      "<string>"
    ]
  },
  "error": "<string>"
}

Documentation Index

Fetch the complete documentation index at: https://docs.nx1cloud.com/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

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

Headers

x-correlation-id
string | null

Body

application/json

Top-level request to start a feature engineering proposal.

target_table_name
string
required

Fully qualified output table, e.g. '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 (catalog.schema.table).

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.

Exactly one of column or derivation must be provided. 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

Structured recipe describing the training table the crew designed.

sql
string | null

The CREATE TABLE AS SELECT query the crew produced.

validation
ValidationSummary · object

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

Kept intentionally lean — large agents produce >10KB JSON when this grows (per-column null rates, sample rows), and that often gets cut off by output-token limits. The user can run the SQL to inspect rows themselves; only persist what's cheap and structurally useful.

error
string | null