SymetryML Documentation
Models

Create EVT wrapper

Wraps an existing anomaly model's score with an online Extreme Value Theory tail threshold, so subsequent `predict` calls on that model add `evt_is_anomaly`/`evt_threshold`/`evt_anomaly_confidence` fields to the response instead of just the raw score. This is a synchronous call (not a scheduled job — no `sym-job-id` header). The request body is a **flat** map of strings (not `MLContext`); it is not wrapped in a `dataframe`/`mlcontext` envelope.

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

Wraps an existing anomaly model's score with an online Extreme Value Theory tail threshold, so subsequent predict calls on that model add evt_is_anomaly/evt_threshold/evt_anomaly_confidence fields to the response instead of just the raw score. This is a synchronous call (not a scheduled job — no sym-job-id header). The request body is a flat map of strings (not MLContext); it is not wrapped in a dataframe/mlcontext envelope.

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

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/c1/projects/nbra_prj_iris/nbra_prj_iris_build_1/evtwrapper" \  -H "Content-Type: application/json" \  -d '{    "sml_evt_wrapper_res_key": "ecodscore",    "evt_warmup_size": "2000",    "evt_alpha": "0.00001",    "evt_quantile": "98",    "evt_tdigest": "true",    "evt_window_size": "1000",    "evt_max_exceedances": "1000",    "evt_grimshaw": "true"  }'
{  "statusCode": 200,  "statusString": "EVT Wrapper created for model [zmodel]",  "values": {}}

{  "statusCode": 400,  "statusString": "Cannot find project [nonexistent_prj_xyz] for user:[c1]",  "values": {}}

{  "statusCode": 500,  "statusString": "Generic Exception [java.lang.Exception: No such model with name [bad_model]]",  "values": {}}