SymetryML Documentation
Data drift

Fit a drift calculator against reference projects

The request body is a `StringList` of reference project names. The response's `values.dcfitresult` field is a `DriftCalculatorFitResult`: - **`scoreThresholdValues`**: one 4-element array per reference project, ordered `[pcaScore, pcaThreshold, mahalanobisScore, mahalanobisThreshold]`. The two thresholds are identical across all entries (they describe the fitted calculator, not the individual project). - **`featuresUse`**: only populated when a feature subset is in play; omitted otherwise.

POST
/{user}/driftCalculator/{driftCalculatorId}/fit

The request body is a StringList of reference project names.

The response's values.dcfitresult field is a DriftCalculatorFitResult:

  • scoreThresholdValues: one 4-element array per reference project, ordered [pcaScore, pcaThreshold, mahalanobisScore, mahalanobisThreshold]. The two thresholds are identical across all entries (they describe the fitted calculator, not the individual project).
  • featuresUse: only populated when a feature subset is in play; omitted otherwise.

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

driftCalculatorId*string

Drift calculator identifier

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/driftCalculator/dc1/fit" \  -H "Content-Type: application/json" \  -d '{    "values": [      "baseline_prj_0",      "baseline_prj_1",      "baseline_prj_2",      "baseline_prj_3",      "baseline_prj_4"    ]  }'
{  "statusCode": 200,  "statusString": "Fit done",  "values": {    "dcfitresult": {      "scoreThresholdValues": [        [          1.446197277540101,          1.5411297181850343,          6.1574693732769274,          6.772459022565492        ],        [          0.4316696569278699,          1.5411297181850343,          0.05628595924314145,          6.772459022565492        ],        [          0.43287084814230387,          1.5411297181850343,          0.5248063735727675,          6.772459022565492        ],        [          0.4576381751887788,          1.5411297181850343,          1.0097009755452868,          6.772459022565492        ],        [          0.48238005286974184,          1.5411297181850343,          1.3972780586104672,          6.772459022565492        ]      ]    }  }}

{  "statusCode": 500,  "statusString": "Generic Exception [java.lang.IllegalArgumentException: referenceProjects must not be empty]",  "values": {}}