Create training job
Compile the training graph and hand it to the scheduler.
The router’s responsibility ends at “ship the DTO”: validate the request
(RBAC + spec coherence), build the dataset and check it against the
caller’s role-shape limits, then hand the built dataset to
:func:_submit_training_run, which compiles the graph, cloudpickles the
context to S3, and puts a :class:RequestToComputeGraph on the
in-process inbox. The scheduler owns the jobs and computation_node
tables and INSERTs both atomically; the router awaits the one-shot reply
future on the submission for the minted job_id and returns that
resource id.
All validation/assertion lives here, before the submit — the submit step only submits.
Authorizations
An API key or OAuth2/OIDC access token sent as Authorization: Bearer <token>.
Body
Serialized DataFrame plan over the org's registered sources. The server rebuilds the org's Context, deserializes this against it, and materializes the (possibly filtered/derived) training rows. The leaf source must be a registered source_table.
Caller-supplied tags echoed on the training job resource.
Learning task and its target columns (a discriminated union on task_kind). Required for supervised training.
- Regression
- Binclass
- Multiclass
- Forecasting
- SequenceRegression
- SequenceBinclass
- SequenceMulticlass
The search space: candidate model families and, per family, which hyperparameters are fixed vs searched (Float/Int/Categorical/Mixture). If omitted, the server picks a default space based on dataset shape.
Metric names to optimise, e.g. ['auc'] or ['auc', 'neg_class_error']. A list of metrics is optimised jointly via Optuna's native multi-objective (Pareto) search, with no metric privileged. Custom Python callables are not supported in v1.
How to search the space: sampler ('tpe'/'random'/'cmaes') and a round-structured trial budget (n_trials_per_step proposed per round x n_steps rounds). If omitted, the server uses a default optimizer.
K-fold cross-validation folds. None means a single holdout split.
If true, build a Caruana-style ensemble across stage-1 fold/trial models instead of refitting the winner on full data.
Response
Successful Response