SymetryML Documentation
Predictions

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.

POST
/{user}/projects/{project}/learnpredict/{model}

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
AuthorizationBearer <token>

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*string

User/Customer identifier

project*string

Project identifier

model*string

Model identifier

Query Parameters

keepColumns?string

Comma-separated list of input column names to retain in the response, alongside each model's derived columns.

predictBeforeLearn?boolean

If true, predict on the data before learning from it; if false, learn first.

Defaulttrue
rebuildModel?boolean

If true, rebuild the model from scratch instead of incrementally updating it.

Defaultfalse

Request 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": {}}