Learn then predict (or predict then learn) in one call
Combines a learn (DEM update) and a prediction in a single request against a large inline `DataFrame`. `{model}` accepts a comma-separated list of model ids to run in one call, not just a single model. The response is the input `DataFrame` filtered down to the columns named in `keepColumns` plus each model's derived result/score columns (`{model}::...`). Every failure is reported as **400** with the raw Java exception `toString()` as the message — there is no separate 500 path, unlike `Predict`/`DSPredict`. An unknown project, for example, surfaces this way as a bare `NullPointerException` with no further detail.
Combines a learn (DEM update) and a prediction in a single request
against a large inline DataFrame. {model} accepts a
comma-separated list of model ids to run in one call, not just a
single model. The response is the input DataFrame filtered down to
the columns named in keepColumns plus each model's derived
result/score columns ({model}::...).
Every failure is reported as 400 with the raw Java exception
toString() as the message — there is no separate 500 path, unlike
Predict/DSPredict. An unknown project, for example, surfaces this
way as a bare NullPointerException with no further detail.
Authorization
SymetryMLAuth HMAC-SHA256 signature-based authentication: requests are signed with
your secret key and sent with the Customer-ID, Sym-date,
Authorization, Content-MD5 and sym-version headers.
See SymetryML REST API Security
for the signature algorithm and a complete example.
In: header
Path Parameters
User/Customer identifier
Project identifier
Model identifier
Query Parameters
Comma-separated list of input column names to retain in the response, alongside each model's derived columns.
If true, predict on the data before learning from it; if false, learn first.
trueIf true, rebuild the model from scratch instead of incrementally updating it.
falseRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
curl -X POST "https://example.com/c1/projects/nbra_prj_iris/learnpredict/nbra_prj_iris_build_1?keepColumns=ts" \ -H "Content-Type: application/json" \ -d '{}'{ "statusCode": 200, "statusString": "processed", "values": { "dataframe": { "attributeNames": [ "ts", "rivitt_ecod::ecodscore", "rivitt_ecod::res" ], "data": [ [ "1.751687176608E12", "6.29748653149471", "0" ], [ "1.751687176857E12", "4.838304924166606", "0" ], [ "1.751687177108E12", "11.703184262878853", "0" ] ] } }}{ "statusCode": 400, "statusString": "java.lang.NullPointerException", "values": {}}Predict using data source POST
Schedules an asynchronous prediction job reading from the `indsname` data source and either writing to the `outdsname` data source, or (if `outdsname` is omitted) returning results as an inline `DataFrame` via job status. `indsname`, `outdsname`, and `impute` are the only query parameters the server reads. An unknown **input** data source name fails synchronously with a raw, unhandled `NullPointerException` reported as `500`. An unknown **output** data source name does not fail synchronously at all — the job is still accepted (`202`) and only fails asynchronously, visible via job status.
Predict from an inline data frame POST
Synchronous prediction against a small inline `DataFrame` (as opposed to `dss/predict`, which predicts from/to registered data sources via an async job). Each row is predicted individually; the response's `KSVSMap` has one entry per input row, in the same order. If any input attribute name isn't recognized by the model, the request still succeeds — unrecognized attributes are silently ignored; only when **every** attribute name is unrecognized does the call fail with `500 "No known input attributes"`.