WSO2 Machine Learner 1.1.0 includes revisions made to the REST API since the Machine Learner 1.0.0 release. These modifications include introducing new query parameters, changing path parameters, introducing new APIs etc. However, you can use the previous REST API version if required by making slight modifications to the URI.
In ML 1.1.0, a user can invoke an API by providing the URI in the following three ways.
Method | Example | Outcome |
---|---|---|
Without specifying the version. | https://localhost:9443/api/configs/algorithms | The latest API version (i.e. V11 ) is invoked. |
Specifying V10 as the version | ||
Specifying V11 as the version |
The following are the REST APIs that are implemented in WSO2 Machine Learner.
Entity | Operation | REST API |
---|---|---|
Configuration | Retrieve data from WSO2 Data Analytics Server (DAS) tables | GET /api/configs/das/tables |
Retrieve all algorithms | GET /api/configs/algorithms | |
Retrieve a specific algorithm | GET /api/configs/algorithms/{algorithmName} | |
Retrieve hyper parameters of an algorithm | GET /api/configs/algorithms/{algorithmName}/hyperParams | |
Retrieve summary statistics settings of a dataset | GET /api/configs/summaryStatSettings | |
Dataset | Upload a dataset | POST /api/datasets |
Retrieve all datasets | GET /api/datasets | |
Retrieve all datasets and their versions for a given user | GET /api/datasets/versions | |
Retrieve the dataset of a given dataset ID | GET /api/datasets/{datasetId} | |
Retrieve all version sets of a dataset | GET /api/datasets/{dataset_id}/versions | |
Retrieve version set ID of a given dataset version | GET /api/datasets/{dataset_id}/versions/{version} | |
Retrieve the dataset status of a given dataset ID | GET /api/datasets/{datasetId}/status | |
Retrieve a version set | GET /api/datasets/versions/{versionset_id} | |
Retrieve sample points of a given dataset version | GET /api/datasets/versions/{versionsetId}/sample | |
Retrieve scatter plot points of the latest dataset version | POST /api/datasets/{datasetId}/scatter | |
Retrieve scatter plot points of a dataset version | POST /api/datasets/{versionset_id}/scatter | |
Retrieving chart sample points of the latest dataset version | GET /api/datasets/{datasetId}/charts?features={feature_list} | |
Retrieve chart sample points of a given dataset version for a feature list | GET /api/datasets/versions/{versionsetId}/charts?features={feature_list} | |
Retrieve Cluster points of a dataset for a feature list | GET /api/datasets/ | |
Retrieve filtered feature names of a dataset | ?featureType={featureType} | |
Retrieve summarized statistics of a feature in a dataset | GET /api/datasets/{dataset_id}/stats?feature={feature_name} | |
Delete a dataset | DELETE /api/datasets/{dataset_id} | |
Delete a dataset version of a given dataset ID |
| |
Project | Create a project (with a dataset name) | POST /api/projects |
Retrieve a project | GET /api/projects/{name} | |
Retrieve all projects | GET /api/projects | |
Retrieve all models in a project | GET /api/projects/{project_id}/models | |
Retrieve all analyses of all projects | GET /api/projects/analyses | |
Retrieve all analyses in a project | GET /api/projects/{project_id}/analyses | |
Retrieve a specific analysis of a project | GET /api/projects/{projectId}/analyses/{analysisName} | |
Delete a project | DELETE /api/projects/{name} | |
Analysis (Workflow) | Create a new analysis | POST /api/analyses |
Set customized features for an analysis | POST /api/analyses/{id}/features | |
Load default features as customized features | POST /api/analyses/{id}/features/defaults | |
Retrieve summarized features of an analysis | GET /api/analyses/{analysisId}/summarizedFeatures | |
Retrieve customized features of an analysis | GET /api/analyses/{analysisId}/customizedFeatures | |
Retrieve configurations of an analysis | GET /api/analyses/{analysisId}/configs | |
Retrieve filtered features of an analysis | GET /api/analyses/{analysisId}/filteredFeatures?featureType={featureType} | |
Retrieve features for an analysis | GET /api/analyses/{analysisId}/features | |
Retrieve response variables of an analysis | GET /api/analyses/{analysisId}/responseVariables | |
Retrieve the algorithm name of an analysis | GET /api/analyses/{analysisId}/algorithmName | |
Retrieve the algorithm type of an analysis | GET /api/analyses/{analysisId}/algorithmType | |
Retrieve the train data fraction of an analysis | GET /api/analyses/{analysisId}/trainDataFraction | |
Retrieve the summarized statistics of an analysis | GET /api/analyses/{analysisId}/stats?feature={featureName} | |
Set analysis configurations (e.g. algorithm type) | POST /api/analyses/{id}/configurations | |
Setting hyper parameters for the selected algorithm of an analysis | POST /api/analyses/{id}/hyperParams | |
Retrieve hyper parameters of an analysis | GET /api/analyses/{analysisId}/hyperParameters | |
Loading default hyper parameters for the selected algorithm of an analysis | POST /api/analyses/{id}/hyperParams/defaults | |
Retrieve all analyses | GET /api/analyses | |
Retrieve all models of an analysis | GET /api/analyses/{analysisId}/models | |
Delete an analysis | DELETE /api/analyses/{id} | |
Model | Create a model | POST /api/models |
Add model storage information | POST /api/models/{id}/storages | |
Publish a model | POST /api/models/{id}/publish | |
Make a prediction using a model | POST /api/models/predict | |
Make prediction using a CSV/TSV file | POST /api/models/predictionStreams | |
Predict with a model | POST /api/models/{id}/predict | |
Retrieve a model | GET /api/models/{name} | |
Retrieve all models | GET /api/models | |
Delete a model | DELETE /api/models/{id} | |
Retrieve summary of a model | GET /api/models/{modelId}/summary | |
Export a model | GET /api/models/{name}/export | |
Build a model | POST /api/models/{id} |
The REST APIs are secured with basic authentication. Therefore, follow the steps below to add a basic auth header when calling these methods.
- Build a string of the form username:password.
- Encode the sting you created above using Base64. For encoding the above string using Base64, see Encode to Base64 format.
- Define an authorization header with the term "Basic_", followed by the encoded string. For example, the basic auth authorization header using "admin" as both username and password is as follows:
Authorization: Basic YWRtaW46YWRtaW4=