Estimate density distribution
Compute a histogram-based density estimate for one attribute per `values[]` entry. - **Synchronous** — the result is returned directly in this response, not via a job. - **Exactly one `inputAttributeNames` value per entry** (by name only — `inputAttributes`/index is not supported here); more than one raises a `500`. - **Histograms must be enabled on the project** (`histogramEnabled`/`buildHistogram`), or every entry fails with a `400`. A request body missing the top-level `values` array entirely (e.g. sending the `extraParameters` object directly as the body) is **not** an error — it silently returns `200` with an empty `densityList.values`. The request body is an **ExploreContext** object: `{"values": [<MLContext>, ...]}` — one `MLContext` entry per attribute to estimate.
Compute a histogram-based density estimate for one attribute per values[] entry.
- Synchronous — the result is returned directly in this response, not via a job.
- Exactly one
inputAttributeNamesvalue per entry (by name only —inputAttributes/index is not supported here); more than one raises a500. - Histograms must be enabled on the project (
histogramEnabled/buildHistogram), or every entry fails with a400.
A request body missing the top-level values array entirely (e.g. sending the
extraParameters object directly as the body) is not an error — it silently
returns 200 with an empty densityList.values.
The request body is an ExploreContext object: {"values": [<MLContext>, ...]} —
one MLContext entry per attribute to estimate.
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
Query Parameters
Thread pool size for parallel histogram computation
10For a federated project, use the local project instead of resolving a peer
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/densityEstimate?useLocal=true" \ -H "Content-Type: application/json" \ -d '{ "values": [ { "inputAttributeNames": [ "sepal_length" ], "targets": [], "extraParameters": { "hist_bins": "10", "hist_is_normalized": "true" } }, { "inputAttributeNames": [ "sepal_width" ], "targets": [], "extraParameters": { "hist_bins": "10", "hist_is_normalized": "true" } } ] }'{ "statusCode": 200, "statusString": "OK", "values": { "densityList": { "values": [ { "attrName": "sepal_length", "min": 5.800000000000001, "max": 7.7, "width": 0.18999999999999995, "histogram": [ 0.75, 1, 1, 1, 0.8333333333333334, 0.5833333333333334, 0.16666666666666666, 0.3333333333333333, 0.08333333333333333, 0.4166666666666667 ], "valueForMissing": -1 } ] } }}{ "statusCode": 400, "statusString": "Histograms for project id[nbra_prj_iris] for Customer id [c1] are not enabled", "values": {}}Estimate conditional density distribution POST
Compute a histogram-based conditional density estimate — the distribution of a target attribute given a conditioning attribute — for one attribute pair per `values[]` entry. Synchronous — the result is returned directly in this response, not via a job. - **Exactly 2 `inputAttributeNames` values per entry, in order**: `[conditionalAttribute, targetAttribute]`. Any count other than 2 raises a `500` (an uncaught exception, not a clean validation error). - **Histograms must be enabled on the project** (`histogramEnabled`/`buildHistogram`, e.g. via `enableHistogram=true` on project creation), or every entry fails with a `400`. The request body is an **ExploreContext** object: `{"values": [<MLContext>, ...]}` — one `MLContext` entry per attribute pair to estimate.
Explore data POST
Perform various statistical analyses and data exploration including univariate, bivariate, chi-square tests, z-tests (including known-mean/proportion variants), t-tests, F-tests, ANOVA, and information gain. Supports both attribute indices and names. Unlike VIF/SVD/PCA/SVD-feature-selection, this endpoint can run **synchronously**: when `async` is omitted or `false`, the result is returned directly in this response, wrapped the same way a Job Status Response would be (`values.KSVDMap`, plus `values.smlInfo` when `returnProjectInfo` is true). When `async=true`, this call instead returns `202` and the result must be fetched from [Get job information](/docs/api-reference/jobs/jobs-jobid-get). The request body is an **ExploreContext** object: `{"values": [<MLContext>, ...]}` — one `MLContext` entry per exploration to run in this call.