Automated Machine Learning
Machine Learning Pipeline Automation
Base URLs:
- https://example.com/mlPipelineAutomation
Terms of service Email: SAS Developers Web: SAS Developers License: SAS Institute Inc.
Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
The Machine Learning Pipeline Automation (MLPA) API enables CRUD operations on automation projects, which automates VDMML project creation, pipeline building and training, and the production of champion models.
Usage Notes
Overview
The Machine Learning Pipeline Automation API provides a set of endpoints that automates training predictive models. Business users can use these models to make business decisions.
Leveraging statistics and machine learning expertise at SAS, the Machine Learning Pipeline Automation API takes modeling-ready data, and does the following:
- executes data pre-processing steps (including optimal transformations and imputations, variable selection and feature engineering)
- generates data analysis pipelines
- trains algorithms
- optimizes models that can be used to predict outcomes or support business decisions
Once initiated, this automated process requires no further user input, which removes manual and repetitive tasks from the business user workflow.
The service runs multiple steps of pre-processing, modeling, post-processing (ensembling), and evaluates top models. The result is a dynamic, automated machine learning project that is transparent to the user. The project is accessible from SAS Model Studio, with model assessment and interpretability reports. The accuracy backed by the leading machine learning libraries helps empower businesses to make decisions in an agile environment. No statistics expertise is required.
Terminology
Table of Contents generated with DocToc
- Automation Project
- SAS Visual Data Mining and Machine Learning
- SAS Visual Data Mining and Machine Learning project
Automation Project
a parent project of a SAS Visual Data Mining and Machine Learning project. There is a one-to-one relationship between an automation project and a SAS Visual Data Mining and Machine Learning project.
SAS Visual Data Mining and Machine Learning
software that combines data mining and machine learning using an in-memory processing environment. For more information, see SAS Visual Data Mining and Machine Learning.
SAS Visual Data Mining and Machine Learning project
a project that is accessible in Model Studio, also called an analytics project. For more information, see the documentation on SAS.com. Reference these videos to learn more about Model Studio.
Error Codes
HTTP Status Code | Error code | Description | Remediation |
---|---|---|---|
400 | 92406 | An error occurred when creating a new exception for an error. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
400 | 92412 | The automation project request did not contain a link to a pipeline template. | Resubmit the request with a link to the desired pipeline template. |
400 | 92418 | The option to replace previous pipelines during the retrain operation is not valid for projects that are built using a pipeline template. | Remove the option to replace the previous pipelines and resubmit the retrain request. |
400 | 92421 | The update of the pipeline build method is not permitted. | Resubmit the update request without updating the pipeline build method. |
400 | 92430 | The operation to update the automation project is not allowed. | Check your request and project state. |
400 | 92442 | The automation project could not be created because the required analytics project attributes were not provided. | You must specify 'analyticsProjectAttributes' section with 'targetVariable' attribute in the request. |
400 | 92444 | The user-specified action for the champion model is unsupported. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
400 | 92448 | No provider was found to process the job. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
400 | 92449 | The processing of the job expected one provider, but more than one provider was found. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
400 | 92450 | The job properties did not pass the provider validation. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
400 | 92482 | There was an error scoring data. | Make sure that the underlying analytics project is not deleted. Also check the request has valid destination name, score type, and score data input. |
400 | 92483 | The score data request did not pass validation. | The automation project and the underlying analytics project must be valid. Ensure that the champion model is successfully published. |
400 | 92498 | The destination specified for publishing the champion model does not exist. | The list of available publish destinations can be found in the champion model information. |
400 | 92499 | The specified pipeline template could not be retrieved. | Resubmit the request with a valid pipeline template. |
400 | 92501 | The project could not be retrained because it is not in a terminal state. | The project can be retrained when it is in one of the three states: completed, canceled, or failed. |
400 | 92502 | A project name is required. | Submit the project request using a valid project name. The project name is required and must contain at least one non-whitespace character. |
400 | 92503 | The pipeline build method of "automatic" and the link to a pipeline template are both specified in the automation project request. | Either specify pipeline build method of "automatic" without the link to a pipeline template, or specify pipeline build method of "template" with the link to a pipeline template. |
400 | 92504 | The event level information could not be retrieved for the analytics project because the service request failed. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
400 | 92518 | The request body could not be deserialized. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
400 | 92552 | The champion model for the project is not published. | Publish the champion model to the Micro Analytics Score Service and resubmit the request. |
400 | 92554 | The resource ID is missing on the request. | Resubmit the request and specify the resource id. |
404 | 92422 | No automation project with the provided entity ID can be found. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
404 | 92445 | The champion model was not found. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
409 | 92434 | The attempted transition of the automation project state is not permitted. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
409 | 92435 | The state transition failed because of a null value of the automation project or desired state. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92400 | The URI syntax is garbled. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92401 | A service returned an unexpected empty response. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92402 | There was an error retrieving the CAS server information. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92403 | There was an error ending the CAS session. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92404 | A resource link could not be found. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92405 | An error was encountered while attempting to create a CAS session. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92407 | There was an error reading the code template. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92408 | An error occurred when retrieving sessions from the CAS server. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92409 | An error occurred when finding a session in the CAS server. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92410 | An error occurred when creating a client interface to a CAS session. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92411 | An error occurred when invoking an action on a CAS client. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92414 | A service returned an error status code. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92415 | An error occurred when saving an automation project. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92417 | An error occurred when submitting a job for execution. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92420 | The analytics project could not be found. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92423 | The underlying analytics project could not be created for the automation project. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92424 | The query returned null. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92430 | An error occurred while updating an automation project. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92432 | An error occurred while fetching a CAS table. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92433 | An error occurred while building a pipeline. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92446 | The CAS table could not be updated. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92447 | The job could not be updated. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92451 | The project caslib could not be retrieved. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92452 | The pipeline could not be generated. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92455 | The project retrain could not be started. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92456 | The project pipelines could not be run. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92457 | The project pipelines could not be created. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92458 | The project pipelines could not be retrieved. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92459 | The pipeline could not be deleted. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92461 | The pipeline generation job could not be run. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92462 | The job logger could not be retrieved. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92463 | The logger could not be added to the job. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92464 | The job logger could not be flushed. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92484 | The score data request has failed. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92497 | The job logger could not be retrieved. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92500 | The job for the pipeline could not be canceled. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92505 | The target event level for the analytics project could not be specified. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92506 | The project value for the analytics project could not be retrieved. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92507 | The project value for the analytics project could not be updated. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92510 | The variable metadata updated event could not be processed. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92511 | The pipeline creation status could not be updated. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92512 | The variable metadata could not be retrieved. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92513 | The collection of projects could not be retrieved from the repository. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92514 | The project could not be retrieved from the repository. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92515 | The project could not be created. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92516 | The project could not be updated. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92517 | An error occurred while checking if the project exists. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92519 | A query to the root context of a service failed. This usually indicates that the service is down. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92520 | A request to another service could not be generated from a link. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92521 | The response from a support service could not be parsed. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92522 | Multiple Automation Projects are associated with a given Analytics Project ID. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92523 | The project could not be prepared. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92524 | The target could not be set on the project. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92525 | There was a user authentication error. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92526 | The project pipeline could not be prepared. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92527 | The project failed to enter the waiting state. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92528 | The project failed to perform tasks in the waiting state. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92529 | The job request could not be submitted. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92530 | There was an error retrieving the analytics project. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92531 | There was an error handling the champion model calculated event. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92532 | The project settings could not be prepared. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92533 | The project could not be updated. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92534 | The metadata tables could not be loaded. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92535 | The content could not be loaded to CAS. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92536 | Error processing the non-generated pipeline event. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92537 | Error processing pipeline completion. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92538 | The automation job completion event could not be handled. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92539 | The project action output table could not be read. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92540 | A unique pipeline name could not be calculated. | An error has been encountered that indicates a software issue. Contact SAS Technical Support and provide the message and error code. |
500 | 92541 | A property is missing for the analytics project. | An error has been encountered that indicates a software issue. Contact SAS Technical Support and provide the message and error code. |
500 | 92542 | Oversampling could not be performed. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92543 | There was an error clearing the data partition for the analytics project. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92544 | The data node could not be run for a project. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92545 | The CASL results could not be processed. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92546 | The component template could not be retrieved. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92547 | The JSON PATCH could not be applied to the pipeline. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92548 | The string could not be parsed. | An error has been encountered that indicates a software issue. Contact SAS Technical Support and provide the message and error code. |
500 | 92549 | The action parameter is missing on the champion model request. | An error has been encountered that indicates a software issue. Contact SAS Technical Support and provide the message and error code. |
500 | 92550 | The event could not be handled. | An error has been encountered that indicates a software issue. Contact SAS Technical Support and provide the message and error code. |
500 | 92551 | The collection of published models could not be retrieved. | An error has been encountered that indicates a software issue. Contact SAS Technical Support and provide the message and error code. |
500 | 92553 | Multiple published models exist with the same name. | An error has been encountered that indicates a software issue. Contact SAS Technical Support and provide the message and error code. |
500 | 92555 | The CASL job is invalid. | An error has been encountered that indicates a software issue. Contact SAS Technical Support and provide the message and error code. |
500 | 92556 | The publish destination could not be validated. | An error has been encountered that indicates a software issue. Contact SAS Technical Support and provide the message and error code. |
500 | 92557 | The project could not be deleted from the repository. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92558 | The pipeline comparison results could not be generated for the analytics project. | An error has been encountered that indicates a software issue. Contact SAS Technical Support and provide the message and error code. |
500 | 92559 | The champion model information could not be found in the pipeline comparison results. | An error has been encountered that indicates a software issue. Contact SAS Technical Support and provide the message and error code. |
500 | 92560 | The summary reports for the analytics project could not be retrieved. | An error has been encountered that indicates a software issue. Contact SAS Technical Support and provide the message and error code. |
500 | 92561 | The reports for the champion model could not be retrieved. | An error has been encountered that indicates a software issue. Contact SAS Technical Support and provide the message and error code. |
500 | 92562 | There was an error deleting the analytics project. | An error has been encountered that indicates a software issue. Contact SAS Technical Support and provide the message and error code. |
500 | 92563 | There was an error validating the automation project. | An error has been encountered that indicates a software issue. Contact SAS Technical Support and provide the message and error code. |
500 | 92564 | The ETag did not match the provided value. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92565 | The job could not be associated with the parent job. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92566 | An error occurred transitioning the automation resources to a terminal state. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
500 | 92567 | The automation project could not be quiesced. | An unexpected software error has occurred. Contact your system administrator, and provide the message and error code. |
Operations
AutomationProjects
Contains the operations for working with machine learning pipeline automation.
Return all automation projects
Code samples
# You can also use wget
curl -X GET https://example.com/mlPipelineAutomation/projects \
-H 'Authorization: Bearer <access-token-goes-here>' \
-H 'Accept: application/json'
const headers = {
'Accept':'application/json'
};
fetch('https://example.com/mlPipelineAutomation/projects',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://example.com/mlPipelineAutomation/projects', headers = headers)
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://example.com/mlPipelineAutomation/projects", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /projects
The endpoint to get all available automation projects.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
start | query | integer(int64) | false | start |
limit | query | integer(int32) | false | limit |
sortBy | query | string | false | sortBy |
filter | query | string | false | filter |
Example responses
List of existing machine learning pipeline automation projects
{
"accept": "application/vnd.sas.collection+json",
"count": 1,
"items": [
{
"analyticsProjectAttributes": {
"analyticsProjectId": "2876465b-3cff-4b58-8176-5cd7cbb793dc",
"pipelineId": "af8bd1f9-99b1-477d-b01f-77617d489b8a",
"targetVariable": "BAD",
"targetEventLevel": "1",
"partitionEnabled": true,
"overrideClassificationCutoffEnabled": false,
"samplingEnabled": "AUTO",
"samplingPercentage": 50,
"intervalSelectionStatistic": "ase",
"classSelectionStatistic": "ks",
"selectionDepth": 10,
"selectionPartition": "default",
"overrideClassificationCutoffValue": 0.5,
"cutoffPercentage": 50,
"numberOfCutoffValues": 100
},
"championModel": {
"name": "Forest (3)",
"links": [
{
"method": "GET",
"rel": "up",
"href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
"uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "GET",
"rel": "self",
"href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel",
"uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project.champion.model"
},
{
"method": "GET",
"rel": "championModelReports",
"href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel/reports",
"uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel/reports",
"type": "application/vnd.sas.collection",
"itemType": "application/vnd.sas.analytics.report"
},
{
"method": "GET",
"rel": "championModelReportSummary",
"href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel/reportSummary",
"uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel/reportSummary",
"type": "application/vnd.sas.collection",
"itemType": "application/vnd.sas.summary"
},
{
"method": "PUT",
"rel": "registerChampionModel",
"href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel?action=register",
"uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel?action=register"
},
{
"method": "PUT",
"rel": "publishChampionModel",
"href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel?action=publish",
"uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel?action=publish"
},
{
"method": "POST",
"rel": "scoreData",
"href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel/scoreData",
"uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel/scoreData",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.score.data.input",
"responseType": "application/vnd.sas.analytics.ml.pipeline.automation.score.data.output"
}
],
"publishDestinations": [
{
"name": "maslocal",
"description": "The default publishing destination for the Micro Analytic Score service.",
"destinationType": "microAnalyticService"
}
]
},
"createdBy": "username",
"creationTimeStamp": "2022-03-01T01:29:46.014052Z",
"dataTableUri": "/dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/DATA",
"id": "4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
"links": [
{
"method": "GET",
"rel": "up",
"href": "/mlPipelineAutomation/projects",
"uri": "/mlPipelineAutomation/projects",
"type": "application/vnd.sas.collection",
"itemType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "GET",
"rel": "self",
"href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
"uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "PUT",
"rel": "update",
"href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
"uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "DELETE",
"rel": "delete",
"href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
"uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef"
},
{
"method": "DELETE",
"rel": "propagateDelete",
"href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef?propagate=true",
"uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef?propagate=true"
},
{
"method": "GET",
"rel": "state",
"href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/state",
"uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/state",
"type": "text/plain"
},
{
"method": "PUT",
"rel": "updateState",
"href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/state?value={value}",
"uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/state?value={value}",
"responseType": "text/plain"
},
{
"method": "GET",
"rel": "projectReports",
"href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/reports",
"uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/reports",
"type": "application/vnd.sas.collection"
},
{
"method": "PUT",
"rel": "retrainProject",
"href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef?action=retrainProject",
"uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef?action=retrainProject",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project",
"responseType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "PUT",
"rel": "retrainProjectReplacePipelines",
"href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef?action=retrainProject&replacePreviousPipelines=true",
"uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef?action=retrainProject&replacePreviousPipelines=true",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project",
"responseType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
}
],
"modifiedBy": "username",
"modifiedTimeStamp": "2022-03-01T01:36:15.87636Z",
"name": "automation project name",
"pipelineBuildMethod": "automatic",
"revision": 11,
"settings": {
"applyGlobalMetadata": true,
"autoRun": true,
"locale": "en",
"maxModelingTime": 1,
"modelingMode": "Standard",
"numberOfModels": 7
},
"state": "completed",
"type": "predictive",
"version": 3
}
],
"limit": 10,
"links": [
{
"method": "GET",
"rel": "collection",
"href": "/mlPipelineAutomation/projects",
"uri": "/mlPipelineAutomation/projects",
"type": "application/vnd.sas.collection",
"itemType": "application/vnd.sas.analytics.ml.pipeline.automation.project+json"
},
{
"method": "GET",
"rel": "self",
"href": "/mlPipelineAutomation/projects?start=0&limit=10",
"uri": "/mlPipelineAutomation/projects?start=0&limit=10",
"type": "application/vnd.sas.collection",
"itemType": "application/vnd.sas.analytics.ml.pipeline.automation.project+json"
},
{
"method": "POST",
"rel": "create",
"href": "/mlPipelineAutomation/projects",
"uri": "/mlPipelineAutomation/projects",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project+json",
"responseType": "application/vnd.sas.analytics.ml.pipeline.automation.project+json"
}
],
"name": "collection",
"start": 0,
"version": 3
}
{
"accept": "application/vnd.sas.collection+json",
"count": 1,
"items": [
{
"analyticsProjectAttributes": {
"analyticsProjectId": "2876465b-3cff-4b58-8176-5cd7cbb793dc",
"pipelineId": "af8bd1f9-99b1-477d-b01f-77617d489b8a",
"targetVariable": "BAD",
"targetEventLevel": "1",
"partitionEnabled": true,
"overrideClassificationCutoffEnabled": false,
"samplingEnabled": "AUTO",
"samplingPercentage": 50,
"intervalSelectionStatistic": "ase",
"classSelectionStatistic": "ks",
"selectionDepth": 10,
"selectionPartition": "default",
"overrideClassificationCutoffValue": 0.5,
"cutoffPercentage": 50,
"numberOfCutoffValues": 100
},
"championModel": {
"name": "Forest (3)",
"links": [
{
"method": "GET",
"rel": "up",
"href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
"uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "GET",
"rel": "self",
"href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel",
"uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project.champion.model"
},
{
"method": "GET",
"rel": "championModelReports",
"href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel/reports",
"uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel/reports",
"type": "application/vnd.sas.collection",
"itemType": "application/vnd.sas.analytics.report"
},
{
"method": "GET",
"rel": "championModelReportSummary",
"href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel/reportSummary",
"uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel/reportSummary",
"type": "application/vnd.sas.collection",
"itemType": "application/vnd.sas.summary"
},
{
"method": "PUT",
"rel": "registerChampionModel",
"href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel?action=register",
"uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel?action=register"
},
{
"method": "PUT",
"rel": "publishChampionModel",
"href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel?action=publish",
"uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel?action=publish"
},
{
"method": "POST",
"rel": "scoreData",
"href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel/scoreData",
"uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/models/@championModel/scoreData",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.score.data.input",
"responseType": "application/vnd.sas.analytics.ml.pipeline.automation.score.data.output"
}
],
"publishDestinations": [
{
"name": "maslocal",
"description": "The default publishing destination for the Micro Analytic Score service.",
"destinationType": "microAnalyticService"
}
]
},
"createdBy": "username",
"creationTimeStamp": "2022-03-01T01:29:46.014052Z",
"dataTableUri": "/dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/DATA",
"id": "4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
"links": [
{
"method": "GET",
"rel": "up",
"href": "/mlPipelineAutomation/projects",
"uri": "/mlPipelineAutomation/projects",
"type": "application/vnd.sas.collection",
"itemType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "GET",
"rel": "self",
"href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
"uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "PUT",
"rel": "update",
"href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
"uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "DELETE",
"rel": "delete",
"href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
"uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef"
},
{
"method": "DELETE",
"rel": "propagateDelete",
"href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef?propagate=true",
"uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef?propagate=true"
},
{
"method": "GET",
"rel": "state",
"href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/state",
"uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/state",
"type": "text/plain"
},
{
"method": "PUT",
"rel": "updateState",
"href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/state?value={value}",
"uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/state?value={value}",
"responseType": "text/plain"
},
{
"method": "GET",
"rel": "projectReports",
"href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/reports",
"uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/reports",
"type": "application/vnd.sas.collection"
},
{
"method": "PUT",
"rel": "retrainProject",
"href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef?action=retrainProject",
"uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef?action=retrainProject",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project",
"responseType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "PUT",
"rel": "retrainProjectReplacePipelines",
"href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef?action=retrainProject&replacePreviousPipelines=true",
"uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef?action=retrainProject&replacePreviousPipelines=true",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project",
"responseType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
}
],
"modifiedBy": "username",
"modifiedTimeStamp": "2022-03-01T01:36:15.87636Z",
"name": "automation project name",
"pipelineBuildMethod": "automatic",
"revision": 11,
"settings": {
"applyGlobalMetadata": true,
"autoRun": true,
"locale": "en",
"maxModelingTime": 1,
"modelingMode": "Standard",
"numberOfModels": 7
},
"state": "completed",
"type": "predictive",
"version": 3
}
],
"limit": 10,
"links": [
{
"method": "GET",
"rel": "collection",
"href": "/mlPipelineAutomation/projects",
"uri": "/mlPipelineAutomation/projects",
"type": "application/vnd.sas.collection",
"itemType": "application/vnd.sas.analytics.ml.pipeline.automation.project+json"
},
{
"method": "GET",
"rel": "self",
"href": "/mlPipelineAutomation/projects?start=0&limit=10",
"uri": "/mlPipelineAutomation/projects?start=0&limit=10",
"type": "application/vnd.sas.collection",
"itemType": "application/vnd.sas.analytics.ml.pipeline.automation.project+json"
},
{
"method": "POST",
"rel": "create",
"href": "/mlPipelineAutomation/projects",
"uri": "/mlPipelineAutomation/projects",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project+json",
"responseType": "application/vnd.sas.analytics.ml.pipeline.automation.project+json"
}
],
"name": "collection",
"start": 0,
"version": 3
}
Bad Request
{
"httpStatusCode": 400,
"errorCode": 92515,
"message": "The required arguments of the provided automation project did not pass validation.",
"details": [
"path: /mlPipelineAutomation/some/path",
"correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
],
"remediation": "Correct the request by providing a valid \"some-property\" value.",
"errors": [
{
"errorCode": 92442,
"message": "A more specific error message.",
"remediation": "A message on how to correct the issue."
}
]
}
Example of an error response with GET request specified with invalid filter.
{
"errorCode": 92513,
"errors": [
{
"httpStatusCode": 500,
"errorCode": 92513,
"message": "The query context is not valid.",
"details": [
"Request params: {Start:0 Limit:10 SortBy: Filter:eq(name,'bad_filter' Bag:map[):]}"
],
"errors": [
{
"message": "InvalidInputError: The filter 'eq(name,'bad_filter'' is not valid. Error Code: 1104"
}
]
}
],
"httpStatusCode": 400,
"message": "The query context is not valid.",
"remediation": "Correct the URI parameters and resubmit the request.",
"version": 2
}
Bad Request
{
"httpStatusCode": 400,
"errorCode": 92515,
"message": "The required arguments of the provided automation project did not pass validation.",
"details": [
"path: /mlPipelineAutomation/some/path",
"correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
],
"remediation": "Correct the request by providing a valid \"some-property\" value.",
"errors": [
{
"errorCode": 92442,
"message": "A more specific error message.",
"remediation": "A message on how to correct the issue."
}
]
}
Example of an error response with GET request specified with invalid filter.
{
"errorCode": 92513,
"errors": [
{
"httpStatusCode": 500,
"errorCode": 92513,
"message": "The query context is not valid.",
"details": [
"Request params: {Start:0 Limit:10 SortBy: Filter:eq(name,'bad_filter' Bag:map[):]}"
],
"errors": [
{
"message": "InvalidInputError: The filter 'eq(name,'bad_filter'' is not valid. Error Code: 1104"
}
]
}
],
"httpStatusCode": 400,
"message": "The query context is not valid.",
"remediation": "Correct the URI parameters and resubmit the request.",
"version": 2
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The request succeeded. | mlPipelineAutomationProjectCollection |
400 | Bad Request | The request was invalid. | errorResponse |
Response Schema
Status Code 400
Error
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ยป message | string | false | none | The message for the error. |
ยป id | string | false | none | The string ID for the error. |
ยป errorCode | integer | false | none | The numeric ID for the error. |
ยป httpStatusCode | integer | true | none | The HTTP status code for the error. |
ยป details | [string] | false | none | Messages that provide additional details about the cause of the error. |
ยป remediation | string | false | none | A message that describes how to resolve the error. |
ยป errors | [#/paths/~1projects/get/responses/400/content/application~1json/schema] | false | none | Any additional errors that occurred. |
ยปยป Error | #/paths/~1projects/get/responses/400/content/application~1json/schema | false | none | The representation of an error. |
ยป links | [link] | false | none | The links that apply to the error. |
ยปยป Link | link | false | none | A link to a related operation or resource. |
ยปยปยป method | string | false | none | The HTTP method for the link. |
ยปยปยป rel | string | true | none | The relationship of the link to the resource. |
ยปยปยป uri | string | false | none | The relative URI for the link. |
ยปยปยป href | string | false | none | The URL for the link. |
ยปยปยป title | string | false | none | The title for the link. |
ยปยปยป type | string | false | none | The media type or link type for the link. |
ยปยปยป itemType | string | false | none | If this is a link to a container, itemType is the media type or link type for the items in the container. |
ยปยปยป responseType | string | false | none | The media type or link type of the response body for a PUT , POST , or PATCH operation. |
ยปยปยป responseItemType | string | false | none | The media type or link type of the items in the response body for a PUT , POST , or PATCH operation. |
ยป version | integer | true | none | The version number of the error representation. This representation is version 2. |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Content-Type | string | No description |
Create an automation project
Code samples
# You can also use wget
curl -X POST https://example.com/mlPipelineAutomation/projects \
-H 'Authorization: Bearer <access-token-goes-here>' \
-H 'Content-Type: application/vnd.sas.analytics.ml.pipeline.automation.project+json' \
-H 'Accept: application/vnd.sas.analytics.ml.pipeline.automation.project+json' \
-H 'Accept-Language: en'
const inputBody = '{
"dataTableUri": "/dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/DATA",
"type": "predictive",
"name": "Project Name",
"description": "Description for the project",
"analyticsProjectAttributes": {
"targetVariable": "BAD"
},
"settings": {
"applyGlobalMetadata": true,
"autoRun": true,
"maxModelingTime": 10,
"modelingMode": "Standard",
"numberOfModels": 5
}
}';
const headers = {
'Content-Type':'application/vnd.sas.analytics.ml.pipeline.automation.project+json',
'Accept':'application/vnd.sas.analytics.ml.pipeline.automation.project+json',
'Accept-Language':'en'
};
fetch('https://example.com/mlPipelineAutomation/projects',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
headers = {
'Content-Type': 'application/vnd.sas.analytics.ml.pipeline.automation.project+json',
'Accept': 'application/vnd.sas.analytics.ml.pipeline.automation.project+json',
'Accept-Language': 'en'
}
r = requests.post('https://example.com/mlPipelineAutomation/projects', headers = headers)
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/vnd.sas.analytics.ml.pipeline.automation.project+json"},
"Accept": []string{"application/vnd.sas.analytics.ml.pipeline.automation.project+json"},
"Accept-Language": []string{"en"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://example.com/mlPipelineAutomation/projects", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /projects
A user begins using the service by creating an automation project. The Machine Learning Pipeline Automation API uses the following attributes: user-supplied project name, data table URI and target variable, and other attributes. The service creates an underlying analytics (VDMML) project, executes multiple steps of pre-processing, builds a data analysis pipeline, and runs the pipeline to completion. The entire process is fully automated without further user intervention. The request body is structured in three sections. - Key information of the automation project - Automation project ID (automatically created by the service, read-only) - Name of the project (a random string is appended to ensure uniqueness) - Description of the project - Project type (only "predictive" type is supported) - Data table URI - Project state - The pipeline build method (either "automatic" or "template") - Automation project settings, grouped under "settings" - A properties bag through which a user can pass arbitrary key/value pairs, regardless if they are used. The properties currently used are as follows. - applyGlobalMetadata (a flag to indicate whether to apply global metadata during project creation. Default is set to true.) - autoRun (a flag to indicate whether to automatically start pipeline run at the time of project creation. Default is set to true.) - numberOfModels (a positive integer to indicate maximum number of top models to return. Default is set to 5) - consider (a list of machine learning algorithms specified by ID to additionally consider when generating the pipeline) - exclude (a list of machine learning algorithms specified by ID to exclude from consideration when generating a pipeline) - forceInclude (a list of machine learning algorithms specified by ID to force into the generated pipeline) - algorithms (a list of machine learning algorithms used to inform pipeline generation) - subsampleCount (number of training observations to sample for pipeline generation) - subsamplePercent (percent of training observations to sample for pipeline generation) - subsampleSeed (seed to use when subsampling training data during pipeline generation)
Analytics project attributes, grouped under "analyticsProjectAttributes"
- Analytics project ID (automatically created by the service, read-only)
- Target variable
- Target event level
- classSelectionStatistic (a string to indicate class selection statistic, dependent upon the type of target variable. For 'BINARY' and 'NOMINAL' target variable types, the accepted values are listed below, where the default is set to 'ks'. The 'ORDINAL' target variable type is not supported.)
- ase: Average squared error
- c: Area under curve (C statistic)
- capturedResponse: Captured response
- cumulativeCapturedResponse: Cumulative captured response
- cumulativeLift: Cumulative lift
- f1: F1 score
- fdr: False discovery rate
- fpr: False positive rate
- gain: Gain
- gini: Gini
- ks: Kolmogorov-Smirnov statistic
- lift: Lift
- misclassificationEvent: Misclassification (Event)
- mce: Misclassification (MCE)
- mcll: Multiclass log loss
- ks2: ROC separation
- rase: Root average squared error
- misclassificationRateCutoff: Misclassification at cutoff
- intervalSelectionStatistic (a string to indicate interval selection statistic, dependent upon the type of target variable. For 'INTERVAL' target variable types, the accepted values are listed below, where the default is set to 'ase'. This field is ignored for all other types, like 'BINARY', 'NOMINAL', or 'ORDINAL'.)
- ase: Average squared error
- rase: Root average squared error
- rmae: Root mean absolute error
- rmsle: Root mean squared logarithmic error
- Partition enabled flag
Body parameter
Minimum fields required in for a project request body
{
"dataTableUri": "/dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/DATA",
"type": "predictive",
"name": "Project Name",
"description": "Description for the project",
"analyticsProjectAttributes": {
"targetVariable": "BAD"
},
"settings": {
"applyGlobalMetadata": true,
"autoRun": true,
"maxModelingTime": 10,
"modelingMode": "Standard",
"numberOfModels": 5
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Accept-Language | header | string | false | Used to set the project locale. |
body | body | mlPipelineAutomationProject | true | project |
Example responses
Result of creating a new machine learning pipeline automation project
{
"creationTimeStamp": "2022-03-01T01:29:46.014052Z",
"createdBy": "username",
"modifiedTimeStamp": "2022-03-01T01:29:46.014039Z",
"modifiedBy": "username",
"revision": 0,
"id": "4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
"name": "project name",
"links": [
{
"method": "GET",
"rel": "up",
"href": "/mlPipelineAutomation/projects",
"uri": "/mlPipelineAutomation/projects",
"type": "application/vnd.sas.collection",
"itemType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "GET",
"rel": "self",
"href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
"uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "PUT",
"rel": "update",
"href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
"uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "DELETE",
"rel": "delete",
"href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
"uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef"
},
{
"method": "DELETE",
"rel": "propagateDelete",
"href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef?propagate=true",
"uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef?propagate=true"
},
{
"method": "GET",
"rel": "state",
"href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/state",
"uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/state",
"type": "text/plain"
},
{
"method": "PUT",
"rel": "updateState",
"href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/state?value={value}",
"uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/state?value={value}",
"responseType": "text/plain"
}
],
"version": 3,
"dataTableUri": "/dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/DATA",
"type": "predictive",
"state": "pending",
"settings": {
"applyGlobalMetadata": true,
"autoRun": true,
"locale": "en",
"maxModelingTime": 1,
"modelingMode": "Standard",
"numberOfModels": 7
},
"analyticsProjectAttributes": {
"analyticsProjectId": "2876465b-3cff-4b58-8176-5cd7cbb793dc",
"targetVariable": "BAD",
"partitionEnabled": true,
"overrideClassificationCutoffEnabled": false,
"samplingEnabled": "AUTO",
"samplingPercentage": 50,
"intervalSelectionStatistic": "ase",
"classSelectionStatistic": "ks",
"selectionDepth": 10,
"selectionPartition": "default",
"overrideClassificationCutoffValue": 0.5,
"cutoffPercentage": 50,
"numberOfCutoffValues": 100
},
"championModel": {},
"pipelineBuildMethod": "automatic"
}
{
"creationTimeStamp": "2022-03-01T01:29:46.014052Z",
"createdBy": "username",
"modifiedTimeStamp": "2022-03-01T01:29:46.014039Z",
"modifiedBy": "username",
"revision": 0,
"id": "4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
"name": "project name",
"links": [
{
"method": "GET",
"rel": "up",
"href": "/mlPipelineAutomation/projects",
"uri": "/mlPipelineAutomation/projects",
"type": "application/vnd.sas.collection",
"itemType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "GET",
"rel": "self",
"href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
"uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "PUT",
"rel": "update",
"href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
"uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "DELETE",
"rel": "delete",
"href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef",
"uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef"
},
{
"method": "DELETE",
"rel": "propagateDelete",
"href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef?propagate=true",
"uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef?propagate=true"
},
{
"method": "GET",
"rel": "state",
"href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/state",
"uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/state",
"type": "text/plain"
},
{
"method": "PUT",
"rel": "updateState",
"href": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/state?value={value}",
"uri": "/mlPipelineAutomation/projects/4f3a766b-78b4-4bf2-bbc4-fe5ea38503ef/state?value={value}",
"responseType": "text/plain"
}
],
"version": 3,
"dataTableUri": "/dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/DATA",
"type": "predictive",
"state": "pending",
"settings": {
"applyGlobalMetadata": true,
"autoRun": true,
"locale": "en",
"maxModelingTime": 1,
"modelingMode": "Standard",
"numberOfModels": 7
},
"analyticsProjectAttributes": {
"analyticsProjectId": "2876465b-3cff-4b58-8176-5cd7cbb793dc",
"targetVariable": "BAD",
"partitionEnabled": true,
"overrideClassificationCutoffEnabled": false,
"samplingEnabled": "AUTO",
"samplingPercentage": 50,
"intervalSelectionStatistic": "ase",
"classSelectionStatistic": "ks",
"selectionDepth": 10,
"selectionPartition": "default",
"overrideClassificationCutoffValue": 0.5,
"cutoffPercentage": 50,
"numberOfCutoffValues": 100
},
"championModel": {},
"pipelineBuildMethod": "automatic"
}
Bad Request
{
"httpStatusCode": 400,
"errorCode": 92515,
"message": "The required arguments of the provided automation project did not pass validation.",
"details": [
"path: /mlPipelineAutomation/some/path",
"correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
],
"remediation": "Correct the request by providing a valid \"some-property\" value.",
"errors": [
{
"errorCode": 92442,
"message": "A more specific error message.",
"remediation": "A message on how to correct the issue."
}
]
}
Example of an error response when creating a project with an bad data table
{
"httpStatusCode": 400,
"errorCode": 92515,
"message": "The required arguments of the provided automation project did not pass validation.",
"remediation": "Correct the request body by providing a valid \"dataTableUri\" value.",
"errors": [
{
"errorCode": 92442,
"message": "The table at the provided data table URI /dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/FAKEDATA did not exist.",
"remediation": "Correct the request body by providing a valid \"dataTableUri\" value."
}
]
}
Example of an error response when required fields are missing
{
"httpStatusCode": 400,
"errorCode": 92515,
"message": "The required arguments of the provided automation project did not pass validation.",
"remediation": "Correct the request body by providing a valid project name value for the \"name\" attribute.",
"errors": [
{
"errorCode": 92442,
"message": "The provided project name \"\" was missing or invalid.",
"remediation": "Correct the request body by providing a valid project name value for the \"name\" attribute."
}
]
}
Bad Request
{
"httpStatusCode": 400,
"errorCode": 92515,
"message": "The required arguments of the provided automation project did not pass validation.",
"details": [
"path: /mlPipelineAutomation/some/path",
"correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
],
"remediation": "Correct the request by providing a valid \"some-property\" value.",
"errors": [
{
"errorCode": 92442,
"message": "A more specific error message.",
"remediation": "A message on how to correct the issue."
}
]
}
Example of an error response when creating a project with an bad data table
{
"httpStatusCode": 400,
"errorCode": 92515,
"message": "The required arguments of the provided automation project did not pass validation.",
"remediation": "Correct the request body by providing a valid \"dataTableUri\" value.",
"errors": [
{
"errorCode": 92442,
"message": "The table at the provided data table URI /dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/FAKEDATA did not exist.",
"remediation": "Correct the request body by providing a valid \"dataTableUri\" value."
}
]
}
Example of an error response when required fields are missing
{
"httpStatusCode": 400,
"errorCode": 92515,
"message": "The required arguments of the provided automation project did not pass validation.",
"remediation": "Correct the request body by providing a valid project name value for the \"name\" attribute.",
"errors": [
{
"errorCode": 92442,
"message": "The provided project name \"\" was missing or invalid.",
"remediation": "Correct the request body by providing a valid project name value for the \"name\" attribute."
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
202 | Accepted | The request is accepted. | mlPipelineAutomationProject |
400 | Bad Request | One or more parameters were invalid. | Inline |
Response Schema
Status Code 400
Error
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ยป message | string | false | none | The message for the error. |
ยป id | string | false | none | The string ID for the error. |
ยป errorCode | integer | false | none | The numeric ID for the error. |
ยป httpStatusCode | integer | true | none | The HTTP status code for the error. |
ยป details | [string] | false | none | Messages that provide additional details about the cause of the error. |
ยป remediation | string | false | none | A message that describes how to resolve the error. |
ยป errors | [#/paths/~1projects/get/responses/400/content/application~1json/schema] | false | none | Any additional errors that occurred. |
ยปยป Error | #/paths/~1projects/get/responses/400/content/application~1json/schema | false | none | The representation of an error. |
ยป links | [link] | false | none | The links that apply to the error. |
ยปยป Link | link | false | none | A link to a related operation or resource. |
ยปยปยป method | string | false | none | The HTTP method for the link. |
ยปยปยป rel | string | true | none | The relationship of the link to the resource. |
ยปยปยป uri | string | false | none | The relative URI for the link. |
ยปยปยป href | string | false | none | The URL for the link. |
ยปยปยป title | string | false | none | The title for the link. |
ยปยปยป type | string | false | none | The media type or link type for the link. |
ยปยปยป itemType | string | false | none | If this is a link to a container, itemType is the media type or link type for the items in the container. |
ยปยปยป responseType | string | false | none | The media type or link type of the response body for a PUT , POST , or PATCH operation. |
ยปยปยป responseItemType | string | false | none | The media type or link type of the items in the response body for a PUT , POST , or PATCH operation. |
ยป version | integer | true | none | The version number of the error representation. This representation is version 2. |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
202 | ETag | string | E-Tag for response. |
Get headers for an automation project
Code samples
# You can also use wget
curl -X HEAD https://example.com/mlPipelineAutomation/projects/{projectId}
-H 'Authorization: Bearer <access-token-goes-here>' \
fetch('https://example.com/mlPipelineAutomation/projects/{projectId}',
{
method: 'HEAD'
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
r = requests.head('https://example.com/mlPipelineAutomation/projects/{projectId}')
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("HEAD", "https://example.com/mlPipelineAutomation/projects/{projectId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
HEAD /projects/{projectId}
The endpoint to get headers for a specific automation project specified by an ID.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
projectId | path | string | true | projectId |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The request succeeded. | None |
400 | Bad Request | One or more parameters were invalid. | None |
404 | Not Found | No project with the provided ID was found. | None |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | ETag | string | E-Tag for response. | |
400 | ETag | string | E-Tag for response. | |
404 | ETag | string | E-Tag for response. |
Get an automation project
Code samples
# You can also use wget
curl -X GET https://example.com/mlPipelineAutomation/projects/{projectId} \
-H 'Authorization: Bearer <access-token-goes-here>' \
-H 'Accept: application/vnd.sas.analytics.ml.pipeline.automation.project+json'
const headers = {
'Accept':'application/vnd.sas.analytics.ml.pipeline.automation.project+json'
};
fetch('https://example.com/mlPipelineAutomation/projects/{projectId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
headers = {
'Accept': 'application/vnd.sas.analytics.ml.pipeline.automation.project+json'
}
r = requests.get('https://example.com/mlPipelineAutomation/projects/{projectId}', headers = headers)
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/vnd.sas.analytics.ml.pipeline.automation.project+json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://example.com/mlPipelineAutomation/projects/{projectId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /projects/{projectId}
The endpoint to get a specific automation project specified by an ID.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
projectId | path | string | true | projectId |
Example responses
An existing machine learning pipeline automation project
{
"creationTimeStamp": "2022-03-01T19:55:42.658381Z",
"createdBy": "username",
"modifiedTimeStamp": "2022-03-02T07:38:25.48095Z",
"modifiedBy": "username",
"revision": 1,
"id": "07d7b51f-6970-4225-8f03-eda03fcc810c",
"name": "Project Name",
"links": [
{
"method": "GET",
"rel": "up",
"href": "/mlPipelineAutomation/projects",
"uri": "/mlPipelineAutomation/projects",
"type": "application/vnd.sas.collection",
"itemType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "GET",
"rel": "self",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "PUT",
"rel": "update",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "DELETE",
"rel": "delete",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c"
},
{
"method": "DELETE",
"rel": "propagateDelete",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?propagate=true",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?propagate=true"
},
{
"method": "GET",
"rel": "state",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state",
"type": "text/plain"
},
{
"method": "PUT",
"rel": "updateState",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state?value={value}",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state?value={value}",
"responseType": "text/plain"
},
{
"method": "GET",
"rel": "projectReports",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/reports",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/reports",
"type": "application/vnd.sas.collection"
},
{
"method": "PUT",
"rel": "retrainProject",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?action=retrainProject",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?action=retrainProject",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project",
"responseType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "PUT",
"rel": "retrainProjectReplacePipelines",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?action=retrainProject&replacePreviousPipelines=true",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?action=retrainProject&replacePreviousPipelines=true",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project",
"responseType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
}
],
"version": 3,
"dataTableUri": "/dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/DATA",
"type": "predictive",
"state": "completed",
"settings": {
"locale": "en",
"replacePreviousPipelines": false
},
"analyticsProjectAttributes": {
"analyticsProjectId": "0594f275-4c39-4bd1-a50b-3d25714becc3",
"pipelineId": "c1f0a700-f737-4cef-9a00-e140c51f3d8d",
"targetVariable": "LOAN",
"targetEventLevel": "1"
},
"championModel": {
"name": "Forest (2)",
"links": [
{
"method": "GET",
"rel": "up",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "GET",
"rel": "self",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project.champion.model"
},
{
"method": "GET",
"rel": "championModelReports",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reports",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reports",
"type": "application/vnd.sas.collection",
"itemType": "application/vnd.sas.analytics.report"
},
{
"method": "GET",
"rel": "championModelReportSummary",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reportSummary",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reportSummary",
"type": "application/vnd.sas.collection",
"itemType": "application/vnd.sas.summary"
},
{
"method": "PUT",
"rel": "registerChampionModel",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=register",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=register"
},
{
"method": "PUT",
"rel": "publishChampionModel",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=publish",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=publish"
},
{
"method": "POST",
"rel": "scoreData",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/scoreData",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/scoreData",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.score.data.input",
"responseType": "application/vnd.sas.analytics.ml.pipeline.automation.score.data.output"
}
],
"publishDestinations": [
{
"name": "maslocal",
"description": "The default publishing destination for the Micro Analytic Score service.",
"destinationType": "microAnalyticService"
},
{
"name": "AACASDestination",
"destinationType": "cas",
"destinationTable": "aa_cas_model_table",
"casServerName": "cas-shared-default",
"casLibrary": "Public"
}
]
},
"pipelineBuildMethod": "automatic"
}
{
"creationTimeStamp": "2022-03-01T19:55:42.658381Z",
"createdBy": "username",
"modifiedTimeStamp": "2022-03-02T07:38:25.48095Z",
"modifiedBy": "username",
"revision": 1,
"id": "07d7b51f-6970-4225-8f03-eda03fcc810c",
"name": "Project Name",
"links": [
{
"method": "GET",
"rel": "up",
"href": "/mlPipelineAutomation/projects",
"uri": "/mlPipelineAutomation/projects",
"type": "application/vnd.sas.collection",
"itemType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "GET",
"rel": "self",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "PUT",
"rel": "update",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "DELETE",
"rel": "delete",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c"
},
{
"method": "DELETE",
"rel": "propagateDelete",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?propagate=true",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?propagate=true"
},
{
"method": "GET",
"rel": "state",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state",
"type": "text/plain"
},
{
"method": "PUT",
"rel": "updateState",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state?value={value}",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state?value={value}",
"responseType": "text/plain"
},
{
"method": "GET",
"rel": "projectReports",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/reports",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/reports",
"type": "application/vnd.sas.collection"
},
{
"method": "PUT",
"rel": "retrainProject",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?action=retrainProject",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?action=retrainProject",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project",
"responseType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "PUT",
"rel": "retrainProjectReplacePipelines",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?action=retrainProject&replacePreviousPipelines=true",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?action=retrainProject&replacePreviousPipelines=true",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project",
"responseType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
}
],
"version": 3,
"dataTableUri": "/dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/DATA",
"type": "predictive",
"state": "completed",
"settings": {
"locale": "en",
"replacePreviousPipelines": false
},
"analyticsProjectAttributes": {
"analyticsProjectId": "0594f275-4c39-4bd1-a50b-3d25714becc3",
"pipelineId": "c1f0a700-f737-4cef-9a00-e140c51f3d8d",
"targetVariable": "LOAN",
"targetEventLevel": "1"
},
"championModel": {
"name": "Forest (2)",
"links": [
{
"method": "GET",
"rel": "up",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "GET",
"rel": "self",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project.champion.model"
},
{
"method": "GET",
"rel": "championModelReports",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reports",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reports",
"type": "application/vnd.sas.collection",
"itemType": "application/vnd.sas.analytics.report"
},
{
"method": "GET",
"rel": "championModelReportSummary",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reportSummary",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reportSummary",
"type": "application/vnd.sas.collection",
"itemType": "application/vnd.sas.summary"
},
{
"method": "PUT",
"rel": "registerChampionModel",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=register",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=register"
},
{
"method": "PUT",
"rel": "publishChampionModel",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=publish",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=publish"
},
{
"method": "POST",
"rel": "scoreData",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/scoreData",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/scoreData",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.score.data.input",
"responseType": "application/vnd.sas.analytics.ml.pipeline.automation.score.data.output"
}
],
"publishDestinations": [
{
"name": "maslocal",
"description": "The default publishing destination for the Micro Analytic Score service.",
"destinationType": "microAnalyticService"
},
{
"name": "AACASDestination",
"destinationType": "cas",
"destinationTable": "aa_cas_model_table",
"casServerName": "cas-shared-default",
"casLibrary": "Public"
}
]
},
"pipelineBuildMethod": "automatic"
}
Bad Request
{
"httpStatusCode": 400,
"errorCode": 92515,
"message": "The required arguments of the provided automation project did not pass validation.",
"details": [
"path: /mlPipelineAutomation/some/path",
"correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
],
"remediation": "Correct the request by providing a valid \"some-property\" value.",
"errors": [
{
"errorCode": 92442,
"message": "A more specific error message.",
"remediation": "A message on how to correct the issue."
}
]
}
Example of an error response with GET request specified with invalid filter.
{
"errorCode": 92513,
"errors": [
{
"httpStatusCode": 500,
"errorCode": 92513,
"message": "The query context is not valid.",
"details": [
"Request params: {Start:0 Limit:10 SortBy: Filter:eq(name,'bad_filter' Bag:map[):]}"
],
"errors": [
{
"message": "InvalidInputError: The filter 'eq(name,'bad_filter'' is not valid. Error Code: 1104"
}
]
}
],
"httpStatusCode": 400,
"message": "The query context is not valid.",
"remediation": "Correct the URI parameters and resubmit the request.",
"version": 2
}
Bad Request
{
"httpStatusCode": 400,
"errorCode": 92515,
"message": "The required arguments of the provided automation project did not pass validation.",
"details": [
"path: /mlPipelineAutomation/some/path",
"correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
],
"remediation": "Correct the request by providing a valid \"some-property\" value.",
"errors": [
{
"errorCode": 92442,
"message": "A more specific error message.",
"remediation": "A message on how to correct the issue."
}
]
}
Example of an error response with GET request specified with invalid filter.
{
"errorCode": 92513,
"errors": [
{
"httpStatusCode": 500,
"errorCode": 92513,
"message": "The query context is not valid.",
"details": [
"Request params: {Start:0 Limit:10 SortBy: Filter:eq(name,'bad_filter' Bag:map[):]}"
],
"errors": [
{
"message": "InvalidInputError: The filter 'eq(name,'bad_filter'' is not valid. Error Code: 1104"
}
]
}
],
"httpStatusCode": 400,
"message": "The query context is not valid.",
"remediation": "Correct the URI parameters and resubmit the request.",
"version": 2
}
Not Found
{
"version": 2,
"httpStatusCode": 404,
"errorCode": 92422,
"message": "The specified resource was not found.",
"remediation": "Resubmit the request with a valid ID."
}
The specified project could not be found.
{
"version": 2,
"httpStatusCode": 404,
"errorCode": 92422,
"message": "The specified automation project (ID b9a6b74c-c18e-4ab3-a150-206d33d43546k) was not found.",
"details": [
"path: /mlPipelineAutomation/projects/b9a6b74c-c18e-4ab3-a150-206d33d43546k",
"correlator: be982363-b2fc-407b-850b-e2c2d948f24e"
],
"remediation": "Resubmit the request with a valid project ID."
}
Not Found
{
"version": 2,
"httpStatusCode": 404,
"errorCode": 92422,
"message": "The specified resource was not found.",
"remediation": "Resubmit the request with a valid ID."
}
The specified project could not be found.
{
"version": 2,
"httpStatusCode": 404,
"errorCode": 92422,
"message": "The specified automation project (ID b9a6b74c-c18e-4ab3-a150-206d33d43546k) was not found.",
"details": [
"path: /mlPipelineAutomation/projects/b9a6b74c-c18e-4ab3-a150-206d33d43546k",
"correlator: be982363-b2fc-407b-850b-e2c2d948f24e"
],
"remediation": "Resubmit the request with a valid project ID."
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The request succeeded. | mlPipelineAutomationProject |
400 | Bad Request | One or more parameters were invalid. | Inline |
404 | Not Found | No project with the provided ID was found. | Inline |
Response Schema
Status Code 400
Error
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ยป message | string | false | none | The message for the error. |
ยป id | string | false | none | The string ID for the error. |
ยป errorCode | integer | false | none | The numeric ID for the error. |
ยป httpStatusCode | integer | true | none | The HTTP status code for the error. |
ยป details | [string] | false | none | Messages that provide additional details about the cause of the error. |
ยป remediation | string | false | none | A message that describes how to resolve the error. |
ยป errors | [#/paths/~1projects/get/responses/400/content/application~1json/schema] | false | none | Any additional errors that occurred. |
ยปยป Error | #/paths/~1projects/get/responses/400/content/application~1json/schema | false | none | The representation of an error. |
ยป links | [link] | false | none | The links that apply to the error. |
ยปยป Link | link | false | none | A link to a related operation or resource. |
ยปยปยป method | string | false | none | The HTTP method for the link. |
ยปยปยป rel | string | true | none | The relationship of the link to the resource. |
ยปยปยป uri | string | false | none | The relative URI for the link. |
ยปยปยป href | string | false | none | The URL for the link. |
ยปยปยป title | string | false | none | The title for the link. |
ยปยปยป type | string | false | none | The media type or link type for the link. |
ยปยปยป itemType | string | false | none | If this is a link to a container, itemType is the media type or link type for the items in the container. |
ยปยปยป responseType | string | false | none | The media type or link type of the response body for a PUT , POST , or PATCH operation. |
ยปยปยป responseItemType | string | false | none | The media type or link type of the items in the response body for a PUT , POST , or PATCH operation. |
ยป version | integer | true | none | The version number of the error representation. This representation is version 2. |
Status Code 404
Error
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ยป message | string | false | none | The message for the error. |
ยป id | string | false | none | The string ID for the error. |
ยป errorCode | integer | false | none | The numeric ID for the error. |
ยป httpStatusCode | integer | true | none | The HTTP status code for the error. |
ยป details | [string] | false | none | Messages that provide additional details about the cause of the error. |
ยป remediation | string | false | none | A message that describes how to resolve the error. |
ยป errors | [#/paths/~1projects/get/responses/400/content/application~1json/schema] | false | none | Any additional errors that occurred. |
ยปยป Error | #/paths/~1projects/get/responses/400/content/application~1json/schema | false | none | The representation of an error. |
ยป links | [link] | false | none | The links that apply to the error. |
ยปยป Link | link | false | none | A link to a related operation or resource. |
ยปยปยป method | string | false | none | The HTTP method for the link. |
ยปยปยป rel | string | true | none | The relationship of the link to the resource. |
ยปยปยป uri | string | false | none | The relative URI for the link. |
ยปยปยป href | string | false | none | The URL for the link. |
ยปยปยป title | string | false | none | The title for the link. |
ยปยปยป type | string | false | none | The media type or link type for the link. |
ยปยปยป itemType | string | false | none | If this is a link to a container, itemType is the media type or link type for the items in the container. |
ยปยปยป responseType | string | false | none | The media type or link type of the response body for a PUT , POST , or PATCH operation. |
ยปยปยป responseItemType | string | false | none | The media type or link type of the items in the response body for a PUT , POST , or PATCH operation. |
ยป version | integer | true | none | The version number of the error representation. This representation is version 2. |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | ETag | string | E-Tag for response. |
Update the specified automation project
Code samples
# You can also use wget
curl -X PUT https://example.com/mlPipelineAutomation/projects/{projectId} \
-H 'Authorization: Bearer <access-token-goes-here>' \
-H 'Content-Type: application/vnd.sas.analytics.ml.pipeline.automation.project+json' \
-H 'Accept: application/vnd.sas.analytics.ml.pipeline.automation.project+json' \
-H 'If-Match: string' \
-H 'Accept-Language: string'
const inputBody = '{
"dataTableUri": "/dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/DATA",
"type": "predictive",
"name": "Project Name",
"description": "Description for the project",
"analyticsProjectAttributes": {
"targetVariable": "BAD"
},
"settings": {
"applyGlobalMetadata": true,
"autoRun": true,
"maxModelingTime": 10,
"modelingMode": "Standard",
"numberOfModels": 5
}
}';
const headers = {
'Content-Type':'application/vnd.sas.analytics.ml.pipeline.automation.project+json',
'Accept':'application/vnd.sas.analytics.ml.pipeline.automation.project+json',
'If-Match':'string',
'Accept-Language':'string'
};
fetch('https://example.com/mlPipelineAutomation/projects/{projectId}',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
headers = {
'Content-Type': 'application/vnd.sas.analytics.ml.pipeline.automation.project+json',
'Accept': 'application/vnd.sas.analytics.ml.pipeline.automation.project+json',
'If-Match': 'string',
'Accept-Language': 'string'
}
r = requests.put('https://example.com/mlPipelineAutomation/projects/{projectId}', headers = headers)
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/vnd.sas.analytics.ml.pipeline.automation.project+json"},
"Accept": []string{"application/vnd.sas.analytics.ml.pipeline.automation.project+json"},
"If-Match": []string{"string"},
"Accept-Language": []string{"string"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "https://example.com/mlPipelineAutomation/projects/{projectId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /projects/{projectId}
In some cases, the user could select the wrong data set or target variables accidentally when creating an automation project. The project might fail to run or the result might not be what the user intended. The ability to update an automation project comes to rescue in those cases, where the user can update the project's attributes and settings with the following request and rerun the project. This API is solely used for updating a projectโs parameters. There is a separate endpoint for updating the state of a project, for example, stopping or restarting a project run. We do not support PATCH operation to update the automation project with changes only. According to standard, the user must enter the full project info in this PUT request, whether or not the parameters are to be changed. List of parameters that can be updated. - name - description - dataTableUri - settings - analyticsProjectAttributes (all analytics attributes can be changed, except analytics project ID)
List of parameters that cannot be updated. Any changes are ignored. - id - type - analyticsProjectId - common fields associated with all revision tracking resources - creationTimestamp - modifiedTimestamp - createdBy - modifiedBy - version
List of parameters that cannot be updated. Any changes cause 4xx error responses to be sent back to the client. - state (error code 400) - revision (error code 412)
Body parameter
Minimum fields required in for a project request body
{
"dataTableUri": "/dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/DATA",
"type": "predictive",
"name": "Project Name",
"description": "Description for the project",
"analyticsProjectAttributes": {
"targetVariable": "BAD"
},
"settings": {
"applyGlobalMetadata": true,
"autoRun": true,
"maxModelingTime": 10,
"modelingMode": "Standard",
"numberOfModels": 5
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
projectId | path | string | true | projectId |
If-Match | header | string | true | If-Match |
Accept-Language | header | string | true | Used to set the project locale |
body | body | mlPipelineAutomationProject | true | project |
Example responses
An existing machine learning pipeline automation project
{
"creationTimeStamp": "2022-03-01T19:55:42.658381Z",
"createdBy": "username",
"modifiedTimeStamp": "2022-03-02T07:38:25.48095Z",
"modifiedBy": "username",
"revision": 1,
"id": "07d7b51f-6970-4225-8f03-eda03fcc810c",
"name": "Project Name",
"links": [
{
"method": "GET",
"rel": "up",
"href": "/mlPipelineAutomation/projects",
"uri": "/mlPipelineAutomation/projects",
"type": "application/vnd.sas.collection",
"itemType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "GET",
"rel": "self",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "PUT",
"rel": "update",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "DELETE",
"rel": "delete",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c"
},
{
"method": "DELETE",
"rel": "propagateDelete",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?propagate=true",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?propagate=true"
},
{
"method": "GET",
"rel": "state",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state",
"type": "text/plain"
},
{
"method": "PUT",
"rel": "updateState",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state?value={value}",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state?value={value}",
"responseType": "text/plain"
},
{
"method": "GET",
"rel": "projectReports",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/reports",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/reports",
"type": "application/vnd.sas.collection"
},
{
"method": "PUT",
"rel": "retrainProject",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?action=retrainProject",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?action=retrainProject",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project",
"responseType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "PUT",
"rel": "retrainProjectReplacePipelines",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?action=retrainProject&replacePreviousPipelines=true",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?action=retrainProject&replacePreviousPipelines=true",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project",
"responseType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
}
],
"version": 3,
"dataTableUri": "/dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/DATA",
"type": "predictive",
"state": "completed",
"settings": {
"locale": "en",
"replacePreviousPipelines": false
},
"analyticsProjectAttributes": {
"analyticsProjectId": "0594f275-4c39-4bd1-a50b-3d25714becc3",
"pipelineId": "c1f0a700-f737-4cef-9a00-e140c51f3d8d",
"targetVariable": "LOAN",
"targetEventLevel": "1"
},
"championModel": {
"name": "Forest (2)",
"links": [
{
"method": "GET",
"rel": "up",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "GET",
"rel": "self",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project.champion.model"
},
{
"method": "GET",
"rel": "championModelReports",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reports",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reports",
"type": "application/vnd.sas.collection",
"itemType": "application/vnd.sas.analytics.report"
},
{
"method": "GET",
"rel": "championModelReportSummary",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reportSummary",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reportSummary",
"type": "application/vnd.sas.collection",
"itemType": "application/vnd.sas.summary"
},
{
"method": "PUT",
"rel": "registerChampionModel",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=register",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=register"
},
{
"method": "PUT",
"rel": "publishChampionModel",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=publish",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=publish"
},
{
"method": "POST",
"rel": "scoreData",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/scoreData",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/scoreData",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.score.data.input",
"responseType": "application/vnd.sas.analytics.ml.pipeline.automation.score.data.output"
}
],
"publishDestinations": [
{
"name": "maslocal",
"description": "The default publishing destination for the Micro Analytic Score service.",
"destinationType": "microAnalyticService"
},
{
"name": "AACASDestination",
"destinationType": "cas",
"destinationTable": "aa_cas_model_table",
"casServerName": "cas-shared-default",
"casLibrary": "Public"
}
]
},
"pipelineBuildMethod": "automatic"
}
{
"creationTimeStamp": "2022-03-01T19:55:42.658381Z",
"createdBy": "username",
"modifiedTimeStamp": "2022-03-02T07:38:25.48095Z",
"modifiedBy": "username",
"revision": 1,
"id": "07d7b51f-6970-4225-8f03-eda03fcc810c",
"name": "Project Name",
"links": [
{
"method": "GET",
"rel": "up",
"href": "/mlPipelineAutomation/projects",
"uri": "/mlPipelineAutomation/projects",
"type": "application/vnd.sas.collection",
"itemType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "GET",
"rel": "self",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "PUT",
"rel": "update",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "DELETE",
"rel": "delete",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c"
},
{
"method": "DELETE",
"rel": "propagateDelete",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?propagate=true",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?propagate=true"
},
{
"method": "GET",
"rel": "state",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state",
"type": "text/plain"
},
{
"method": "PUT",
"rel": "updateState",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state?value={value}",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state?value={value}",
"responseType": "text/plain"
},
{
"method": "GET",
"rel": "projectReports",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/reports",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/reports",
"type": "application/vnd.sas.collection"
},
{
"method": "PUT",
"rel": "retrainProject",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?action=retrainProject",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?action=retrainProject",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project",
"responseType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "PUT",
"rel": "retrainProjectReplacePipelines",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?action=retrainProject&replacePreviousPipelines=true",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?action=retrainProject&replacePreviousPipelines=true",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project",
"responseType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
}
],
"version": 3,
"dataTableUri": "/dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/DATA",
"type": "predictive",
"state": "completed",
"settings": {
"locale": "en",
"replacePreviousPipelines": false
},
"analyticsProjectAttributes": {
"analyticsProjectId": "0594f275-4c39-4bd1-a50b-3d25714becc3",
"pipelineId": "c1f0a700-f737-4cef-9a00-e140c51f3d8d",
"targetVariable": "LOAN",
"targetEventLevel": "1"
},
"championModel": {
"name": "Forest (2)",
"links": [
{
"method": "GET",
"rel": "up",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "GET",
"rel": "self",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project.champion.model"
},
{
"method": "GET",
"rel": "championModelReports",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reports",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reports",
"type": "application/vnd.sas.collection",
"itemType": "application/vnd.sas.analytics.report"
},
{
"method": "GET",
"rel": "championModelReportSummary",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reportSummary",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reportSummary",
"type": "application/vnd.sas.collection",
"itemType": "application/vnd.sas.summary"
},
{
"method": "PUT",
"rel": "registerChampionModel",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=register",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=register"
},
{
"method": "PUT",
"rel": "publishChampionModel",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=publish",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=publish"
},
{
"method": "POST",
"rel": "scoreData",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/scoreData",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/scoreData",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.score.data.input",
"responseType": "application/vnd.sas.analytics.ml.pipeline.automation.score.data.output"
}
],
"publishDestinations": [
{
"name": "maslocal",
"description": "The default publishing destination for the Micro Analytic Score service.",
"destinationType": "microAnalyticService"
},
{
"name": "AACASDestination",
"destinationType": "cas",
"destinationTable": "aa_cas_model_table",
"casServerName": "cas-shared-default",
"casLibrary": "Public"
}
]
},
"pipelineBuildMethod": "automatic"
}
Bad Request
{
"httpStatusCode": 400,
"errorCode": 92515,
"message": "The required arguments of the provided automation project did not pass validation.",
"details": [
"path: /mlPipelineAutomation/some/path",
"correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
],
"remediation": "Correct the request by providing a valid \"some-property\" value.",
"errors": [
{
"errorCode": 92442,
"message": "A more specific error message.",
"remediation": "A message on how to correct the issue."
}
]
}
Project state must be included with the request and cannot be changed with PUT /projects/{projectId}. Please use the PUT /projects/{projectId}/state to update state.
{
"httpStatusCode": 400,
"errorCode": 92533,
"message": "The update request for the automation project (ID b9a6b74c-c18e-4ab3-a150-206d33d43546) is not valid.",
"remediation": "Use the \"updateState\" endpoint.",
"errors": [
{
"errorCode": 92442,
"message": "The operation is not allowed. The state of the automation project must be updated using the link relation named \"updateState\".",
"remediation": "Use the \"updateState\" endpoint."
}
]
}
Bad Request
{
"httpStatusCode": 400,
"errorCode": 92515,
"message": "The required arguments of the provided automation project did not pass validation.",
"details": [
"path: /mlPipelineAutomation/some/path",
"correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
],
"remediation": "Correct the request by providing a valid \"some-property\" value.",
"errors": [
{
"errorCode": 92442,
"message": "A more specific error message.",
"remediation": "A message on how to correct the issue."
}
]
}
Project state must be included with the request and cannot be changed with PUT /projects/{projectId}. Please use the PUT /projects/{projectId}/state to update state.
{
"httpStatusCode": 400,
"errorCode": 92533,
"message": "The update request for the automation project (ID b9a6b74c-c18e-4ab3-a150-206d33d43546) is not valid.",
"remediation": "Use the \"updateState\" endpoint.",
"errors": [
{
"errorCode": 92442,
"message": "The operation is not allowed. The state of the automation project must be updated using the link relation named \"updateState\".",
"remediation": "Use the \"updateState\" endpoint."
}
]
}
Not Found
{
"version": 2,
"httpStatusCode": 404,
"errorCode": 92422,
"message": "The specified resource was not found.",
"remediation": "Resubmit the request with a valid ID."
}
{
"version": 2,
"httpStatusCode": 404,
"errorCode": 92422,
"message": "The specified resource was not found.",
"remediation": "Resubmit the request with a valid ID."
}
The If-Match header value does not match the expected ETag value.
{
"version": 2,
"httpStatusCode": 412,
"message": "The header field \"If-Match\" has a value that is different from the entity tag for the resource. (The specified values are \"first-ETag-value\" and \"second-ETag-value\", respectively.)"
}
{
"version": 2,
"httpStatusCode": 412,
"message": "The header field \"If-Match\" has a value that is different from the entity tag for the resource. (The specified values are \"first-ETag-value\" and \"second-ETag-value\", respectively.)"
}
The If-Match header is required and missing or empty.
{
"version": 2,
"httpStatusCode": 428,
"message": "The header field \"If-Match\" is missing or does not have a value.",
"remediation": "Specify the resource's entity tag."
}
{
"version": 2,
"httpStatusCode": 428,
"message": "The header field \"If-Match\" is missing or does not have a value.",
"remediation": "Specify the resource's entity tag."
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The automation project was updated. | mlPipelineAutomationProject |
400 | Bad Request | One or more parameters were invalid. | Inline |
404 | Not Found | No automation project with the provided entity ID was found. | Inline |
412 | Precondition Failed | The value supplied in the If-Match header did not match the expected value. | Inline |
428 | Precondition Required | An If-Match header was not supplied on the update request. | Inline |
Response Schema
Status Code 400
Error
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ยป message | string | false | none | The message for the error. |
ยป id | string | false | none | The string ID for the error. |
ยป errorCode | integer | false | none | The numeric ID for the error. |
ยป httpStatusCode | integer | true | none | The HTTP status code for the error. |
ยป details | [string] | false | none | Messages that provide additional details about the cause of the error. |
ยป remediation | string | false | none | A message that describes how to resolve the error. |
ยป errors | [#/paths/~1projects/get/responses/400/content/application~1json/schema] | false | none | Any additional errors that occurred. |
ยปยป Error | #/paths/~1projects/get/responses/400/content/application~1json/schema | false | none | The representation of an error. |
ยป links | [link] | false | none | The links that apply to the error. |
ยปยป Link | link | false | none | A link to a related operation or resource. |
ยปยปยป method | string | false | none | The HTTP method for the link. |
ยปยปยป rel | string | true | none | The relationship of the link to the resource. |
ยปยปยป uri | string | false | none | The relative URI for the link. |
ยปยปยป href | string | false | none | The URL for the link. |
ยปยปยป title | string | false | none | The title for the link. |
ยปยปยป type | string | false | none | The media type or link type for the link. |
ยปยปยป itemType | string | false | none | If this is a link to a container, itemType is the media type or link type for the items in the container. |
ยปยปยป responseType | string | false | none | The media type or link type of the response body for a PUT , POST , or PATCH operation. |
ยปยปยป responseItemType | string | false | none | The media type or link type of the items in the response body for a PUT , POST , or PATCH operation. |
ยป version | integer | true | none | The version number of the error representation. This representation is version 2. |
Status Code 404
Error
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ยป message | string | false | none | The message for the error. |
ยป id | string | false | none | The string ID for the error. |
ยป errorCode | integer | false | none | The numeric ID for the error. |
ยป httpStatusCode | integer | true | none | The HTTP status code for the error. |
ยป details | [string] | false | none | Messages that provide additional details about the cause of the error. |
ยป remediation | string | false | none | A message that describes how to resolve the error. |
ยป errors | [#/paths/~1projects/get/responses/400/content/application~1json/schema] | false | none | Any additional errors that occurred. |
ยปยป Error | #/paths/~1projects/get/responses/400/content/application~1json/schema | false | none | The representation of an error. |
ยป links | [link] | false | none | The links that apply to the error. |
ยปยป Link | link | false | none | A link to a related operation or resource. |
ยปยปยป method | string | false | none | The HTTP method for the link. |
ยปยปยป rel | string | true | none | The relationship of the link to the resource. |
ยปยปยป uri | string | false | none | The relative URI for the link. |
ยปยปยป href | string | false | none | The URL for the link. |
ยปยปยป title | string | false | none | The title for the link. |
ยปยปยป type | string | false | none | The media type or link type for the link. |
ยปยปยป itemType | string | false | none | If this is a link to a container, itemType is the media type or link type for the items in the container. |
ยปยปยป responseType | string | false | none | The media type or link type of the response body for a PUT , POST , or PATCH operation. |
ยปยปยป responseItemType | string | false | none | The media type or link type of the items in the response body for a PUT , POST , or PATCH operation. |
ยป version | integer | true | none | The version number of the error representation. This representation is version 2. |
Status Code 412
Error
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ยป message | string | false | none | The message for the error. |
ยป id | string | false | none | The string ID for the error. |
ยป errorCode | integer | false | none | The numeric ID for the error. |
ยป httpStatusCode | integer | true | none | The HTTP status code for the error. |
ยป details | [string] | false | none | Messages that provide additional details about the cause of the error. |
ยป remediation | string | false | none | A message that describes how to resolve the error. |
ยป errors | [#/paths/~1projects/get/responses/400/content/application~1json/schema] | false | none | Any additional errors that occurred. |
ยปยป Error | #/paths/~1projects/get/responses/400/content/application~1json/schema | false | none | The representation of an error. |
ยป links | [link] | false | none | The links that apply to the error. |
ยปยป Link | link | false | none | A link to a related operation or resource. |
ยปยปยป method | string | false | none | The HTTP method for the link. |
ยปยปยป rel | string | true | none | The relationship of the link to the resource. |
ยปยปยป uri | string | false | none | The relative URI for the link. |
ยปยปยป href | string | false | none | The URL for the link. |
ยปยปยป title | string | false | none | The title for the link. |
ยปยปยป type | string | false | none | The media type or link type for the link. |
ยปยปยป itemType | string | false | none | If this is a link to a container, itemType is the media type or link type for the items in the container. |
ยปยปยป responseType | string | false | none | The media type or link type of the response body for a PUT , POST , or PATCH operation. |
ยปยปยป responseItemType | string | false | none | The media type or link type of the items in the response body for a PUT , POST , or PATCH operation. |
ยป version | integer | true | none | The version number of the error representation. This representation is version 2. |
Status Code 428
Error
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ยป message | string | false | none | The message for the error. |
ยป id | string | false | none | The string ID for the error. |
ยป errorCode | integer | false | none | The numeric ID for the error. |
ยป httpStatusCode | integer | true | none | The HTTP status code for the error. |
ยป details | [string] | false | none | Messages that provide additional details about the cause of the error. |
ยป remediation | string | false | none | A message that describes how to resolve the error. |
ยป errors | [#/paths/~1projects/get/responses/400/content/application~1json/schema] | false | none | Any additional errors that occurred. |
ยปยป Error | #/paths/~1projects/get/responses/400/content/application~1json/schema | false | none | The representation of an error. |
ยป links | [link] | false | none | The links that apply to the error. |
ยปยป Link | link | false | none | A link to a related operation or resource. |
ยปยปยป method | string | false | none | The HTTP method for the link. |
ยปยปยป rel | string | true | none | The relationship of the link to the resource. |
ยปยปยป uri | string | false | none | The relative URI for the link. |
ยปยปยป href | string | false | none | The URL for the link. |
ยปยปยป title | string | false | none | The title for the link. |
ยปยปยป type | string | false | none | The media type or link type for the link. |
ยปยปยป itemType | string | false | none | If this is a link to a container, itemType is the media type or link type for the items in the container. |
ยปยปยป responseType | string | false | none | The media type or link type of the response body for a PUT , POST , or PATCH operation. |
ยปยปยป responseItemType | string | false | none | The media type or link type of the items in the response body for a PUT , POST , or PATCH operation. |
ยป version | integer | true | none | The version number of the error representation. This representation is version 2. |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | ETag | string | E-Tag for response. |
Delete an automation project
Code samples
# You can also use wget
curl -X DELETE https://example.com/mlPipelineAutomation/projects/{projectId}
-H 'Authorization: Bearer <access-token-goes-here>' \
fetch('https://example.com/mlPipelineAutomation/projects/{projectId}',
{
method: 'DELETE'
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
r = requests.delete('https://example.com/mlPipelineAutomation/projects/{projectId}')
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("DELETE", "https://example.com/mlPipelineAutomation/projects/{projectId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
DELETE /projects/{projectId}
When it is not needed anymore, the automation project can be deleted with the request below. By default, this API deletes the automation project while keeping its associated analytics project. To delete both projects, set the query parameter "propagate" to true.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
projectId | path | string | true | projectId |
propagate | query | boolean | false | Propagate deletion to the underlying analytics project |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | The project was deleted. | None |
Retrieve headers for completed project reports
Code samples
# You can also use wget
curl -X HEAD https://example.com/mlPipelineAutomation/projects/{projectId}/reports
-H 'Authorization: Bearer <access-token-goes-here>' \
fetch('https://example.com/mlPipelineAutomation/projects/{projectId}/reports',
{
method: 'HEAD'
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
r = requests.head('https://example.com/mlPipelineAutomation/projects/{projectId}/reports')
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("HEAD", "https://example.com/mlPipelineAutomation/projects/{projectId}/reports", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
HEAD /projects/{projectId}/reports
Retrieves headers for a list of reports for a project that has completed modeling.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
projectId | path | string | true | projectId |
reportName | query | array[string] | false | If provided, only the specified are returned. To specify multiple reports with this, use the parameter once for each report. For example, to return 3 reports named report1, report2, and report3, use ?reportName=report1&reportName=report2&reportName=report3 |
filter | query | string | false | filter |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The request succeeded. | None |
400 | Bad Request | One or more parameters were invalid. | None |
404 | Not Found | No project with the provided ID was found. | None |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Content-Type | string | No description | |
400 | Content-Type | string | No description | |
404 | Content-Type | string | No description |
Retrieve reports for a completed project
Code samples
# You can also use wget
curl -X GET https://example.com/mlPipelineAutomation/projects/{projectId}/reports \
-H 'Authorization: Bearer <access-token-goes-here>' \
-H 'Accept: application/json'
const headers = {
'Accept':'application/json'
};
fetch('https://example.com/mlPipelineAutomation/projects/{projectId}/reports',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://example.com/mlPipelineAutomation/projects/{projectId}/reports', headers = headers)
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://example.com/mlPipelineAutomation/projects/{projectId}/reports", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /projects/{projectId}/reports
Retrieves a list of reports for a project that has completed modeling.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
projectId | path | string | true | projectId |
reportName | query | array[string] | false | If provided, only the specified are returned. To specify multiple reports with this, use the parameter once for each report. For example, to return 3 reports named report1, report2, and report3, use ?reportName=report1&reportName=report2&reportName=report3 |
filter | query | string | false | filter |
Example responses
Generated project reports
{
"version": 3,
"accept": "application/vnd.sas.collection+json",
"count": 1,
"start": 0,
"limit": 0,
"name": "collection",
"items": [
{
"creationTimeStamp": "2022-03-02T07:48:23.533937455Z",
"modifiedTimeStamp": "2022-03-02T07:48:23.533937455Z",
"revision": 0,
"id": "projectSummary",
"name": "projectSummary",
"description": "Project Summary",
"version": 1,
"order": 0,
"type": "html",
"parameterMap": {
"contents": {
"label": "Contents",
"length": 2147483647,
"parameter": "contents",
"preformatted": false,
"type": "char",
"values": [
"contents"
]
},
"download": {
"parameter": "download",
"preformatted": false,
"type": "char",
"values": [
"Y"
]
},
"lineNumber": {
"label": "Line number",
"length": 2147483647,
"parameter": "lineNumber",
"preformatted": false,
"type": "num",
"values": [
"lineNumber"
]
}
},
"data": [
{
"dataMap": {
"contents": "<p class=\"insightsSummaryText\"><p> The champion model for this project is Forest (2) from the \"SAS Automatically Generated Pipeline 1\" pipeline. The model was chosen based on the Average Squared Error for the Validate partition (25,129,706.36). The five most important factors are Imputed Transformed VALUE, Imputed Transformed MORTDUE, JOB, Imputed Transformed CLNO, and Imputed Transformed YOJ.</p></p>\n\n<table class=\"insightsSummaryTable\">\n <tr>\n <td class=\"insightsSummaryTableKey\">Project Target:</td>\n <td class=\"insightsSummaryTableValue\">LOAN</td>\n <td class=\"insightsSummaryTableKey\">Project Champion:</td>\n <td class=\"insightsSummaryTableValue\">Forest (2)</td>\n </tr>\n <tr>\n <td class=\"insightsSummaryTableKey\">Overall Average:</td>\n <td class=\"insightsSummaryTableValue\">18607.9698</td>\n <td class=\"insightsSummaryTableKey\">Created By:</td>\n <td class=\"insightsSummaryTableValue\">emduser1</td>\n </tr>\n <tr>\n <td class=\"insightsSummaryTableKey\">Pipelines:</td>\n <td class=\"insightsSummaryTableValue\">2</td>\n <td class=\"insightsSummaryTableKey\">Modified:</td>\n <td class=\"insightsSummaryTableValue\">Mar 2, 2022 7:38:24 AM</td>\n </tr>\n</table>\n",
"lineNumber": 1
},
"rowNumber": 0
}
],
"xInteger": false,
"yInteger": false
}
],
"links": [
{
"method": "GET",
"rel": "up",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "GET",
"rel": "self",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/reports",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/reports",
"type": "application/vnd.sas.collection"
}
]
}
{
"version": 3,
"accept": "application/vnd.sas.collection+json",
"count": 1,
"start": 0,
"limit": 0,
"name": "collection",
"items": [
{
"creationTimeStamp": "2022-03-02T07:48:23.533937455Z",
"modifiedTimeStamp": "2022-03-02T07:48:23.533937455Z",
"revision": 0,
"id": "projectSummary",
"name": "projectSummary",
"description": "Project Summary",
"version": 1,
"order": 0,
"type": "html",
"parameterMap": {
"contents": {
"label": "Contents",
"length": 2147483647,
"parameter": "contents",
"preformatted": false,
"type": "char",
"values": [
"contents"
]
},
"download": {
"parameter": "download",
"preformatted": false,
"type": "char",
"values": [
"Y"
]
},
"lineNumber": {
"label": "Line number",
"length": 2147483647,
"parameter": "lineNumber",
"preformatted": false,
"type": "num",
"values": [
"lineNumber"
]
}
},
"data": [
{
"dataMap": {
"contents": "<p class=\"insightsSummaryText\"><p> The champion model for this project is Forest (2) from the \"SAS Automatically Generated Pipeline 1\" pipeline. The model was chosen based on the Average Squared Error for the Validate partition (25,129,706.36). The five most important factors are Imputed Transformed VALUE, Imputed Transformed MORTDUE, JOB, Imputed Transformed CLNO, and Imputed Transformed YOJ.</p></p>\n\n<table class=\"insightsSummaryTable\">\n <tr>\n <td class=\"insightsSummaryTableKey\">Project Target:</td>\n <td class=\"insightsSummaryTableValue\">LOAN</td>\n <td class=\"insightsSummaryTableKey\">Project Champion:</td>\n <td class=\"insightsSummaryTableValue\">Forest (2)</td>\n </tr>\n <tr>\n <td class=\"insightsSummaryTableKey\">Overall Average:</td>\n <td class=\"insightsSummaryTableValue\">18607.9698</td>\n <td class=\"insightsSummaryTableKey\">Created By:</td>\n <td class=\"insightsSummaryTableValue\">emduser1</td>\n </tr>\n <tr>\n <td class=\"insightsSummaryTableKey\">Pipelines:</td>\n <td class=\"insightsSummaryTableValue\">2</td>\n <td class=\"insightsSummaryTableKey\">Modified:</td>\n <td class=\"insightsSummaryTableValue\">Mar 2, 2022 7:38:24 AM</td>\n </tr>\n</table>\n",
"lineNumber": 1
},
"rowNumber": 0
}
],
"xInteger": false,
"yInteger": false
}
],
"links": [
{
"method": "GET",
"rel": "up",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "GET",
"rel": "self",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/reports",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/reports",
"type": "application/vnd.sas.collection"
}
]
}
Bad Request
{
"httpStatusCode": 400,
"errorCode": 92515,
"message": "The required arguments of the provided automation project did not pass validation.",
"details": [
"path: /mlPipelineAutomation/some/path",
"correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
],
"remediation": "Correct the request by providing a valid \"some-property\" value.",
"errors": [
{
"errorCode": 92442,
"message": "A more specific error message.",
"remediation": "A message on how to correct the issue."
}
]
}
Example of an error response with GET request specified with invalid filter.
{
"errorCode": 92513,
"errors": [
{
"httpStatusCode": 500,
"errorCode": 92513,
"message": "The query context is not valid.",
"details": [
"Request params: {Start:0 Limit:10 SortBy: Filter:eq(name,'bad_filter' Bag:map[):]}"
],
"errors": [
{
"message": "InvalidInputError: The filter 'eq(name,'bad_filter'' is not valid. Error Code: 1104"
}
]
}
],
"httpStatusCode": 400,
"message": "The query context is not valid.",
"remediation": "Correct the URI parameters and resubmit the request.",
"version": 2
}
Bad Request
{
"httpStatusCode": 400,
"errorCode": 92515,
"message": "The required arguments of the provided automation project did not pass validation.",
"details": [
"path: /mlPipelineAutomation/some/path",
"correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
],
"remediation": "Correct the request by providing a valid \"some-property\" value.",
"errors": [
{
"errorCode": 92442,
"message": "A more specific error message.",
"remediation": "A message on how to correct the issue."
}
]
}
Example of an error response with GET request specified with invalid filter.
{
"errorCode": 92513,
"errors": [
{
"httpStatusCode": 500,
"errorCode": 92513,
"message": "The query context is not valid.",
"details": [
"Request params: {Start:0 Limit:10 SortBy: Filter:eq(name,'bad_filter' Bag:map[):]}"
],
"errors": [
{
"message": "InvalidInputError: The filter 'eq(name,'bad_filter'' is not valid. Error Code: 1104"
}
]
}
],
"httpStatusCode": 400,
"message": "The query context is not valid.",
"remediation": "Correct the URI parameters and resubmit the request.",
"version": 2
}
Not Found
{
"version": 2,
"httpStatusCode": 404,
"errorCode": 92422,
"message": "The specified resource was not found.",
"remediation": "Resubmit the request with a valid ID."
}
{
"version": 2,
"httpStatusCode": 404,
"errorCode": 92422,
"message": "The specified resource was not found.",
"remediation": "Resubmit the request with a valid ID."
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The request succeeded. | reportCollection |
400 | Bad Request | One or more parameters were invalid. | Inline |
404 | Not Found | No project with the provided ID was found. | Inline |
Response Schema
Status Code 400
Error
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ยป message | string | false | none | The message for the error. |
ยป id | string | false | none | The string ID for the error. |
ยป errorCode | integer | false | none | The numeric ID for the error. |
ยป httpStatusCode | integer | true | none | The HTTP status code for the error. |
ยป details | [string] | false | none | Messages that provide additional details about the cause of the error. |
ยป remediation | string | false | none | A message that describes how to resolve the error. |
ยป errors | [#/paths/~1projects/get/responses/400/content/application~1json/schema] | false | none | Any additional errors that occurred. |
ยปยป Error | #/paths/~1projects/get/responses/400/content/application~1json/schema | false | none | The representation of an error. |
ยป links | [link] | false | none | The links that apply to the error. |
ยปยป Link | link | false | none | A link to a related operation or resource. |
ยปยปยป method | string | false | none | The HTTP method for the link. |
ยปยปยป rel | string | true | none | The relationship of the link to the resource. |
ยปยปยป uri | string | false | none | The relative URI for the link. |
ยปยปยป href | string | false | none | The URL for the link. |
ยปยปยป title | string | false | none | The title for the link. |
ยปยปยป type | string | false | none | The media type or link type for the link. |
ยปยปยป itemType | string | false | none | If this is a link to a container, itemType is the media type or link type for the items in the container. |
ยปยปยป responseType | string | false | none | The media type or link type of the response body for a PUT , POST , or PATCH operation. |
ยปยปยป responseItemType | string | false | none | The media type or link type of the items in the response body for a PUT , POST , or PATCH operation. |
ยป version | integer | true | none | The version number of the error representation. This representation is version 2. |
Status Code 404
Error
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ยป message | string | false | none | The message for the error. |
ยป id | string | false | none | The string ID for the error. |
ยป errorCode | integer | false | none | The numeric ID for the error. |
ยป httpStatusCode | integer | true | none | The HTTP status code for the error. |
ยป details | [string] | false | none | Messages that provide additional details about the cause of the error. |
ยป remediation | string | false | none | A message that describes how to resolve the error. |
ยป errors | [#/paths/~1projects/get/responses/400/content/application~1json/schema] | false | none | Any additional errors that occurred. |
ยปยป Error | #/paths/~1projects/get/responses/400/content/application~1json/schema | false | none | The representation of an error. |
ยป links | [link] | false | none | The links that apply to the error. |
ยปยป Link | link | false | none | A link to a related operation or resource. |
ยปยปยป method | string | false | none | The HTTP method for the link. |
ยปยปยป rel | string | true | none | The relationship of the link to the resource. |
ยปยปยป uri | string | false | none | The relative URI for the link. |
ยปยปยป href | string | false | none | The URL for the link. |
ยปยปยป title | string | false | none | The title for the link. |
ยปยปยป type | string | false | none | The media type or link type for the link. |
ยปยปยป itemType | string | false | none | If this is a link to a container, itemType is the media type or link type for the items in the container. |
ยปยปยป responseType | string | false | none | The media type or link type of the response body for a PUT , POST , or PATCH operation. |
ยปยปยป responseItemType | string | false | none | The media type or link type of the items in the response body for a PUT , POST , or PATCH operation. |
ยป version | integer | true | none | The version number of the error representation. This representation is version 2. |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Content-Type | string | No description |
Retrain the specified automation project
Code samples
# You can also use wget
curl -X PUT https://example.com/mlPipelineAutomation/projects/{projectId}#retrainProject?action=retrainProject \
-H 'Authorization: Bearer <access-token-goes-here>' \
-H 'Content-Type: application/vnd.sas.analytics.ml.pipeline.automation.project+json' \
-H 'Accept: application/vnd.sas.analytics.ml.pipeline.automation.project+json' \
-H 'If-Match: string' \
-H 'Accept-Language: string'
const inputBody = '{
"dataTableUri": "/dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/DATA",
"type": "predictive",
"name": "Project Name",
"description": "Description for the project",
"analyticsProjectAttributes": {
"targetVariable": "BAD"
},
"settings": {
"applyGlobalMetadata": true,
"autoRun": true,
"maxModelingTime": 10,
"modelingMode": "Standard",
"numberOfModels": 5
}
}';
const headers = {
'Content-Type':'application/vnd.sas.analytics.ml.pipeline.automation.project+json',
'Accept':'application/vnd.sas.analytics.ml.pipeline.automation.project+json',
'If-Match':'string',
'Accept-Language':'string'
};
fetch('https://example.com/mlPipelineAutomation/projects/{projectId}#retrainProject?action=retrainProject',
{
method: 'PUT',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
headers = {
'Content-Type': 'application/vnd.sas.analytics.ml.pipeline.automation.project+json',
'Accept': 'application/vnd.sas.analytics.ml.pipeline.automation.project+json',
'If-Match': 'string',
'Accept-Language': 'string'
}
r = requests.put('https://example.com/mlPipelineAutomation/projects/{projectId}#retrainProject', params={
'action': 'retrainProject'
}, headers = headers)
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/vnd.sas.analytics.ml.pipeline.automation.project+json"},
"Accept": []string{"application/vnd.sas.analytics.ml.pipeline.automation.project+json"},
"If-Match": []string{"string"},
"Accept-Language": []string{"string"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "https://example.com/mlPipelineAutomation/projects/{projectId}#retrainProject", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /projects/{projectId}#retrainProject
To retrain an automation project with changed parameters, use the retrainProject endpoint. By default, the service generates a new automated pipeline. This behavior can be overwritten with an optional query parameter replacePreviousPipelines
. When set to true, the parameter instructs the service to remove all previous automatically generated pipelines before creating a new pipeline.
Body parameter
Minimum fields required in for a project request body
{
"dataTableUri": "/dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/DATA",
"type": "predictive",
"name": "Project Name",
"description": "Description for the project",
"analyticsProjectAttributes": {
"targetVariable": "BAD"
},
"settings": {
"applyGlobalMetadata": true,
"autoRun": true,
"maxModelingTime": 10,
"modelingMode": "Standard",
"numberOfModels": 5
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
projectId | path | string | true | projectId |
action | query | string | true | The retrain project action |
replacePreviousPipelines | query | boolean | false | Flag to replace previous pipelines |
If-Match | header | string | true | If-Match |
Accept-Language | header | string | true | Accept-Language |
body | body | mlPipelineAutomationProject | true | project |
Enumerated Values
Parameter | Value |
---|---|
action | retrainProject |
Example responses
Response from retraining a project
{
"creationTimeStamp": "2022-03-01T19:55:42.658381Z",
"createdBy": "username",
"modifiedTimeStamp": "2022-03-02T07:02:38.617258Z",
"modifiedBy": "username",
"revision": 10,
"id": "07d7b51f-6970-4225-8f03-eda03fcc810c",
"name": "Modified Project Name",
"links": [
{
"method": "GET",
"rel": "up",
"href": "/mlPipelineAutomation/projects",
"uri": "/mlPipelineAutomation/projects",
"type": "application/vnd.sas.collection",
"itemType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "GET",
"rel": "self",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "PUT",
"rel": "update",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "DELETE",
"rel": "delete",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c"
},
{
"method": "DELETE",
"rel": "propagateDelete",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?propagate=true",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?propagate=true"
},
{
"method": "GET",
"rel": "state",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state",
"type": "text/plain"
},
{
"method": "PUT",
"rel": "updateState",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state?value={value}",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state?value={value}",
"responseType": "text/plain"
}
],
"version": 3,
"dataTableUri": "/dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/DATA",
"type": "predictive",
"state": "retraining",
"settings": {
"locale": "en-US",
"replacePreviousPipelines": false
},
"analyticsProjectAttributes": {
"analyticsProjectId": "0594f275-4c39-4bd1-a50b-3d25714becc3",
"targetVariable": "LOAN",
"targetEventLevel": "1"
},
"championModel": {},
"pipelineBuildMethod": "automatic"
}
{
"creationTimeStamp": "2022-03-01T19:55:42.658381Z",
"createdBy": "username",
"modifiedTimeStamp": "2022-03-02T07:02:38.617258Z",
"modifiedBy": "username",
"revision": 10,
"id": "07d7b51f-6970-4225-8f03-eda03fcc810c",
"name": "Modified Project Name",
"links": [
{
"method": "GET",
"rel": "up",
"href": "/mlPipelineAutomation/projects",
"uri": "/mlPipelineAutomation/projects",
"type": "application/vnd.sas.collection",
"itemType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "GET",
"rel": "self",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "PUT",
"rel": "update",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "DELETE",
"rel": "delete",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c"
},
{
"method": "DELETE",
"rel": "propagateDelete",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?propagate=true",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c?propagate=true"
},
{
"method": "GET",
"rel": "state",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state",
"type": "text/plain"
},
{
"method": "PUT",
"rel": "updateState",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state?value={value}",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/state?value={value}",
"responseType": "text/plain"
}
],
"version": 3,
"dataTableUri": "/dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/DATA",
"type": "predictive",
"state": "retraining",
"settings": {
"locale": "en-US",
"replacePreviousPipelines": false
},
"analyticsProjectAttributes": {
"analyticsProjectId": "0594f275-4c39-4bd1-a50b-3d25714becc3",
"targetVariable": "LOAN",
"targetEventLevel": "1"
},
"championModel": {},
"pipelineBuildMethod": "automatic"
}
Bad Request
{
"httpStatusCode": 400,
"errorCode": 92515,
"message": "The required arguments of the provided automation project did not pass validation.",
"details": [
"path: /mlPipelineAutomation/some/path",
"correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
],
"remediation": "Correct the request by providing a valid \"some-property\" value.",
"errors": [
{
"errorCode": 92442,
"message": "A more specific error message.",
"remediation": "A message on how to correct the issue."
}
]
}
The project failed to retrain because it is not in a terminal state.
{
"httpStatusCode": 400,
"errorCode": 92501,
"message": "The project could not be retrained because it is not in a terminal state. The current state of the project is \"modeling\".",
"remediation": "The project can be retrained when it is in one of the three states: completed, canceled, or failed."
}
The required "action" query parameter is missing.
{
"httpStatusCode": 400,
"errorCode": 92533,
"message": "The update request for the automation project (ID 07d7b51f-6970-4225-8f03-eda03fcc810c) is not valid.",
"remediation": "Use the \"updateState\" endpoint.",
"errors": [
{
"errorCode": 92442,
"message": "The operation is not allowed. The state of the automation project must be updated using the link relation named \"updateState\".",
"remediation": "Use the \"updateState\" endpoint."
}
]
}
Bad Request
{
"httpStatusCode": 400,
"errorCode": 92515,
"message": "The required arguments of the provided automation project did not pass validation.",
"details": [
"path: /mlPipelineAutomation/some/path",
"correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
],
"remediation": "Correct the request by providing a valid \"some-property\" value.",
"errors": [
{
"errorCode": 92442,
"message": "A more specific error message.",
"remediation": "A message on how to correct the issue."
}
]
}
The project failed to retrain because it is not in a terminal state.
{
"httpStatusCode": 400,
"errorCode": 92501,
"message": "The project could not be retrained because it is not in a terminal state. The current state of the project is \"modeling\".",
"remediation": "The project can be retrained when it is in one of the three states: completed, canceled, or failed."
}
The required "action" query parameter is missing.
{
"httpStatusCode": 400,
"errorCode": 92533,
"message": "The update request for the automation project (ID 07d7b51f-6970-4225-8f03-eda03fcc810c) is not valid.",
"remediation": "Use the \"updateState\" endpoint.",
"errors": [
{
"errorCode": 92442,
"message": "The operation is not allowed. The state of the automation project must be updated using the link relation named \"updateState\".",
"remediation": "Use the \"updateState\" endpoint."
}
]
}
Not Found
{
"version": 2,
"httpStatusCode": 404,
"errorCode": 92422,
"message": "The specified resource was not found.",
"remediation": "Resubmit the request with a valid ID."
}
{
"version": 2,
"httpStatusCode": 404,
"errorCode": 92422,
"message": "The specified resource was not found.",
"remediation": "Resubmit the request with a valid ID."
}
The If-Match header value does not match the expected ETag value.
{
"version": 2,
"httpStatusCode": 412,
"message": "The header field \"If-Match\" has a value that is different from the entity tag for the resource. (The specified values are \"first-ETag-value\" and \"second-ETag-value\", respectively.)"
}
{
"version": 2,
"httpStatusCode": 412,
"message": "The header field \"If-Match\" has a value that is different from the entity tag for the resource. (The specified values are \"first-ETag-value\" and \"second-ETag-value\", respectively.)"
}
The If-Match header is required and missing or empty.
{
"version": 2,
"httpStatusCode": 428,
"message": "The header field \"If-Match\" is missing or does not have a value.",
"remediation": "Specify the resource's entity tag."
}
{
"version": 2,
"httpStatusCode": 428,
"message": "The header field \"If-Match\" is missing or does not have a value.",
"remediation": "Specify the resource's entity tag."
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
202 | Accepted | The action was accepted and the automation project was updated. | mlPipelineAutomationProject |
400 | Bad Request | One or more parameters were invalid. | Inline |
404 | Not Found | No automation project with the provided entity ID was found. | Inline |
412 | Precondition Failed | The value supplied in the If-Match header did not match the expected value. | Inline |
428 | Precondition Required | An If-Match header was not supplied on the update request. | Inline |
Response Schema
Status Code 400
Error
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ยป message | string | false | none | The message for the error. |
ยป id | string | false | none | The string ID for the error. |
ยป errorCode | integer | false | none | The numeric ID for the error. |
ยป httpStatusCode | integer | true | none | The HTTP status code for the error. |
ยป details | [string] | false | none | Messages that provide additional details about the cause of the error. |
ยป remediation | string | false | none | A message that describes how to resolve the error. |
ยป errors | [#/paths/~1projects/get/responses/400/content/application~1json/schema] | false | none | Any additional errors that occurred. |
ยปยป Error | #/paths/~1projects/get/responses/400/content/application~1json/schema | false | none | The representation of an error. |
ยป links | [link] | false | none | The links that apply to the error. |
ยปยป Link | link | false | none | A link to a related operation or resource. |
ยปยปยป method | string | false | none | The HTTP method for the link. |
ยปยปยป rel | string | true | none | The relationship of the link to the resource. |
ยปยปยป uri | string | false | none | The relative URI for the link. |
ยปยปยป href | string | false | none | The URL for the link. |
ยปยปยป title | string | false | none | The title for the link. |
ยปยปยป type | string | false | none | The media type or link type for the link. |
ยปยปยป itemType | string | false | none | If this is a link to a container, itemType is the media type or link type for the items in the container. |
ยปยปยป responseType | string | false | none | The media type or link type of the response body for a PUT , POST , or PATCH operation. |
ยปยปยป responseItemType | string | false | none | The media type or link type of the items in the response body for a PUT , POST , or PATCH operation. |
ยป version | integer | true | none | The version number of the error representation. This representation is version 2. |
Status Code 404
Error
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ยป message | string | false | none | The message for the error. |
ยป id | string | false | none | The string ID for the error. |
ยป errorCode | integer | false | none | The numeric ID for the error. |
ยป httpStatusCode | integer | true | none | The HTTP status code for the error. |
ยป details | [string] | false | none | Messages that provide additional details about the cause of the error. |
ยป remediation | string | false | none | A message that describes how to resolve the error. |
ยป errors | [#/paths/~1projects/get/responses/400/content/application~1json/schema] | false | none | Any additional errors that occurred. |
ยปยป Error | #/paths/~1projects/get/responses/400/content/application~1json/schema | false | none | The representation of an error. |
ยป links | [link] | false | none | The links that apply to the error. |
ยปยป Link | link | false | none | A link to a related operation or resource. |
ยปยปยป method | string | false | none | The HTTP method for the link. |
ยปยปยป rel | string | true | none | The relationship of the link to the resource. |
ยปยปยป uri | string | false | none | The relative URI for the link. |
ยปยปยป href | string | false | none | The URL for the link. |
ยปยปยป title | string | false | none | The title for the link. |
ยปยปยป type | string | false | none | The media type or link type for the link. |
ยปยปยป itemType | string | false | none | If this is a link to a container, itemType is the media type or link type for the items in the container. |
ยปยปยป responseType | string | false | none | The media type or link type of the response body for a PUT , POST , or PATCH operation. |
ยปยปยป responseItemType | string | false | none | The media type or link type of the items in the response body for a PUT , POST , or PATCH operation. |
ยป version | integer | true | none | The version number of the error representation. This representation is version 2. |
Status Code 412
Error
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ยป message | string | false | none | The message for the error. |
ยป id | string | false | none | The string ID for the error. |
ยป errorCode | integer | false | none | The numeric ID for the error. |
ยป httpStatusCode | integer | true | none | The HTTP status code for the error. |
ยป details | [string] | false | none | Messages that provide additional details about the cause of the error. |
ยป remediation | string | false | none | A message that describes how to resolve the error. |
ยป errors | [#/paths/~1projects/get/responses/400/content/application~1json/schema] | false | none | Any additional errors that occurred. |
ยปยป Error | #/paths/~1projects/get/responses/400/content/application~1json/schema | false | none | The representation of an error. |
ยป links | [link] | false | none | The links that apply to the error. |
ยปยป Link | link | false | none | A link to a related operation or resource. |
ยปยปยป method | string | false | none | The HTTP method for the link. |
ยปยปยป rel | string | true | none | The relationship of the link to the resource. |
ยปยปยป uri | string | false | none | The relative URI for the link. |
ยปยปยป href | string | false | none | The URL for the link. |
ยปยปยป title | string | false | none | The title for the link. |
ยปยปยป type | string | false | none | The media type or link type for the link. |
ยปยปยป itemType | string | false | none | If this is a link to a container, itemType is the media type or link type for the items in the container. |
ยปยปยป responseType | string | false | none | The media type or link type of the response body for a PUT , POST , or PATCH operation. |
ยปยปยป responseItemType | string | false | none | The media type or link type of the items in the response body for a PUT , POST , or PATCH operation. |
ยป version | integer | true | none | The version number of the error representation. This representation is version 2. |
Status Code 428
Error
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ยป message | string | false | none | The message for the error. |
ยป id | string | false | none | The string ID for the error. |
ยป errorCode | integer | false | none | The numeric ID for the error. |
ยป httpStatusCode | integer | true | none | The HTTP status code for the error. |
ยป details | [string] | false | none | Messages that provide additional details about the cause of the error. |
ยป remediation | string | false | none | A message that describes how to resolve the error. |
ยป errors | [#/paths/~1projects/get/responses/400/content/application~1json/schema] | false | none | Any additional errors that occurred. |
ยปยป Error | #/paths/~1projects/get/responses/400/content/application~1json/schema | false | none | The representation of an error. |
ยป links | [link] | false | none | The links that apply to the error. |
ยปยป Link | link | false | none | A link to a related operation or resource. |
ยปยปยป method | string | false | none | The HTTP method for the link. |
ยปยปยป rel | string | true | none | The relationship of the link to the resource. |
ยปยปยป uri | string | false | none | The relative URI for the link. |
ยปยปยป href | string | false | none | The URL for the link. |
ยปยปยป title | string | false | none | The title for the link. |
ยปยปยป type | string | false | none | The media type or link type for the link. |
ยปยปยป itemType | string | false | none | If this is a link to a container, itemType is the media type or link type for the items in the container. |
ยปยปยป responseType | string | false | none | The media type or link type of the response body for a PUT , POST , or PATCH operation. |
ยปยปยป responseItemType | string | false | none | The media type or link type of the items in the response body for a PUT , POST , or PATCH operation. |
ยป version | integer | true | none | The version number of the error representation. This representation is version 2. |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
202 | ETag | string | E-Tag for response. |
Get the headers for champion model information for a completed automation project
Code samples
# You can also use wget
curl -X HEAD https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel
-H 'Authorization: Bearer <access-token-goes-here>' \
fetch('https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel',
{
method: 'HEAD'
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
r = requests.head('https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel')
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("HEAD", "https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
HEAD /projects/{projectId}/models/@championModel
Get the headers for champion model information for a completed automation project specified by project ID.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
projectId | path | string | true | projectId |
filter | query | string | false | filter |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The request succeeded. | None |
400 | Bad Request | One or more parameters were invalid. | None |
404 | Not Found | No project with the provided ID was found. | None |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Content-Type | string | No description | |
200 | ETag | string | No description | |
400 | Content-Type | string | No description | |
400 | ETag | string | No description | |
404 | Content-Type | string | No description | |
404 | ETag | string | No description |
Get the champion model information for a completed automation project
Code samples
# You can also use wget
curl -X GET https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel \
-H 'Authorization: Bearer <access-token-goes-here>' \
-H 'Accept: application/json'
const headers = {
'Accept':'application/json'
};
fetch('https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel', headers = headers)
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /projects/{projectId}/models/@championModel
Get the champion model information for a completed automation project specified by project ID.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
projectId | path | string | true | projectId |
filter | query | string | false | filter |
Example responses
The champion model for a project
{
"name": "Forest (2)",
"links": [
{
"method": "GET",
"rel": "up",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "GET",
"rel": "self",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project.champion.model"
},
{
"method": "GET",
"rel": "championModelReports",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reports",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reports",
"type": "application/vnd.sas.collection",
"itemType": "application/vnd.sas.analytics.report"
},
{
"method": "GET",
"rel": "championModelReportSummary",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reportSummary",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reportSummary",
"type": "application/vnd.sas.collection",
"itemType": "application/vnd.sas.summary"
},
{
"method": "PUT",
"rel": "registerChampionModel",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=register",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=register"
},
{
"method": "PUT",
"rel": "publishChampionModel",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=publish",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=publish"
},
{
"method": "POST",
"rel": "scoreData",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/scoreData",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/scoreData",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.score.data.input",
"responseType": "application/vnd.sas.analytics.ml.pipeline.automation.score.data.output"
}
],
"publishDestinations": [
{
"name": "maslocal",
"description": "The default publishing destination for the Micro Analytic Score service.",
"destinationType": "microAnalyticService"
},
{
"name": "AACASDestination",
"destinationType": "cas",
"destinationTable": "aa_cas_model_table",
"casServerName": "cas-shared-default",
"casLibrary": "Public"
}
]
}
{
"name": "Forest (2)",
"links": [
{
"method": "GET",
"rel": "up",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "GET",
"rel": "self",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project.champion.model"
},
{
"method": "GET",
"rel": "championModelReports",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reports",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reports",
"type": "application/vnd.sas.collection",
"itemType": "application/vnd.sas.analytics.report"
},
{
"method": "GET",
"rel": "championModelReportSummary",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reportSummary",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/reportSummary",
"type": "application/vnd.sas.collection",
"itemType": "application/vnd.sas.summary"
},
{
"method": "PUT",
"rel": "registerChampionModel",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=register",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=register"
},
{
"method": "PUT",
"rel": "publishChampionModel",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=publish",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel?action=publish"
},
{
"method": "POST",
"rel": "scoreData",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/scoreData",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/models/@championModel/scoreData",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.score.data.input",
"responseType": "application/vnd.sas.analytics.ml.pipeline.automation.score.data.output"
}
],
"publishDestinations": [
{
"name": "maslocal",
"description": "The default publishing destination for the Micro Analytic Score service.",
"destinationType": "microAnalyticService"
},
{
"name": "AACASDestination",
"destinationType": "cas",
"destinationTable": "aa_cas_model_table",
"casServerName": "cas-shared-default",
"casLibrary": "Public"
}
]
}
Bad Request
{
"httpStatusCode": 400,
"errorCode": 92515,
"message": "The required arguments of the provided automation project did not pass validation.",
"details": [
"path: /mlPipelineAutomation/some/path",
"correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
],
"remediation": "Correct the request by providing a valid \"some-property\" value.",
"errors": [
{
"errorCode": 92442,
"message": "A more specific error message.",
"remediation": "A message on how to correct the issue."
}
]
}
Example of an error response with GET request specified with invalid filter.
{
"errorCode": 92513,
"errors": [
{
"httpStatusCode": 500,
"errorCode": 92513,
"message": "The query context is not valid.",
"details": [
"Request params: {Start:0 Limit:10 SortBy: Filter:eq(name,'bad_filter' Bag:map[):]}"
],
"errors": [
{
"message": "InvalidInputError: The filter 'eq(name,'bad_filter'' is not valid. Error Code: 1104"
}
]
}
],
"httpStatusCode": 400,
"message": "The query context is not valid.",
"remediation": "Correct the URI parameters and resubmit the request.",
"version": 2
}
Bad Request
{
"httpStatusCode": 400,
"errorCode": 92515,
"message": "The required arguments of the provided automation project did not pass validation.",
"details": [
"path: /mlPipelineAutomation/some/path",
"correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
],
"remediation": "Correct the request by providing a valid \"some-property\" value.",
"errors": [
{
"errorCode": 92442,
"message": "A more specific error message.",
"remediation": "A message on how to correct the issue."
}
]
}
Example of an error response with GET request specified with invalid filter.
{
"errorCode": 92513,
"errors": [
{
"httpStatusCode": 500,
"errorCode": 92513,
"message": "The query context is not valid.",
"details": [
"Request params: {Start:0 Limit:10 SortBy: Filter:eq(name,'bad_filter' Bag:map[):]}"
],
"errors": [
{
"message": "InvalidInputError: The filter 'eq(name,'bad_filter'' is not valid. Error Code: 1104"
}
]
}
],
"httpStatusCode": 400,
"message": "The query context is not valid.",
"remediation": "Correct the URI parameters and resubmit the request.",
"version": 2
}
Not Found
{
"version": 2,
"httpStatusCode": 404,
"errorCode": 92422,
"message": "The specified resource was not found.",
"remediation": "Resubmit the request with a valid ID."
}
{
"version": 2,
"httpStatusCode": 404,
"errorCode": 92422,
"message": "The specified resource was not found.",
"remediation": "Resubmit the request with a valid ID."
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The request succeeded. | championModel |
400 | Bad Request | One or more parameters were invalid. | Inline |
404 | Not Found | No project with the provided ID was found. | Inline |
Response Schema
Status Code 400
Error
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ยป message | string | false | none | The message for the error. |
ยป id | string | false | none | The string ID for the error. |
ยป errorCode | integer | false | none | The numeric ID for the error. |
ยป httpStatusCode | integer | true | none | The HTTP status code for the error. |
ยป details | [string] | false | none | Messages that provide additional details about the cause of the error. |
ยป remediation | string | false | none | A message that describes how to resolve the error. |
ยป errors | [#/paths/~1projects/get/responses/400/content/application~1json/schema] | false | none | Any additional errors that occurred. |
ยปยป Error | #/paths/~1projects/get/responses/400/content/application~1json/schema | false | none | The representation of an error. |
ยป links | [link] | false | none | The links that apply to the error. |
ยปยป Link | link | false | none | A link to a related operation or resource. |
ยปยปยป method | string | false | none | The HTTP method for the link. |
ยปยปยป rel | string | true | none | The relationship of the link to the resource. |
ยปยปยป uri | string | false | none | The relative URI for the link. |
ยปยปยป href | string | false | none | The URL for the link. |
ยปยปยป title | string | false | none | The title for the link. |
ยปยปยป type | string | false | none | The media type or link type for the link. |
ยปยปยป itemType | string | false | none | If this is a link to a container, itemType is the media type or link type for the items in the container. |
ยปยปยป responseType | string | false | none | The media type or link type of the response body for a PUT , POST , or PATCH operation. |
ยปยปยป responseItemType | string | false | none | The media type or link type of the items in the response body for a PUT , POST , or PATCH operation. |
ยป version | integer | true | none | The version number of the error representation. This representation is version 2. |
Status Code 404
Error
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ยป message | string | false | none | The message for the error. |
ยป id | string | false | none | The string ID for the error. |
ยป errorCode | integer | false | none | The numeric ID for the error. |
ยป httpStatusCode | integer | true | none | The HTTP status code for the error. |
ยป details | [string] | false | none | Messages that provide additional details about the cause of the error. |
ยป remediation | string | false | none | A message that describes how to resolve the error. |
ยป errors | [#/paths/~1projects/get/responses/400/content/application~1json/schema] | false | none | Any additional errors that occurred. |
ยปยป Error | #/paths/~1projects/get/responses/400/content/application~1json/schema | false | none | The representation of an error. |
ยป links | [link] | false | none | The links that apply to the error. |
ยปยป Link | link | false | none | A link to a related operation or resource. |
ยปยปยป method | string | false | none | The HTTP method for the link. |
ยปยปยป rel | string | true | none | The relationship of the link to the resource. |
ยปยปยป uri | string | false | none | The relative URI for the link. |
ยปยปยป href | string | false | none | The URL for the link. |
ยปยปยป title | string | false | none | The title for the link. |
ยปยปยป type | string | false | none | The media type or link type for the link. |
ยปยปยป itemType | string | false | none | If this is a link to a container, itemType is the media type or link type for the items in the container. |
ยปยปยป responseType | string | false | none | The media type or link type of the response body for a PUT , POST , or PATCH operation. |
ยปยปยป responseItemType | string | false | none | The media type or link type of the items in the response body for a PUT , POST , or PATCH operation. |
ยป version | integer | true | none | The version number of the error representation. This representation is version 2. |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Content-Type | string | No description | |
200 | ETag | string | No description |
Register or publish the champion model of the automation project
Code samples
# You can also use wget
curl -X PUT https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel?action=register \
-H 'Authorization: Bearer <access-token-goes-here>' \
-H 'Accept: application/json'
const headers = {
'Accept':'application/json'
};
fetch('https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel?action=register',
{
method: 'PUT',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
headers = {
'Accept': 'application/json'
}
r = requests.put('https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel', params={
'action': 'register'
}, headers = headers)
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /projects/{projectId}/models/@championModel
Register or publish the automation project's champion model.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
projectId | path | string | true | projectId |
action | query | string | true | The action applied to a champion model, such as register or publish. |
destinationName | query | string | false | The destination of register or publish action. Optional for register but required for publish. |
Enumerated Values
Parameter | Value |
---|---|
action | register |
action | publish |
Example responses
200 Response
{
"name": "string",
"links": [
{
"method": "string",
"rel": "string",
"uri": "string",
"href": "string",
"title": "string",
"type": "string",
"itemType": "string",
"responseType": "string",
"responseItemType": "string"
}
],
"publishDestinations": [
{
"name": "string",
"description": "string",
"destinationType": "cas",
"destinationTable": "string",
"casServerName": "string",
"casLibrary": "string"
}
]
}
Bad Request
{
"httpStatusCode": 400,
"errorCode": 92515,
"message": "The required arguments of the provided automation project did not pass validation.",
"details": [
"path: /mlPipelineAutomation/some/path",
"correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
],
"remediation": "Correct the request by providing a valid \"some-property\" value.",
"errors": [
{
"errorCode": 92442,
"message": "A more specific error message.",
"remediation": "A message on how to correct the issue."
}
]
}
Not Found
{
"version": 2,
"httpStatusCode": 404,
"errorCode": 92422,
"message": "The specified resource was not found.",
"remediation": "Resubmit the request with a valid ID."
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The specified action was performed on the champion model. | championModel |
400 | Bad Request | The action is not supported. | Inline |
404 | Not Found | No automation project with the provided entity ID or its champion model was found. | Inline |
Response Schema
Status Code 400
Error
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ยป message | string | false | none | The message for the error. |
ยป id | string | false | none | The string ID for the error. |
ยป errorCode | integer | false | none | The numeric ID for the error. |
ยป httpStatusCode | integer | true | none | The HTTP status code for the error. |
ยป details | [string] | false | none | Messages that provide additional details about the cause of the error. |
ยป remediation | string | false | none | A message that describes how to resolve the error. |
ยป errors | [#/paths/~1projects/get/responses/400/content/application~1json/schema] | false | none | Any additional errors that occurred. |
ยปยป Error | #/paths/~1projects/get/responses/400/content/application~1json/schema | false | none | The representation of an error. |
ยป links | [link] | false | none | The links that apply to the error. |
ยปยป Link | link | false | none | A link to a related operation or resource. |
ยปยปยป method | string | false | none | The HTTP method for the link. |
ยปยปยป rel | string | true | none | The relationship of the link to the resource. |
ยปยปยป uri | string | false | none | The relative URI for the link. |
ยปยปยป href | string | false | none | The URL for the link. |
ยปยปยป title | string | false | none | The title for the link. |
ยปยปยป type | string | false | none | The media type or link type for the link. |
ยปยปยป itemType | string | false | none | If this is a link to a container, itemType is the media type or link type for the items in the container. |
ยปยปยป responseType | string | false | none | The media type or link type of the response body for a PUT , POST , or PATCH operation. |
ยปยปยป responseItemType | string | false | none | The media type or link type of the items in the response body for a PUT , POST , or PATCH operation. |
ยป version | integer | true | none | The version number of the error representation. This representation is version 2. |
Status Code 404
Error
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ยป message | string | false | none | The message for the error. |
ยป id | string | false | none | The string ID for the error. |
ยป errorCode | integer | false | none | The numeric ID for the error. |
ยป httpStatusCode | integer | true | none | The HTTP status code for the error. |
ยป details | [string] | false | none | Messages that provide additional details about the cause of the error. |
ยป remediation | string | false | none | A message that describes how to resolve the error. |
ยป errors | [#/paths/~1projects/get/responses/400/content/application~1json/schema] | false | none | Any additional errors that occurred. |
ยปยป Error | #/paths/~1projects/get/responses/400/content/application~1json/schema | false | none | The representation of an error. |
ยป links | [link] | false | none | The links that apply to the error. |
ยปยป Link | link | false | none | A link to a related operation or resource. |
ยปยปยป method | string | false | none | The HTTP method for the link. |
ยปยปยป rel | string | true | none | The relationship of the link to the resource. |
ยปยปยป uri | string | false | none | The relative URI for the link. |
ยปยปยป href | string | false | none | The URL for the link. |
ยปยปยป title | string | false | none | The title for the link. |
ยปยปยป type | string | false | none | The media type or link type for the link. |
ยปยปยป itemType | string | false | none | If this is a link to a container, itemType is the media type or link type for the items in the container. |
ยปยปยป responseType | string | false | none | The media type or link type of the response body for a PUT , POST , or PATCH operation. |
ยปยปยป responseItemType | string | false | none | The media type or link type of the items in the response body for a PUT , POST , or PATCH operation. |
ยป version | integer | true | none | The version number of the error representation. This representation is version 2. |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | ETag | string | E-Tag for response. |
Get the headers for champion model reports for a completed automation project
Code samples
# You can also use wget
curl -X HEAD https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel/reports
-H 'Authorization: Bearer <access-token-goes-here>' \
fetch('https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel/reports',
{
method: 'HEAD'
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
r = requests.head('https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel/reports')
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("HEAD", "https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel/reports", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
HEAD /projects/{projectId}/models/@championModel/reports
Get the headers for champion model reports for a completed automation project specified by project ID.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
projectId | path | string | true | projectId |
reportName | query | array[string] | false | If provided, only the specified are returned. To specify multiple reports with this, use the parameter once for each report. For example, to return 3 reports named report1, report2, and report3, use ?reportName=report1&reportName=report2&reportName=report3 |
filter | query | string | false | filter |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The request succeeded. | None |
400 | Bad Request | One or more parameters were invalid. | None |
404 | Not Found | No project with the provided ID was found. | None |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Content-Type | string | No description | |
400 | Content-Type | string | No description | |
404 | Content-Type | string | No description |
Get the champion model reports for a completed automation project
Code samples
# You can also use wget
curl -X GET https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel/reports \
-H 'Authorization: Bearer <access-token-goes-here>' \
-H 'Accept: application/json'
const headers = {
'Accept':'application/json'
};
fetch('https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel/reports',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel/reports', headers = headers)
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel/reports", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /projects/{projectId}/models/@championModel/reports
Get the champion model reports for a completed automation project specified by project ID. If the reportName parameter is not included, a list of default reports are returned. The reportName parameter can be used to return a sub set of these reports. The default reports returned for a binary target are iterplot, varimportance, dmcas_lift, dmcas_roc, dmcas_fitstat, and dmcas_misc. The default reports returned for an interval target are iterplot, varimportance, dmcas_lift, and dmcas_fitstat. The default reports for a nominal target are dmcas_lift, dmcas_roc, dmcas_fitstat, dmcas_misc, dmcas_miscTable and dmcas_nommisc.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
projectId | path | string | true | projectId |
reportName | query | array[string] | false | If provided, only the specified are returned. To specify multiple reports with this, use the parameter once for each report. For example, to return 3 reports named report1, report2, and report3, use ?reportName=report1&reportName=report2&reportName=report3 |
filter | query | string | false | filter |
Example responses
Generated project reports
{
"version": 3,
"accept": "application/vnd.sas.collection+json",
"count": 1,
"start": 0,
"limit": 0,
"name": "collection",
"items": [
{
"creationTimeStamp": "2022-03-02T07:48:23.533937455Z",
"modifiedTimeStamp": "2022-03-02T07:48:23.533937455Z",
"revision": 0,
"id": "projectSummary",
"name": "projectSummary",
"description": "Project Summary",
"version": 1,
"order": 0,
"type": "html",
"parameterMap": {
"contents": {
"label": "Contents",
"length": 2147483647,
"parameter": "contents",
"preformatted": false,
"type": "char",
"values": [
"contents"
]
},
"download": {
"parameter": "download",
"preformatted": false,
"type": "char",
"values": [
"Y"
]
},
"lineNumber": {
"label": "Line number",
"length": 2147483647,
"parameter": "lineNumber",
"preformatted": false,
"type": "num",
"values": [
"lineNumber"
]
}
},
"data": [
{
"dataMap": {
"contents": "<p class=\"insightsSummaryText\"><p> The champion model for this project is Forest (2) from the \"SAS Automatically Generated Pipeline 1\" pipeline. The model was chosen based on the Average Squared Error for the Validate partition (25,129,706.36). The five most important factors are Imputed Transformed VALUE, Imputed Transformed MORTDUE, JOB, Imputed Transformed CLNO, and Imputed Transformed YOJ.</p></p>\n\n<table class=\"insightsSummaryTable\">\n <tr>\n <td class=\"insightsSummaryTableKey\">Project Target:</td>\n <td class=\"insightsSummaryTableValue\">LOAN</td>\n <td class=\"insightsSummaryTableKey\">Project Champion:</td>\n <td class=\"insightsSummaryTableValue\">Forest (2)</td>\n </tr>\n <tr>\n <td class=\"insightsSummaryTableKey\">Overall Average:</td>\n <td class=\"insightsSummaryTableValue\">18607.9698</td>\n <td class=\"insightsSummaryTableKey\">Created By:</td>\n <td class=\"insightsSummaryTableValue\">emduser1</td>\n </tr>\n <tr>\n <td class=\"insightsSummaryTableKey\">Pipelines:</td>\n <td class=\"insightsSummaryTableValue\">2</td>\n <td class=\"insightsSummaryTableKey\">Modified:</td>\n <td class=\"insightsSummaryTableValue\">Mar 2, 2022 7:38:24 AM</td>\n </tr>\n</table>\n",
"lineNumber": 1
},
"rowNumber": 0
}
],
"xInteger": false,
"yInteger": false
}
],
"links": [
{
"method": "GET",
"rel": "up",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "GET",
"rel": "self",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/reports",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/reports",
"type": "application/vnd.sas.collection"
}
]
}
{
"version": 3,
"accept": "application/vnd.sas.collection+json",
"count": 1,
"start": 0,
"limit": 0,
"name": "collection",
"items": [
{
"creationTimeStamp": "2022-03-02T07:48:23.533937455Z",
"modifiedTimeStamp": "2022-03-02T07:48:23.533937455Z",
"revision": 0,
"id": "projectSummary",
"name": "projectSummary",
"description": "Project Summary",
"version": 1,
"order": 0,
"type": "html",
"parameterMap": {
"contents": {
"label": "Contents",
"length": 2147483647,
"parameter": "contents",
"preformatted": false,
"type": "char",
"values": [
"contents"
]
},
"download": {
"parameter": "download",
"preformatted": false,
"type": "char",
"values": [
"Y"
]
},
"lineNumber": {
"label": "Line number",
"length": 2147483647,
"parameter": "lineNumber",
"preformatted": false,
"type": "num",
"values": [
"lineNumber"
]
}
},
"data": [
{
"dataMap": {
"contents": "<p class=\"insightsSummaryText\"><p> The champion model for this project is Forest (2) from the \"SAS Automatically Generated Pipeline 1\" pipeline. The model was chosen based on the Average Squared Error for the Validate partition (25,129,706.36). The five most important factors are Imputed Transformed VALUE, Imputed Transformed MORTDUE, JOB, Imputed Transformed CLNO, and Imputed Transformed YOJ.</p></p>\n\n<table class=\"insightsSummaryTable\">\n <tr>\n <td class=\"insightsSummaryTableKey\">Project Target:</td>\n <td class=\"insightsSummaryTableValue\">LOAN</td>\n <td class=\"insightsSummaryTableKey\">Project Champion:</td>\n <td class=\"insightsSummaryTableValue\">Forest (2)</td>\n </tr>\n <tr>\n <td class=\"insightsSummaryTableKey\">Overall Average:</td>\n <td class=\"insightsSummaryTableValue\">18607.9698</td>\n <td class=\"insightsSummaryTableKey\">Created By:</td>\n <td class=\"insightsSummaryTableValue\">emduser1</td>\n </tr>\n <tr>\n <td class=\"insightsSummaryTableKey\">Pipelines:</td>\n <td class=\"insightsSummaryTableValue\">2</td>\n <td class=\"insightsSummaryTableKey\">Modified:</td>\n <td class=\"insightsSummaryTableValue\">Mar 2, 2022 7:38:24 AM</td>\n </tr>\n</table>\n",
"lineNumber": 1
},
"rowNumber": 0
}
],
"xInteger": false,
"yInteger": false
}
],
"links": [
{
"method": "GET",
"rel": "up",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "GET",
"rel": "self",
"href": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/reports",
"uri": "/mlPipelineAutomation/projects/07d7b51f-6970-4225-8f03-eda03fcc810c/reports",
"type": "application/vnd.sas.collection"
}
]
}
Bad Request
{
"httpStatusCode": 400,
"errorCode": 92515,
"message": "The required arguments of the provided automation project did not pass validation.",
"details": [
"path: /mlPipelineAutomation/some/path",
"correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
],
"remediation": "Correct the request by providing a valid \"some-property\" value.",
"errors": [
{
"errorCode": 92442,
"message": "A more specific error message.",
"remediation": "A message on how to correct the issue."
}
]
}
Example of an error response with GET request specified with invalid filter.
{
"errorCode": 92513,
"errors": [
{
"httpStatusCode": 500,
"errorCode": 92513,
"message": "The query context is not valid.",
"details": [
"Request params: {Start:0 Limit:10 SortBy: Filter:eq(name,'bad_filter' Bag:map[):]}"
],
"errors": [
{
"message": "InvalidInputError: The filter 'eq(name,'bad_filter'' is not valid. Error Code: 1104"
}
]
}
],
"httpStatusCode": 400,
"message": "The query context is not valid.",
"remediation": "Correct the URI parameters and resubmit the request.",
"version": 2
}
Bad Request
{
"httpStatusCode": 400,
"errorCode": 92515,
"message": "The required arguments of the provided automation project did not pass validation.",
"details": [
"path: /mlPipelineAutomation/some/path",
"correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
],
"remediation": "Correct the request by providing a valid \"some-property\" value.",
"errors": [
{
"errorCode": 92442,
"message": "A more specific error message.",
"remediation": "A message on how to correct the issue."
}
]
}
Example of an error response with GET request specified with invalid filter.
{
"errorCode": 92513,
"errors": [
{
"httpStatusCode": 500,
"errorCode": 92513,
"message": "The query context is not valid.",
"details": [
"Request params: {Start:0 Limit:10 SortBy: Filter:eq(name,'bad_filter' Bag:map[):]}"
],
"errors": [
{
"message": "InvalidInputError: The filter 'eq(name,'bad_filter'' is not valid. Error Code: 1104"
}
]
}
],
"httpStatusCode": 400,
"message": "The query context is not valid.",
"remediation": "Correct the URI parameters and resubmit the request.",
"version": 2
}
Not Found
{
"version": 2,
"httpStatusCode": 404,
"errorCode": 92422,
"message": "The specified resource was not found.",
"remediation": "Resubmit the request with a valid ID."
}
{
"version": 2,
"httpStatusCode": 404,
"errorCode": 92422,
"message": "The specified resource was not found.",
"remediation": "Resubmit the request with a valid ID."
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The request succeeded. | reportCollection |
400 | Bad Request | One or more parameters were invalid. | Inline |
404 | Not Found | No project with the provided ID was found. | Inline |
Response Schema
Status Code 400
Error
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ยป message | string | false | none | The message for the error. |
ยป id | string | false | none | The string ID for the error. |
ยป errorCode | integer | false | none | The numeric ID for the error. |
ยป httpStatusCode | integer | true | none | The HTTP status code for the error. |
ยป details | [string] | false | none | Messages that provide additional details about the cause of the error. |
ยป remediation | string | false | none | A message that describes how to resolve the error. |
ยป errors | [#/paths/~1projects/get/responses/400/content/application~1json/schema] | false | none | Any additional errors that occurred. |
ยปยป Error | #/paths/~1projects/get/responses/400/content/application~1json/schema | false | none | The representation of an error. |
ยป links | [link] | false | none | The links that apply to the error. |
ยปยป Link | link | false | none | A link to a related operation or resource. |
ยปยปยป method | string | false | none | The HTTP method for the link. |
ยปยปยป rel | string | true | none | The relationship of the link to the resource. |
ยปยปยป uri | string | false | none | The relative URI for the link. |
ยปยปยป href | string | false | none | The URL for the link. |
ยปยปยป title | string | false | none | The title for the link. |
ยปยปยป type | string | false | none | The media type or link type for the link. |
ยปยปยป itemType | string | false | none | If this is a link to a container, itemType is the media type or link type for the items in the container. |
ยปยปยป responseType | string | false | none | The media type or link type of the response body for a PUT , POST , or PATCH operation. |
ยปยปยป responseItemType | string | false | none | The media type or link type of the items in the response body for a PUT , POST , or PATCH operation. |
ยป version | integer | true | none | The version number of the error representation. This representation is version 2. |
Status Code 404
Error
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ยป message | string | false | none | The message for the error. |
ยป id | string | false | none | The string ID for the error. |
ยป errorCode | integer | false | none | The numeric ID for the error. |
ยป httpStatusCode | integer | true | none | The HTTP status code for the error. |
ยป details | [string] | false | none | Messages that provide additional details about the cause of the error. |
ยป remediation | string | false | none | A message that describes how to resolve the error. |
ยป errors | [#/paths/~1projects/get/responses/400/content/application~1json/schema] | false | none | Any additional errors that occurred. |
ยปยป Error | #/paths/~1projects/get/responses/400/content/application~1json/schema | false | none | The representation of an error. |
ยป links | [link] | false | none | The links that apply to the error. |
ยปยป Link | link | false | none | A link to a related operation or resource. |
ยปยปยป method | string | false | none | The HTTP method for the link. |
ยปยปยป rel | string | true | none | The relationship of the link to the resource. |
ยปยปยป uri | string | false | none | The relative URI for the link. |
ยปยปยป href | string | false | none | The URL for the link. |
ยปยปยป title | string | false | none | The title for the link. |
ยปยปยป type | string | false | none | The media type or link type for the link. |
ยปยปยป itemType | string | false | none | If this is a link to a container, itemType is the media type or link type for the items in the container. |
ยปยปยป responseType | string | false | none | The media type or link type of the response body for a PUT , POST , or PATCH operation. |
ยปยปยป responseItemType | string | false | none | The media type or link type of the items in the response body for a PUT , POST , or PATCH operation. |
ยป version | integer | true | none | The version number of the error representation. This representation is version 2. |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Content-Type | string | No description |
Score data with the champion model of the automation project
Code samples
# You can also use wget
curl -X POST https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel/scoreData \
-H 'Authorization: Bearer <access-token-goes-here>' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
const inputBody = '{
"scoreType": "Individual",
"destinationName": "maslocal",
"inputs": [
{
"name": "CLAGE",
"value": "300"
},
{
"name": "DEBTINC",
"value": "24.5"
}
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
fetch('https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel/scoreData',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
r = requests.post('https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel/scoreData', headers = headers)
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://example.com/mlPipelineAutomation/projects/{projectId}/models/@championModel/scoreData", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /projects/{projectId}/models/@championModel/scoreData
Score data with the automation project's champion model.
Body parameter
Request body for scoring individual data
{
"scoreType": "Individual",
"destinationName": "maslocal",
"inputs": [
{
"name": "CLAGE",
"value": "300"
},
{
"name": "DEBTINC",
"value": "24.5"
}
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
projectId | path | string | true | The automation project ID |
body | body | scoreDataInput | true | The score data input |
Example responses
Response from scoring a champion model
{
"version": 3,
"executionState": "completed",
"scoreExecution": [],
"outputs": []
}
{
"version": 3,
"executionState": "completed",
"scoreExecution": [],
"outputs": []
}
Bad Request
{
"httpStatusCode": 400,
"errorCode": 92515,
"message": "The required arguments of the provided automation project did not pass validation.",
"details": [
"path: /mlPipelineAutomation/some/path",
"correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
],
"remediation": "Correct the request by providing a valid \"some-property\" value.",
"errors": [
{
"errorCode": 92442,
"message": "A more specific error message.",
"remediation": "A message on how to correct the issue."
}
]
}
Example of an error response when required fields are missing
{
"httpStatusCode": 400,
"errorCode": 92515,
"message": "The required arguments of the provided automation project did not pass validation.",
"remediation": "Correct the request body by providing a valid project name value for the \"name\" attribute.",
"errors": [
{
"errorCode": 92442,
"message": "The provided project name \"\" was missing or invalid.",
"remediation": "Correct the request body by providing a valid project name value for the \"name\" attribute."
}
]
}
Bad Request
{
"httpStatusCode": 400,
"errorCode": 92515,
"message": "The required arguments of the provided automation project did not pass validation.",
"details": [
"path: /mlPipelineAutomation/some/path",
"correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
],
"remediation": "Correct the request by providing a valid \"some-property\" value.",
"errors": [
{
"errorCode": 92442,
"message": "A more specific error message.",
"remediation": "A message on how to correct the issue."
}
]
}
Example of an error response when required fields are missing
{
"httpStatusCode": 400,
"errorCode": 92515,
"message": "The required arguments of the provided automation project did not pass validation.",
"remediation": "Correct the request body by providing a valid project name value for the \"name\" attribute.",
"errors": [
{
"errorCode": 92442,
"message": "The provided project name \"\" was missing or invalid.",
"remediation": "Correct the request body by providing a valid project name value for the \"name\" attribute."
}
]
}
Not Found
{
"version": 2,
"httpStatusCode": 404,
"errorCode": 92422,
"message": "The specified resource was not found.",
"remediation": "Resubmit the request with a valid ID."
}
{
"version": 2,
"httpStatusCode": 404,
"errorCode": 92422,
"message": "The specified resource was not found.",
"remediation": "Resubmit the request with a valid ID."
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The request succeeded. | scoreDataOutput |
400 | Bad Request | The request cannot be processed. | Inline |
404 | Not Found | No required resources could be found. For example, automation project, analytics project, or champion model. This error condition could also occur if the champion model was not published to the supported destination. | Inline |
Response Schema
Status Code 400
Error
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ยป message | string | false | none | The message for the error. |
ยป id | string | false | none | The string ID for the error. |
ยป errorCode | integer | false | none | The numeric ID for the error. |
ยป httpStatusCode | integer | true | none | The HTTP status code for the error. |
ยป details | [string] | false | none | Messages that provide additional details about the cause of the error. |
ยป remediation | string | false | none | A message that describes how to resolve the error. |
ยป errors | [#/paths/~1projects/get/responses/400/content/application~1json/schema] | false | none | Any additional errors that occurred. |
ยปยป Error | #/paths/~1projects/get/responses/400/content/application~1json/schema | false | none | The representation of an error. |
ยป links | [link] | false | none | The links that apply to the error. |
ยปยป Link | link | false | none | A link to a related operation or resource. |
ยปยปยป method | string | false | none | The HTTP method for the link. |
ยปยปยป rel | string | true | none | The relationship of the link to the resource. |
ยปยปยป uri | string | false | none | The relative URI for the link. |
ยปยปยป href | string | false | none | The URL for the link. |
ยปยปยป title | string | false | none | The title for the link. |
ยปยปยป type | string | false | none | The media type or link type for the link. |
ยปยปยป itemType | string | false | none | If this is a link to a container, itemType is the media type or link type for the items in the container. |
ยปยปยป responseType | string | false | none | The media type or link type of the response body for a PUT , POST , or PATCH operation. |
ยปยปยป responseItemType | string | false | none | The media type or link type of the items in the response body for a PUT , POST , or PATCH operation. |
ยป version | integer | true | none | The version number of the error representation. This representation is version 2. |
Status Code 404
Error
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ยป message | string | false | none | The message for the error. |
ยป id | string | false | none | The string ID for the error. |
ยป errorCode | integer | false | none | The numeric ID for the error. |
ยป httpStatusCode | integer | true | none | The HTTP status code for the error. |
ยป details | [string] | false | none | Messages that provide additional details about the cause of the error. |
ยป remediation | string | false | none | A message that describes how to resolve the error. |
ยป errors | [#/paths/~1projects/get/responses/400/content/application~1json/schema] | false | none | Any additional errors that occurred. |
ยปยป Error | #/paths/~1projects/get/responses/400/content/application~1json/schema | false | none | The representation of an error. |
ยป links | [link] | false | none | The links that apply to the error. |
ยปยป Link | link | false | none | A link to a related operation or resource. |
ยปยปยป method | string | false | none | The HTTP method for the link. |
ยปยปยป rel | string | true | none | The relationship of the link to the resource. |
ยปยปยป uri | string | false | none | The relative URI for the link. |
ยปยปยป href | string | false | none | The URL for the link. |
ยปยปยป title | string | false | none | The title for the link. |
ยปยปยป type | string | false | none | The media type or link type for the link. |
ยปยปยป itemType | string | false | none | If this is a link to a container, itemType is the media type or link type for the items in the container. |
ยปยปยป responseType | string | false | none | The media type or link type of the response body for a PUT , POST , or PATCH operation. |
ยปยปยป responseItemType | string | false | none | The media type or link type of the items in the response body for a PUT , POST , or PATCH operation. |
ยป version | integer | true | none | The version number of the error representation. This representation is version 2. |
Get headers for current state of an automation project
Code samples
# You can also use wget
curl -X HEAD https://example.com/mlPipelineAutomation/projects/{projectId}/state
-H 'Authorization: Bearer <access-token-goes-here>' \
fetch('https://example.com/mlPipelineAutomation/projects/{projectId}/state',
{
method: 'HEAD'
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
r = requests.head('https://example.com/mlPipelineAutomation/projects/{projectId}/state')
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("HEAD", "https://example.com/mlPipelineAutomation/projects/{projectId}/state", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
HEAD /projects/{projectId}/state
Get headers for the request that gets the current state of an automation project
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
projectId | path | string | true | projectId |
filter | query | string | false | filter |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The request succeeded. | None |
400 | Bad Request | One or more parameters were invalid. | None |
404 | Not Found | No project with the provided ID was found. | None |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Content-Type | string | No description | |
200 | ETag | string | No description | |
400 | Content-Type | string | No description | |
400 | ETag | string | No description | |
404 | Content-Type | string | No description | |
404 | ETag | string | No description |
Get current state of an automation project
Code samples
# You can also use wget
curl -X GET https://example.com/mlPipelineAutomation/projects/{projectId}/state \
-H 'Authorization: Bearer <access-token-goes-here>' \
-H 'Accept: text/plain'
const headers = {
'Accept':'text/plain'
};
fetch('https://example.com/mlPipelineAutomation/projects/{projectId}/state',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
headers = {
'Accept': 'text/plain'
}
r = requests.get('https://example.com/mlPipelineAutomation/projects/{projectId}/state', headers = headers)
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"text/plain"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://example.com/mlPipelineAutomation/projects/{projectId}/state", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /projects/{projectId}/state
Automation project state can be one of these enum values. - pending: indicates that the underlying analytics project was created but has not been run yet. - preparing: gathering resources to process the pipeline. - waiting: indicates that the underlying analytics project metadata was updated. - ready: indicates that the underlying analytics project is preparing and ready to submit CASL code. - modeling: indicates that models are being composed and compared on CASL server. - constructingPipeline: indicates that pipelines are being built on CASL server. - runningPipeline: indicates that pipelines are being run on CASL server. - quiescing: indicates that the user request to quiesce the project modeling has been received. - quiesced: indicates that project modeling is being stopped in response to the user's quiescing request. - completed: indicates that the underlying analytics project has run to completion without errors. - canceled: indicates that the underlying analytics project run was canceled by user. - failed: indicates that the underlying analytics project has encountered errors during pipeline run and has stopped. - oversampling: the oversampling technique is being applied. - retraining: the project is being retrained.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
projectId | path | string | true | projectId |
filter | query | string | false | filter |
Example responses
200 Response
"completed"
Bad Request
{
"httpStatusCode": 400,
"errorCode": 92515,
"message": "The required arguments of the provided automation project did not pass validation.",
"details": [
"path: /mlPipelineAutomation/some/path",
"correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
],
"remediation": "Correct the request by providing a valid \"some-property\" value.",
"errors": [
{
"errorCode": 92442,
"message": "A more specific error message.",
"remediation": "A message on how to correct the issue."
}
]
}
Example of an error response with GET request specified with invalid filter.
{
"errorCode": 92513,
"errors": [
{
"httpStatusCode": 500,
"errorCode": 92513,
"message": "The query context is not valid.",
"details": [
"Request params: {Start:0 Limit:10 SortBy: Filter:eq(name,'bad_filter' Bag:map[):]}"
],
"errors": [
{
"message": "InvalidInputError: The filter 'eq(name,'bad_filter'' is not valid. Error Code: 1104"
}
]
}
],
"httpStatusCode": 400,
"message": "The query context is not valid.",
"remediation": "Correct the URI parameters and resubmit the request.",
"version": 2
}
Not Found
{
"version": 2,
"httpStatusCode": 404,
"errorCode": 92422,
"message": "The specified resource was not found.",
"remediation": "Resubmit the request with a valid ID."
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The request succeeded. | automationProjectState |
400 | Bad Request | One or more parameters were invalid. | Inline |
404 | Not Found | No project with the provided ID was found. | Inline |
Response Schema
Status Code 400
Error
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ยป message | string | false | none | The message for the error. |
ยป id | string | false | none | The string ID for the error. |
ยป errorCode | integer | false | none | The numeric ID for the error. |
ยป httpStatusCode | integer | true | none | The HTTP status code for the error. |
ยป details | [string] | false | none | Messages that provide additional details about the cause of the error. |
ยป remediation | string | false | none | A message that describes how to resolve the error. |
ยป errors | [#/paths/~1projects/get/responses/400/content/application~1json/schema] | false | none | Any additional errors that occurred. |
ยปยป Error | #/paths/~1projects/get/responses/400/content/application~1json/schema | false | none | The representation of an error. |
ยป links | [link] | false | none | The links that apply to the error. |
ยปยป Link | link | false | none | A link to a related operation or resource. |
ยปยปยป method | string | false | none | The HTTP method for the link. |
ยปยปยป rel | string | true | none | The relationship of the link to the resource. |
ยปยปยป uri | string | false | none | The relative URI for the link. |
ยปยปยป href | string | false | none | The URL for the link. |
ยปยปยป title | string | false | none | The title for the link. |
ยปยปยป type | string | false | none | The media type or link type for the link. |
ยปยปยป itemType | string | false | none | If this is a link to a container, itemType is the media type or link type for the items in the container. |
ยปยปยป responseType | string | false | none | The media type or link type of the response body for a PUT , POST , or PATCH operation. |
ยปยปยป responseItemType | string | false | none | The media type or link type of the items in the response body for a PUT , POST , or PATCH operation. |
ยป version | integer | true | none | The version number of the error representation. This representation is version 2. |
Status Code 404
Error
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ยป message | string | false | none | The message for the error. |
ยป id | string | false | none | The string ID for the error. |
ยป errorCode | integer | false | none | The numeric ID for the error. |
ยป httpStatusCode | integer | true | none | The HTTP status code for the error. |
ยป details | [string] | false | none | Messages that provide additional details about the cause of the error. |
ยป remediation | string | false | none | A message that describes how to resolve the error. |
ยป errors | [#/paths/~1projects/get/responses/400/content/application~1json/schema] | false | none | Any additional errors that occurred. |
ยปยป Error | #/paths/~1projects/get/responses/400/content/application~1json/schema | false | none | The representation of an error. |
ยป links | [link] | false | none | The links that apply to the error. |
ยปยป Link | link | false | none | A link to a related operation or resource. |
ยปยปยป method | string | false | none | The HTTP method for the link. |
ยปยปยป rel | string | true | none | The relationship of the link to the resource. |
ยปยปยป uri | string | false | none | The relative URI for the link. |
ยปยปยป href | string | false | none | The URL for the link. |
ยปยปยป title | string | false | none | The title for the link. |
ยปยปยป type | string | false | none | The media type or link type for the link. |
ยปยปยป itemType | string | false | none | If this is a link to a container, itemType is the media type or link type for the items in the container. |
ยปยปยป responseType | string | false | none | The media type or link type of the response body for a PUT , POST , or PATCH operation. |
ยปยปยป responseItemType | string | false | none | The media type or link type of the items in the response body for a PUT , POST , or PATCH operation. |
ยป version | integer | true | none | The version number of the error representation. This representation is version 2. |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Content-Type | string | No description | |
200 | ETag | string | No description |
Update state of the specified automation project
Code samples
# You can also use wget
curl -X PUT https://example.com/mlPipelineAutomation/projects/{projectId}/state?value=pending \
-H 'Authorization: Bearer <access-token-goes-here>' \
-H 'Accept: text/plain'
const headers = {
'Accept':'text/plain'
};
fetch('https://example.com/mlPipelineAutomation/projects/{projectId}/state?value=pending',
{
method: 'PUT',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
headers = {
'Accept': 'text/plain'
}
r = requests.put('https://example.com/mlPipelineAutomation/projects/{projectId}/state', params={
'value': 'pending'
}, headers = headers)
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"text/plain"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PUT", "https://example.com/mlPipelineAutomation/projects/{projectId}/state", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /projects/{projectId}/state
Update state of the automation project with the ID from the path. The automation project state is considered a single piece of information and operations on state are atomic. State update is completely controlled by the state machine based on current state and intended state.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
projectId | path | string | true | projectId |
value | query | automationProjectState | true | Intended automation project state. |
Enumerated Values
Parameter | Value |
---|---|
value | pending |
value | preparing |
value | waiting |
value | ready |
value | modeling |
value | constructingPipeline |
value | runningPipeline |
value | quiescing |
value | quiesced |
value | completed |
value | canceled |
value | failed |
value | oversampling |
value | retraining |
Example responses
202 Response
"completed"
Bad Request
{
"httpStatusCode": 400,
"errorCode": 92515,
"message": "The required arguments of the provided automation project did not pass validation.",
"details": [
"path: /mlPipelineAutomation/some/path",
"correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
],
"remediation": "Correct the request by providing a valid \"some-property\" value.",
"errors": [
{
"errorCode": 92442,
"message": "A more specific error message.",
"remediation": "A message on how to correct the issue."
}
]
}
Not Found
{
"version": 2,
"httpStatusCode": 404,
"errorCode": 92422,
"message": "The specified resource was not found.",
"remediation": "Resubmit the request with a valid ID."
}
There was a conflict with the current state of the target resource.
{
"version": 2,
"errorCode": 92434,
"httpStatusCode": 409,
"remediation": "An error has been encountered that indicates a software issue. Contact SAS Technical Support and provide the message and error code."
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
202 | Accepted | The state of automation project was updated. | automationProjectState |
400 | Bad Request | One or more parameters were invalid. | Inline |
404 | Not Found | No automation project with the provided entity ID was found. | Inline |
409 | Conflict | Transition from current to desired state is not permitted. | Inline |
Response Schema
Status Code 400
Error
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ยป message | string | false | none | The message for the error. |
ยป id | string | false | none | The string ID for the error. |
ยป errorCode | integer | false | none | The numeric ID for the error. |
ยป httpStatusCode | integer | true | none | The HTTP status code for the error. |
ยป details | [string] | false | none | Messages that provide additional details about the cause of the error. |
ยป remediation | string | false | none | A message that describes how to resolve the error. |
ยป errors | [#/paths/~1projects/get/responses/400/content/application~1json/schema] | false | none | Any additional errors that occurred. |
ยปยป Error | #/paths/~1projects/get/responses/400/content/application~1json/schema | false | none | The representation of an error. |
ยป links | [link] | false | none | The links that apply to the error. |
ยปยป Link | link | false | none | A link to a related operation or resource. |
ยปยปยป method | string | false | none | The HTTP method for the link. |
ยปยปยป rel | string | true | none | The relationship of the link to the resource. |
ยปยปยป uri | string | false | none | The relative URI for the link. |
ยปยปยป href | string | false | none | The URL for the link. |
ยปยปยป title | string | false | none | The title for the link. |
ยปยปยป type | string | false | none | The media type or link type for the link. |
ยปยปยป itemType | string | false | none | If this is a link to a container, itemType is the media type or link type for the items in the container. |
ยปยปยป responseType | string | false | none | The media type or link type of the response body for a PUT , POST , or PATCH operation. |
ยปยปยป responseItemType | string | false | none | The media type or link type of the items in the response body for a PUT , POST , or PATCH operation. |
ยป version | integer | true | none | The version number of the error representation. This representation is version 2. |
Status Code 404
Error
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ยป message | string | false | none | The message for the error. |
ยป id | string | false | none | The string ID for the error. |
ยป errorCode | integer | false | none | The numeric ID for the error. |
ยป httpStatusCode | integer | true | none | The HTTP status code for the error. |
ยป details | [string] | false | none | Messages that provide additional details about the cause of the error. |
ยป remediation | string | false | none | A message that describes how to resolve the error. |
ยป errors | [#/paths/~1projects/get/responses/400/content/application~1json/schema] | false | none | Any additional errors that occurred. |
ยปยป Error | #/paths/~1projects/get/responses/400/content/application~1json/schema | false | none | The representation of an error. |
ยป links | [link] | false | none | The links that apply to the error. |
ยปยป Link | link | false | none | A link to a related operation or resource. |
ยปยปยป method | string | false | none | The HTTP method for the link. |
ยปยปยป rel | string | true | none | The relationship of the link to the resource. |
ยปยปยป uri | string | false | none | The relative URI for the link. |
ยปยปยป href | string | false | none | The URL for the link. |
ยปยปยป title | string | false | none | The title for the link. |
ยปยปยป type | string | false | none | The media type or link type for the link. |
ยปยปยป itemType | string | false | none | If this is a link to a container, itemType is the media type or link type for the items in the container. |
ยปยปยป responseType | string | false | none | The media type or link type of the response body for a PUT , POST , or PATCH operation. |
ยปยปยป responseItemType | string | false | none | The media type or link type of the items in the response body for a PUT , POST , or PATCH operation. |
ยป version | integer | true | none | The version number of the error representation. This representation is version 2. |
Status Code 409
Error
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ยป message | string | false | none | The message for the error. |
ยป id | string | false | none | The string ID for the error. |
ยป errorCode | integer | false | none | The numeric ID for the error. |
ยป httpStatusCode | integer | true | none | The HTTP status code for the error. |
ยป details | [string] | false | none | Messages that provide additional details about the cause of the error. |
ยป remediation | string | false | none | A message that describes how to resolve the error. |
ยป errors | [#/paths/~1projects/get/responses/400/content/application~1json/schema] | false | none | Any additional errors that occurred. |
ยปยป Error | #/paths/~1projects/get/responses/400/content/application~1json/schema | false | none | The representation of an error. |
ยป links | [link] | false | none | The links that apply to the error. |
ยปยป Link | link | false | none | A link to a related operation or resource. |
ยปยปยป method | string | false | none | The HTTP method for the link. |
ยปยปยป rel | string | true | none | The relationship of the link to the resource. |
ยปยปยป uri | string | false | none | The relative URI for the link. |
ยปยปยป href | string | false | none | The URL for the link. |
ยปยปยป title | string | false | none | The title for the link. |
ยปยปยป type | string | false | none | The media type or link type for the link. |
ยปยปยป itemType | string | false | none | If this is a link to a container, itemType is the media type or link type for the items in the container. |
ยปยปยป responseType | string | false | none | The media type or link type of the response body for a PUT , POST , or PATCH operation. |
ยปยปยป responseItemType | string | false | none | The media type or link type of the items in the response body for a PUT , POST , or PATCH operation. |
ยป version | integer | true | none | The version number of the error representation. This representation is version 2. |
AutomationAlgorithms
Contains the operations for working with machine learning pipeline automation algorithms.
Return all supervised learning algorithms
Code samples
# You can also use wget
curl -X GET https://example.com/mlPipelineAutomation/algorithms \
-H 'Authorization: Bearer <access-token-goes-here>' \
-H 'Accept: application/json'
const headers = {
'Accept':'application/json'
};
fetch('https://example.com/mlPipelineAutomation/algorithms',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://example.com/mlPipelineAutomation/algorithms', headers = headers)
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://example.com/mlPipelineAutomation/algorithms", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /algorithms
The consider
, exclude
, forceInclude
, and algorithms
settings are used to specify the supervised learning algorithm that is used during automatic pipeline generation. Each algorithm has a default setting that determines its behavior when none of the settings are specified. To view these defaults you can request a list of algorithms from the /algorithms
endpoint.
Example responses
List of available algorithms in pipeline automation
{
"version": 3,
"accept": "application/vnd.sas.collection+json",
"count": 8,
"start": 0,
"limit": 0,
"name": "collection",
"links": [
{
"method": "GET",
"rel": "up",
"href": "/mlPipelineAutomation",
"uri": "/mlPipelineAutomation",
"type": "application/vnd.sas.api+json"
},
{
"method": "GET",
"rel": "self",
"href": "/mlPipelineAutomation/algorithms",
"uri": "/mlPipelineAutomation/algorithms",
"type": "application/vnd.sas.collection",
"itemType": "application/vnd.sas.analytics.machine.learning.algorithm"
}
],
"items": [
{
"id": "DecisionTree",
"name": "Decision Tree",
"defaultBehavior": "consider"
},
{
"id": "Forest",
"name": "Forest",
"defaultBehavior": "consider"
},
{
"id": "GAM",
"name": "GAM",
"description": "GAM is only supported for projects with binary or interval target types.",
"defaultBehavior": "consider"
},
{
"id": "GradientBoosting",
"name": "Gradient Boosting",
"defaultBehavior": "consider"
},
{
"id": "NeuralNetwork",
"name": "Neural Network",
"defaultBehavior": "consider"
},
{
"id": "Regression",
"name": "Regression",
"description": "Linear regression is used for projects with an interval target type, otherwise logistic regression is used.",
"defaultBehavior": "forceInclude"
},
{
"id": "SVM",
"name": "SVM",
"description": "SVM is only supported for projects with a binary target type.",
"defaultBehavior": "exclude"
},
{
"id": "Ensemble",
"name": "Ensemble",
"description": "Ensemble is only supported when at least one other algorithm is set to \"consider\" or \"forceInclude\".",
"defaultBehavior": "consider"
}
]
}
{
"version": 3,
"accept": "application/vnd.sas.collection+json",
"count": 8,
"start": 0,
"limit": 0,
"name": "collection",
"links": [
{
"method": "GET",
"rel": "up",
"href": "/mlPipelineAutomation",
"uri": "/mlPipelineAutomation",
"type": "application/vnd.sas.api+json"
},
{
"method": "GET",
"rel": "self",
"href": "/mlPipelineAutomation/algorithms",
"uri": "/mlPipelineAutomation/algorithms",
"type": "application/vnd.sas.collection",
"itemType": "application/vnd.sas.analytics.machine.learning.algorithm"
}
],
"items": [
{
"id": "DecisionTree",
"name": "Decision Tree",
"defaultBehavior": "consider"
},
{
"id": "Forest",
"name": "Forest",
"defaultBehavior": "consider"
},
{
"id": "GAM",
"name": "GAM",
"description": "GAM is only supported for projects with binary or interval target types.",
"defaultBehavior": "consider"
},
{
"id": "GradientBoosting",
"name": "Gradient Boosting",
"defaultBehavior": "consider"
},
{
"id": "NeuralNetwork",
"name": "Neural Network",
"defaultBehavior": "consider"
},
{
"id": "Regression",
"name": "Regression",
"description": "Linear regression is used for projects with an interval target type, otherwise logistic regression is used.",
"defaultBehavior": "forceInclude"
},
{
"id": "SVM",
"name": "SVM",
"description": "SVM is only supported for projects with a binary target type.",
"defaultBehavior": "exclude"
},
{
"id": "Ensemble",
"name": "Ensemble",
"description": "Ensemble is only supported when at least one other algorithm is set to \"consider\" or \"forceInclude\".",
"defaultBehavior": "consider"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The request succeeded. | algorithmCollection |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Content-Type | string | No description |
PipelineTemplates
Contains the operations for managing machine learning pipeline templates.
Return all machine learning pipeline templates
Code samples
# You can also use wget
curl -X GET https://example.com/mlPipelineAutomation/pipelineTemplates \
-H 'Authorization: Bearer <access-token-goes-here>' \
-H 'Accept: application/json'
const headers = {
'Accept':'application/json'
};
fetch('https://example.com/mlPipelineAutomation/pipelineTemplates',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://example.com/mlPipelineAutomation/pipelineTemplates', headers = headers)
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://example.com/mlPipelineAutomation/pipelineTemplates", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /pipelineTemplates
The endpoint to get all available machine learning pipeline templates.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
start | query | integer(int64) | false | start |
limit | query | integer(int32) | false | limit |
sortBy | query | string | false | sortBy |
filter | query | string | false | filter |
Example responses
List of available pipeline templates.
{
"version": 1,
"count": 3,
"start": 0,
"limit": 10,
"name": "items",
"links": [
{
"method": "GET",
"rel": "collection",
"href": "/mlPipelineAutomation/pipelineTemplates",
"uri": "/mlPipelineAutomation/pipelineTemplates",
"type": "application/vnd.sas.collection",
"itemType": "application/vnd.sas.analytics.machine.learning.pipeline.template+json"
},
{
"method": "GET",
"rel": "self",
"href": "/mlPipelineAutomation/pipelineTemplates?start=0&limit=10",
"uri": "/mlPipelineAutomation/pipelineTemplates?start=0&limit=10",
"type": "application/vnd.sas.collection",
"itemType": "application/vnd.sas.analytics.machine.learning.pipeline.template+json"
},
{
"method": "GET",
"rel": "next",
"href": "/mlPipelineAutomation/pipelineTemplates?start=10&limit=10",
"uri": "/mlPipelineAutomation/pipelineTemplates?start=10&limit=10",
"type": "application/vnd.sas.collection",
"itemType": "application/vnd.sas.analytics.machine.learning.pipeline.template+json"
}
],
"items": [
{
"id": "dm.advancedbinarytargetautotunepl.template",
"name": "Advanced template for class target with autotuning",
"description": "Data mining pipeline for a class target that contains autotuned tree, forest, neural network, and gradient boosting models.",
"links": [
{
"method": "GET",
"rel": "up",
"href": "/mlPipelineAutomation/pipelineTemplates",
"uri": "/mlPipelineAutomation/pipelineTemplates",
"type": "application/vnd.sas.collection"
},
{
"method": "GET",
"rel": "self",
"href": "/mlPipelineAutomation/pipelineTemplates/dm.advancedbinarytargetautotunepl.template",
"uri": "/mlPipelineAutomation/pipelineTemplates/dm.advancedbinarytargetautotunepl.template",
"type": "application/vnd.sas.analytics.machine.learning.pipeline.template"
}
],
"creationTimeStamp": "2022-03-01T16:50:55.783Z",
"createdBy": "sas.dataMining",
"modifiedTimeStamp": "2022-03-01T16:50:55.786Z",
"modifiedBy": "sas.dataMining",
"revision": 0
},
{
"id": "dm.advancedbinarytargetpl.template",
"name": "Advanced template for class target",
"description": "Data mining pipeline that extends the intermediate template for a class target by adding neural network, forest, and gradient boosting models. An ensemble model is also provided.",
"links": [
{
"method": "GET",
"rel": "up",
"href": "/mlPipelineAutomation/pipelineTemplates",
"uri": "/mlPipelineAutomation/pipelineTemplates",
"type": "application/vnd.sas.collection"
},
{
"method": "GET",
"rel": "self",
"href": "/mlPipelineAutomation/pipelineTemplates/dm.advancedbinarytargetpl.template",
"uri": "/mlPipelineAutomation/pipelineTemplates/dm.advancedbinarytargetpl.template",
"type": "application/vnd.sas.analytics.machine.learning.pipeline.template"
}
],
"creationTimeStamp": "2022-03-01T16:51:00.224Z",
"createdBy": "sas.dataMining",
"modifiedTimeStamp": "2022-03-01T16:51:00.226Z",
"modifiedBy": "sas.dataMining",
"revision": 0
},
{
"id": "dm.empty.template",
"name": "Blank template",
"description": "Data mining pipeline that contains only a data node.",
"links": [
{
"method": "GET",
"rel": "up",
"href": "/mlPipelineAutomation/pipelineTemplates",
"uri": "/mlPipelineAutomation/pipelineTemplates",
"type": "application/vnd.sas.collection"
},
{
"method": "GET",
"rel": "self",
"href": "/mlPipelineAutomation/pipelineTemplates/dm.empty.template",
"uri": "/mlPipelineAutomation/pipelineTemplates/dm.empty.template",
"type": "application/vnd.sas.analytics.machine.learning.pipeline.template"
}
],
"creationTimeStamp": "2022-03-01T16:51:21.229Z",
"createdBy": "sas.dataMining",
"modifiedTimeStamp": "2022-03-01T16:51:21.23Z",
"modifiedBy": "sas.dataMining",
"revision": 0
}
]
}
{
"version": 1,
"count": 3,
"start": 0,
"limit": 10,
"name": "items",
"links": [
{
"method": "GET",
"rel": "collection",
"href": "/mlPipelineAutomation/pipelineTemplates",
"uri": "/mlPipelineAutomation/pipelineTemplates",
"type": "application/vnd.sas.collection",
"itemType": "application/vnd.sas.analytics.machine.learning.pipeline.template+json"
},
{
"method": "GET",
"rel": "self",
"href": "/mlPipelineAutomation/pipelineTemplates?start=0&limit=10",
"uri": "/mlPipelineAutomation/pipelineTemplates?start=0&limit=10",
"type": "application/vnd.sas.collection",
"itemType": "application/vnd.sas.analytics.machine.learning.pipeline.template+json"
},
{
"method": "GET",
"rel": "next",
"href": "/mlPipelineAutomation/pipelineTemplates?start=10&limit=10",
"uri": "/mlPipelineAutomation/pipelineTemplates?start=10&limit=10",
"type": "application/vnd.sas.collection",
"itemType": "application/vnd.sas.analytics.machine.learning.pipeline.template+json"
}
],
"items": [
{
"id": "dm.advancedbinarytargetautotunepl.template",
"name": "Advanced template for class target with autotuning",
"description": "Data mining pipeline for a class target that contains autotuned tree, forest, neural network, and gradient boosting models.",
"links": [
{
"method": "GET",
"rel": "up",
"href": "/mlPipelineAutomation/pipelineTemplates",
"uri": "/mlPipelineAutomation/pipelineTemplates",
"type": "application/vnd.sas.collection"
},
{
"method": "GET",
"rel": "self",
"href": "/mlPipelineAutomation/pipelineTemplates/dm.advancedbinarytargetautotunepl.template",
"uri": "/mlPipelineAutomation/pipelineTemplates/dm.advancedbinarytargetautotunepl.template",
"type": "application/vnd.sas.analytics.machine.learning.pipeline.template"
}
],
"creationTimeStamp": "2022-03-01T16:50:55.783Z",
"createdBy": "sas.dataMining",
"modifiedTimeStamp": "2022-03-01T16:50:55.786Z",
"modifiedBy": "sas.dataMining",
"revision": 0
},
{
"id": "dm.advancedbinarytargetpl.template",
"name": "Advanced template for class target",
"description": "Data mining pipeline that extends the intermediate template for a class target by adding neural network, forest, and gradient boosting models. An ensemble model is also provided.",
"links": [
{
"method": "GET",
"rel": "up",
"href": "/mlPipelineAutomation/pipelineTemplates",
"uri": "/mlPipelineAutomation/pipelineTemplates",
"type": "application/vnd.sas.collection"
},
{
"method": "GET",
"rel": "self",
"href": "/mlPipelineAutomation/pipelineTemplates/dm.advancedbinarytargetpl.template",
"uri": "/mlPipelineAutomation/pipelineTemplates/dm.advancedbinarytargetpl.template",
"type": "application/vnd.sas.analytics.machine.learning.pipeline.template"
}
],
"creationTimeStamp": "2022-03-01T16:51:00.224Z",
"createdBy": "sas.dataMining",
"modifiedTimeStamp": "2022-03-01T16:51:00.226Z",
"modifiedBy": "sas.dataMining",
"revision": 0
},
{
"id": "dm.empty.template",
"name": "Blank template",
"description": "Data mining pipeline that contains only a data node.",
"links": [
{
"method": "GET",
"rel": "up",
"href": "/mlPipelineAutomation/pipelineTemplates",
"uri": "/mlPipelineAutomation/pipelineTemplates",
"type": "application/vnd.sas.collection"
},
{
"method": "GET",
"rel": "self",
"href": "/mlPipelineAutomation/pipelineTemplates/dm.empty.template",
"uri": "/mlPipelineAutomation/pipelineTemplates/dm.empty.template",
"type": "application/vnd.sas.analytics.machine.learning.pipeline.template"
}
],
"creationTimeStamp": "2022-03-01T16:51:21.229Z",
"createdBy": "sas.dataMining",
"modifiedTimeStamp": "2022-03-01T16:51:21.23Z",
"modifiedBy": "sas.dataMining",
"revision": 0
}
]
}
Bad Request
{
"httpStatusCode": 400,
"errorCode": 92515,
"message": "The required arguments of the provided automation project did not pass validation.",
"details": [
"path: /mlPipelineAutomation/some/path",
"correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
],
"remediation": "Correct the request by providing a valid \"some-property\" value.",
"errors": [
{
"errorCode": 92442,
"message": "A more specific error message.",
"remediation": "A message on how to correct the issue."
}
]
}
Example of an error response with GET request specified with invalid filter.
{
"errorCode": 92513,
"errors": [
{
"httpStatusCode": 500,
"errorCode": 92513,
"message": "The query context is not valid.",
"details": [
"Request params: {Start:0 Limit:10 SortBy: Filter:eq(name,'bad_filter' Bag:map[):]}"
],
"errors": [
{
"message": "InvalidInputError: The filter 'eq(name,'bad_filter'' is not valid. Error Code: 1104"
}
]
}
],
"httpStatusCode": 400,
"message": "The query context is not valid.",
"remediation": "Correct the URI parameters and resubmit the request.",
"version": 2
}
Bad Request
{
"httpStatusCode": 400,
"errorCode": 92515,
"message": "The required arguments of the provided automation project did not pass validation.",
"details": [
"path: /mlPipelineAutomation/some/path",
"correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
],
"remediation": "Correct the request by providing a valid \"some-property\" value.",
"errors": [
{
"errorCode": 92442,
"message": "A more specific error message.",
"remediation": "A message on how to correct the issue."
}
]
}
Example of an error response with GET request specified with invalid filter.
{
"errorCode": 92513,
"errors": [
{
"httpStatusCode": 500,
"errorCode": 92513,
"message": "The query context is not valid.",
"details": [
"Request params: {Start:0 Limit:10 SortBy: Filter:eq(name,'bad_filter' Bag:map[):]}"
],
"errors": [
{
"message": "InvalidInputError: The filter 'eq(name,'bad_filter'' is not valid. Error Code: 1104"
}
]
}
],
"httpStatusCode": 400,
"message": "The query context is not valid.",
"remediation": "Correct the URI parameters and resubmit the request.",
"version": 2
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The request succeeded. | mlPipelineTemplateCollection |
400 | Bad Request | The request was invalid. | errorResponse |
Response Schema
Status Code 400
Error
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ยป message | string | false | none | The message for the error. |
ยป id | string | false | none | The string ID for the error. |
ยป errorCode | integer | false | none | The numeric ID for the error. |
ยป httpStatusCode | integer | true | none | The HTTP status code for the error. |
ยป details | [string] | false | none | Messages that provide additional details about the cause of the error. |
ยป remediation | string | false | none | A message that describes how to resolve the error. |
ยป errors | [#/paths/~1projects/get/responses/400/content/application~1json/schema] | false | none | Any additional errors that occurred. |
ยปยป Error | #/paths/~1projects/get/responses/400/content/application~1json/schema | false | none | The representation of an error. |
ยป links | [link] | false | none | The links that apply to the error. |
ยปยป Link | link | false | none | A link to a related operation or resource. |
ยปยปยป method | string | false | none | The HTTP method for the link. |
ยปยปยป rel | string | true | none | The relationship of the link to the resource. |
ยปยปยป uri | string | false | none | The relative URI for the link. |
ยปยปยป href | string | false | none | The URL for the link. |
ยปยปยป title | string | false | none | The title for the link. |
ยปยปยป type | string | false | none | The media type or link type for the link. |
ยปยปยป itemType | string | false | none | If this is a link to a container, itemType is the media type or link type for the items in the container. |
ยปยปยป responseType | string | false | none | The media type or link type of the response body for a PUT , POST , or PATCH operation. |
ยปยปยป responseItemType | string | false | none | The media type or link type of the items in the response body for a PUT , POST , or PATCH operation. |
ยป version | integer | true | none | The version number of the error representation. This representation is version 2. |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Content-Type | string | No description |
Get headers for a machine learning pipeline template
Code samples
# You can also use wget
curl -X HEAD https://example.com/mlPipelineAutomation/pipelineTemplates/{templateId}
-H 'Authorization: Bearer <access-token-goes-here>' \
fetch('https://example.com/mlPipelineAutomation/pipelineTemplates/{templateId}',
{
method: 'HEAD'
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
r = requests.head('https://example.com/mlPipelineAutomation/pipelineTemplates/{templateId}')
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("HEAD", "https://example.com/mlPipelineAutomation/pipelineTemplates/{templateId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
HEAD /pipelineTemplates/{templateId}
Headers for the endpoint to get a specific machine learning pipeline template.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
templateId | path | string | true | templateId |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The request succeeded. | None |
400 | Bad Request | One or more parameters were invalid. | None |
404 | Not Found | No template with the provided ID was found. | None |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Content-Type | string | No description | |
400 | Content-Type | string | No description | |
404 | Content-Type | string | No description |
Get a machine learning pipeline template
Code samples
# You can also use wget
curl -X GET https://example.com/mlPipelineAutomation/pipelineTemplates/{templateId} \
-H 'Authorization: Bearer <access-token-goes-here>' \
-H 'Accept: application/json'
const headers = {
'Accept':'application/json'
};
fetch('https://example.com/mlPipelineAutomation/pipelineTemplates/{templateId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://example.com/mlPipelineAutomation/pipelineTemplates/{templateId}', headers = headers)
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://example.com/mlPipelineAutomation/pipelineTemplates/{templateId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /pipelineTemplates/{templateId}
The endpoint to get a specific machine learning pipeline template.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
templateId | path | string | true | templateId |
Example responses
A single pipeline template
{
"id": "dm.advancedintervaltargetautotunepl.template",
"name": "Advanced template for interval target with autotuning",
"description": "Data mining pipeline that extends the intermediate template for an interval target by adding GAM and autotuned tree, forest, neural network, and gradient boosting models. An ensemble model is also provided.",
"links": [
{
"method": "GET",
"rel": "up",
"href": "/mlPipelineAutomation/pipelineTemplates",
"uri": "/mlPipelineAutomation/pipelineTemplates",
"type": "application/vnd.sas.collection"
},
{
"method": "GET",
"rel": "self",
"href": "/mlPipelineAutomation/pipelineTemplates/dm.advancedintervaltargetautotunepl.template",
"uri": "/mlPipelineAutomation/pipelineTemplates/dm.advancedintervaltargetautotunepl.template",
"type": "application/vnd.sas.analytics.machine.learning.pipeline.template"
}
],
"creationTimeStamp": "2022-03-01T16:51:05.574Z",
"createdBy": "sas.dataMining",
"modifiedTimeStamp": "2022-03-01T16:51:05.576Z",
"modifiedBy": "sas.dataMining",
"eTag": "\"Y29tLnNhcy5hbmFseXRpY3MucGlwZWxpbmUucmVwcmVzZW50YXRpb25zLlBpcGVsaW5lVGVtcGxhdGU=1\"",
"revision": 1
}
Bad Request
{
"httpStatusCode": 400,
"errorCode": 92515,
"message": "The required arguments of the provided automation project did not pass validation.",
"details": [
"path: /mlPipelineAutomation/some/path",
"correlator: 1a1659bc-c4d0-49c1-99df-799b4ee9ef61"
],
"remediation": "Correct the request by providing a valid \"some-property\" value.",
"errors": [
{
"errorCode": 92442,
"message": "A more specific error message.",
"remediation": "A message on how to correct the issue."
}
]
}
Example of an error response with GET request specified with invalid filter.
{
"errorCode": 92513,
"errors": [
{
"httpStatusCode": 500,
"errorCode": 92513,
"message": "The query context is not valid.",
"details": [
"Request params: {Start:0 Limit:10 SortBy: Filter:eq(name,'bad_filter' Bag:map[):]}"
],
"errors": [
{
"message": "InvalidInputError: The filter 'eq(name,'bad_filter'' is not valid. Error Code: 1104"
}
]
}
],
"httpStatusCode": 400,
"message": "The query context is not valid.",
"remediation": "Correct the URI parameters and resubmit the request.",
"version": 2
}
Bad Request
Example of an error response with GET request specified with invalid filter.
Not Found
{
"version": 2,
"httpStatusCode": 404,
"errorCode": 92422,
"message": "The specified resource was not found.",
"remediation": "Resubmit the request with a valid ID."
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The request succeeded. | mlPipelineTemplate |
400 | Bad Request | One or more parameters were invalid. | Inline |
404 | Not Found | No template with the provided ID was found. | Inline |
Response Schema
Status Code 400
Error
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ยป message | string | false | none | The message for the error. |
ยป id | string | false | none | The string ID for the error. |
ยป errorCode | integer | false | none | The numeric ID for the error. |
ยป httpStatusCode | integer | true | none | The HTTP status code for the error. |
ยป details | [string] | false | none | Messages that provide additional details about the cause of the error. |
ยป remediation | string | false | none | A message that describes how to resolve the error. |
ยป errors | [#/paths/~1projects/get/responses/400/content/application~1json/schema] | false | none | Any additional errors that occurred. |
ยปยป Error | #/paths/~1projects/get/responses/400/content/application~1json/schema | false | none | The representation of an error. |
ยป links | [link] | false | none | The links that apply to the error. |
ยปยป Link | link | false | none | A link to a related operation or resource. |
ยปยปยป method | string | false | none | The HTTP method for the link. |
ยปยปยป rel | string | true | none | The relationship of the link to the resource. |
ยปยปยป uri | string | false | none | The relative URI for the link. |
ยปยปยป href | string | false | none | The URL for the link. |
ยปยปยป title | string | false | none | The title for the link. |
ยปยปยป type | string | false | none | The media type or link type for the link. |
ยปยปยป itemType | string | false | none | If this is a link to a container, itemType is the media type or link type for the items in the container. |
ยปยปยป responseType | string | false | none | The media type or link type of the response body for a PUT , POST , or PATCH operation. |
ยปยปยป responseItemType | string | false | none | The media type or link type of the items in the response body for a PUT , POST , or PATCH operation. |
ยป version | integer | true | none | The version number of the error representation. This representation is version 2. |
Status Code 404
Error
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ยป message | string | false | none | The message for the error. |
ยป id | string | false | none | The string ID for the error. |
ยป errorCode | integer | false | none | The numeric ID for the error. |
ยป httpStatusCode | integer | true | none | The HTTP status code for the error. |
ยป details | [string] | false | none | Messages that provide additional details about the cause of the error. |
ยป remediation | string | false | none | A message that describes how to resolve the error. |
ยป errors | [#/paths/~1projects/get/responses/400/content/application~1json/schema] | false | none | Any additional errors that occurred. |
ยปยป Error | #/paths/~1projects/get/responses/400/content/application~1json/schema | false | none | The representation of an error. |
ยป links | [link] | false | none | The links that apply to the error. |
ยปยป Link | link | false | none | A link to a related operation or resource. |
ยปยปยป method | string | false | none | The HTTP method for the link. |
ยปยปยป rel | string | true | none | The relationship of the link to the resource. |
ยปยปยป uri | string | false | none | The relative URI for the link. |
ยปยปยป href | string | false | none | The URL for the link. |
ยปยปยป title | string | false | none | The title for the link. |
ยปยปยป type | string | false | none | The media type or link type for the link. |
ยปยปยป itemType | string | false | none | If this is a link to a container, itemType is the media type or link type for the items in the container. |
ยปยปยป responseType | string | false | none | The media type or link type of the response body for a PUT , POST , or PATCH operation. |
ยปยปยป responseItemType | string | false | none | The media type or link type of the items in the response body for a PUT , POST , or PATCH operation. |
ยป version | integer | true | none | The version number of the error representation. This representation is version 2. |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Content-Type | string | No description |
Root
Contains the operations for the root resource.
Get a collection of all currently usable links
Code samples
# You can also use wget
curl -X GET https://example.com/mlPipelineAutomation/ \
-H 'Authorization: Bearer <access-token-goes-here>' \
-H 'Accept: application/json'
const headers = {
'Accept':'application/json'
};
fetch('https://example.com/mlPipelineAutomation/',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://example.com/mlPipelineAutomation/', headers = headers)
print(r.json())
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://example.com/mlPipelineAutomation/", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /
The API object contains a set of links for the supported endpoints.
Example responses
List of endpoints for Machine Learning Pipeline Automation service
{
"version": 3,
"links": [
{
"method": "GET",
"rel": "collection",
"href": "/mlPipelineAutomation/projects",
"uri": "/mlPipelineAutomation/projects",
"type": "application/vnd.sas.collection",
"itemType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "POST",
"rel": "createProject",
"href": "/mlPipelineAutomation/projects",
"uri": "/mlPipelineAutomation/projects",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "GET",
"rel": "pipelineTemplates",
"href": "/mlPipelineAutomation/pipelineTemplates",
"uri": "/mlPipelineAutomation/pipelineTemplates",
"type": "application/vnd.sas.collection",
"itemType": "application/vnd.sas.analytics.machine.learning.pipeline.template"
},
{
"method": "GET",
"rel": "algorithms",
"href": "/mlPipelineAutomation/algorithms",
"uri": "/mlPipelineAutomation/algorithms",
"type": "application/vnd.sas.collection",
"itemType": "application/vnd.sas.analytics.machine.learning.algorithm"
}
]
}
{
"version": 3,
"links": [
{
"method": "GET",
"rel": "collection",
"href": "/mlPipelineAutomation/projects",
"uri": "/mlPipelineAutomation/projects",
"type": "application/vnd.sas.collection",
"itemType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "POST",
"rel": "createProject",
"href": "/mlPipelineAutomation/projects",
"uri": "/mlPipelineAutomation/projects",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "GET",
"rel": "pipelineTemplates",
"href": "/mlPipelineAutomation/pipelineTemplates",
"uri": "/mlPipelineAutomation/pipelineTemplates",
"type": "application/vnd.sas.collection",
"itemType": "application/vnd.sas.analytics.machine.learning.pipeline.template"
},
{
"method": "GET",
"rel": "algorithms",
"href": "/mlPipelineAutomation/algorithms",
"uri": "/mlPipelineAutomation/algorithms",
"type": "application/vnd.sas.collection",
"itemType": "application/vnd.sas.analytics.machine.learning.algorithm"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | The request succeeded. | Inline |
Response Schema
Status Code 200
API
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ยป version | integer | true | none | The version number of the API representation. This is version 1. |
ยป links | [link] | true | none | The API's top-level links. |
ยปยป Link | link | false | none | A link to a related operation or resource. |
ยปยปยป method | string | false | none | The HTTP method for the link. |
ยปยปยป rel | string | true | none | The relationship of the link to the resource. |
ยปยปยป uri | string | false | none | The relative URI for the link. |
ยปยปยป href | string | false | none | The URL for the link. |
ยปยปยป title | string | false | none | The title for the link. |
ยปยปยป type | string | false | none | The media type or link type for the link. |
ยปยปยป itemType | string | false | none | If this is a link to a container, itemType is the media type or link type for the items in the container. |
ยปยปยป responseType | string | false | none | The media type or link type of the response body for a PUT , POST , or PATCH operation. |
ยปยปยป responseItemType | string | false | none | The media type or link type of the items in the response body for a PUT , POST , or PATCH operation. |
Response Headers
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | Content-Type | string | No description |
Schemas
algorithmBehavior
"consider"
Supervised Learning Algorithm Behavior in Pipeline Generation
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Supervised Learning Algorithm Behavior in Pipeline Generation | string | false | none | Describes the behavior of a supervised learning algorithm during pipeline generation. One of the enums [consider, exclude, forceInclude]. |
Enumerated Values
Property | Value |
---|---|
Supervised Learning Algorithm Behavior in Pipeline Generation | consider |
Supervised Learning Algorithm Behavior in Pipeline Generation | exclude |
Supervised Learning Algorithm Behavior in Pipeline Generation | forceInclude |
algorithmId
"DecisionTree"
Supervised Learning Algorithm
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Supervised Learning Algorithm | string | false | none | Supervised Learning Algorithm. One of the enums [DecisionTree, Forest, GAM, GradientBoosting, NeuralNetwork, Regression, Ensemble, SVM]. |
Enumerated Values
Property | Value |
---|---|
Supervised Learning Algorithm | DecisionTree |
Supervised Learning Algorithm | Forest |
Supervised Learning Algorithm | GAM |
Supervised Learning Algorithm | GradientBoosting |
Supervised Learning Algorithm | NeuralNetwork |
Supervised Learning Algorithm | Regression |
Supervised Learning Algorithm | Ensemble |
Supervised Learning Algorithm | SVM |
algorithm
{
"id": "DecisionTree",
"name": "string",
"description": "string",
"behavior": "consider",
"defaultBehavior": "consider"
}
Supervised Learning Algorithm Settings in Pipeline Generation
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | algorithmId | false | none | Supervised Learning Algorithm. One of the enums [DecisionTree, Forest, GAM, GradientBoosting, NeuralNetwork, Regression, Ensemble, SVM]. |
name | string | false | none | Supervised Learning Algorithm Name |
description | string | false | none | Supervised Learning Algorithm Description |
behavior | algorithmBehavior | false | none | Describes the behavior of a supervised learning algorithm during pipeline generation. One of the enums [consider, exclude, forceInclude]. |
defaultBehavior | algorithmBehavior | false | none | Describes the behavior of a supervised learning algorithm during pipeline generation. One of the enums [consider, exclude, forceInclude]. |
algorithmCollection
{
"name": "string",
"start": 0,
"limit": 0,
"count": 0,
"accept": "string",
"links": [
{
"method": "string",
"rel": "string",
"uri": "string",
"href": "string",
"title": "string",
"type": "string",
"itemType": "string",
"responseType": "string",
"responseItemType": "string"
}
],
"version": 0,
"items": [
{
"id": "DecisionTree",
"name": "string",
"description": "string",
"behavior": "consider",
"defaultBehavior": "consider"
}
]
}
Supervised Learning Algorithm Collection
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Supervised Learning Algorithm Collection | any | false | none | This object contains a list of supervised learning algorithms. |
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | This is a base schema used to define paginated collections of resources. This base schema is extended by other schemas in APIs by adding an 'items' array property. These extensions define the application/vnd.sas.collection media type (version 2) |
ยป name | string | false | none | The name of the collection. |
ยป start | integer(int64) | false | none | The zero-based index of the first item in the collection. |
ยป limit | integer | false | none | The number of items that were requested for the collection. |
ยป count | integer(int64) | false | none | If populated indicates the number of items in the collection. |
ยป accept | string | false | none | A space-delimited list of media types from which an Accept header may be constructed. |
ยป links | [link] | false | none | The links that apply to the collection. |
ยป version | integer | false | none | The version number of the collection representation. This representation is version 2. |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
ยป items | [algorithm] | true | none | The list of supervised learning algorithms. |
automationProjectState
"pending"
Automation Project State
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Automation Project State | string | false | none | Automation Project state. One of the enums [pending, preparing, waiting, ready, modeling, constructingPipeline, runningPipeline, quiescing, quiesced, completed, canceled, failed, oversampling, retraining]. |
Enumerated Values
Property | Value |
---|---|
Automation Project State | pending |
Automation Project State | preparing |
Automation Project State | waiting |
Automation Project State | ready |
Automation Project State | modeling |
Automation Project State | constructingPipeline |
Automation Project State | runningPipeline |
Automation Project State | quiescing |
Automation Project State | quiesced |
Automation Project State | completed |
Automation Project State | canceled |
Automation Project State | failed |
Automation Project State | oversampling |
Automation Project State | retraining |
analyticsProjectAttributes
{
"analyticsProjectId": "string",
"targetVariable": "string",
"targetEventLevel": "string",
"intervalSelectionStatistic": "ase",
"classSelectionStatistic": "ks",
"selectionDepth": 10,
"selectionPartition": "default",
"partitionEnabled": true,
"overrideClassificationCutoffEnabled": false,
"overrideClassificationCutoffValue": 0.5,
"cutoffPercentage": 50,
"numberOfCutoffValues": 20,
"samplingEnabled": "AUTO",
"samplingPercentage": 50
}
Analytics Project Attributes
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
analyticsProjectId | string | false | none | Analytics project ID. |
targetVariable | string | true | none | Target variable. |
targetEventLevel | string | false | none | Target event level. |
intervalSelectionStatistic | string | false | none | Interval selection statistic. |
classSelectionStatistic | string | false | none | Class selection statistic. |
selectionDepth | number | false | none | Selection depth. |
selectionPartition | string | false | none | Selection partition. |
partitionEnabled | boolean | false | none | Flag to indicate whether partition should be enabled. |
overrideClassificationCutoffEnabled | boolean | false | none | Flag to indicate whether the default classification cutoff is overridden by the selected value. |
overrideClassificationCutoffValue | number(double) | false | none | The override value (percentage) to use if overrideClassificationCutoffEnabled is true. |
cutoffPercentage | number | false | none | Cutoff percentage |
numberOfCutoffValues | number | false | none | Number of cutoff values |
samplingEnabled | string | false | none | Sampling strategy |
samplingPercentage | number(double) | false | none | Sampling percentage. Valid range is 1 to 99. |
Enumerated Values
Property | Value |
---|---|
intervalSelectionStatistic | ase |
intervalSelectionStatistic | rase |
intervalSelectionStatistic | rmae |
intervalSelectionStatistic | rmsle |
classSelectionStatistic | ks |
classSelectionStatistic | ase |
classSelectionStatistic | rase |
classSelectionStatistic | mce |
classSelectionStatistic | mcll |
classSelectionStatistic | c |
classSelectionStatistic | f1 |
classSelectionStatistic | fdr |
classSelectionStatistic | fpr |
classSelectionStatistic | acc |
classSelectionStatistic | ks2 |
classSelectionStatistic | lift |
classSelectionStatistic | cumulativeLift |
classSelectionStatistic | gain |
classSelectionStatistic | gini |
classSelectionStatistic | capturedResponse |
classSelectionStatistic | cumulativeCapturedResponse |
classSelectionStatistic | misclassificationEvent |
classSelectionStatistic | misclassificationCutoff |
selectionDepth | 5 |
selectionDepth | 10 |
selectionDepth | 15 |
selectionDepth | 20 |
selectionPartition | default |
selectionPartition | train |
selectionPartition | validate |
selectionPartition | test |
cutoffPercentage | 5 |
cutoffPercentage | 10 |
cutoffPercentage | 15 |
cutoffPercentage | 20 |
cutoffPercentage | 25 |
cutoffPercentage | 30 |
cutoffPercentage | 35 |
cutoffPercentage | 40 |
cutoffPercentage | 45 |
cutoffPercentage | 50 |
cutoffPercentage | 55 |
cutoffPercentage | 60 |
cutoffPercentage | 65 |
cutoffPercentage | 70 |
cutoffPercentage | 75 |
cutoffPercentage | 80 |
cutoffPercentage | 85 |
cutoffPercentage | 90 |
cutoffPercentage | 95 |
numberOfCutoffValues | 10 |
numberOfCutoffValues | 20 |
numberOfCutoffValues | 50 |
numberOfCutoffValues | 100 |
numberOfCutoffValues | 500 |
numberOfCutoffValues | 1000 |
samplingEnabled | YES |
samplingEnabled | NO |
samplingEnabled | AUTO |
mlPipelineAutomationProjectCollection
{
"name": "string",
"start": 0,
"limit": 0,
"count": 0,
"accept": "string",
"links": [
{
"method": "string",
"rel": "string",
"uri": "string",
"href": "string",
"title": "string",
"type": "string",
"itemType": "string",
"responseType": "string",
"responseItemType": "string"
}
],
"version": 0,
"items": [
{
"analyticsProjectAttributes": {
"analyticsProjectId": "string",
"targetVariable": "string",
"targetEventLevel": "string",
"intervalSelectionStatistic": "ase",
"classSelectionStatistic": "ks",
"selectionDepth": 10,
"selectionPartition": "default",
"partitionEnabled": true,
"overrideClassificationCutoffEnabled": false,
"overrideClassificationCutoffValue": 0.5,
"cutoffPercentage": 50,
"numberOfCutoffValues": 20,
"samplingEnabled": "AUTO",
"samplingPercentage": 50
},
"dataTableUri": "string",
"description": "string",
"id": "string",
"name": "string",
"revision": 0,
"settings": {
"applyGlobalMetadata": true,
"autoRun": true,
"locale": "en",
"maxModelingTime": 0,
"modelingMode": "Standard",
"numberOfModels": 5,
"consider": [
"DecisionTree"
],
"exclude": [
"DecisionTree"
],
"forceInclude": [
"DecisionTree"
],
"algorithms": [
{
"id": "DecisionTree",
"name": "string",
"description": "string",
"behavior": "consider",
"defaultBehavior": "consider"
}
],
"subsampleCount": 0,
"subsamplePercent": 0,
"subsampleSeed": 0
},
"state": "pending",
"type": "predictive",
"pipelineBuildMethod": "automatic",
"version": 0,
"championModel": {
"name": "string",
"links": [
{
"method": "string",
"rel": "string",
"uri": "string",
"href": "string",
"title": "string",
"type": "string",
"itemType": "string",
"responseType": "string",
"responseItemType": "string"
}
],
"publishDestinations": [
{
"name": "string",
"description": "string",
"destinationType": "cas",
"destinationTable": "string",
"casServerName": "string",
"casLibrary": "string"
}
]
},
"links": [
{
"method": "string",
"rel": "string",
"uri": "string",
"href": "string",
"title": "string",
"type": "string",
"itemType": "string",
"responseType": "string",
"responseItemType": "string"
}
]
}
]
}
Machine Learning Pipeline Automation Project Collection
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Machine Learning Pipeline Automation Project Collection | any | false | none | This object contains a list of automation project objects. |
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | algorithmCollection/allOf/0 | false | none | This is a base schema used to define paginated collections of resources. This base schema is extended by other schemas in APIs by adding an 'items' array property. These extensions define the application/vnd.sas.collection media type (version 2) |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
ยป items | [mlPipelineAutomationProject] | true | none | The list of automation project objects. |
mlPipelineAutomationProject
{
"analyticsProjectAttributes": {
"analyticsProjectId": "string",
"targetVariable": "string",
"targetEventLevel": "string",
"intervalSelectionStatistic": "ase",
"classSelectionStatistic": "ks",
"selectionDepth": 10,
"selectionPartition": "default",
"partitionEnabled": true,
"overrideClassificationCutoffEnabled": false,
"overrideClassificationCutoffValue": 0.5,
"cutoffPercentage": 50,
"numberOfCutoffValues": 20,
"samplingEnabled": "AUTO",
"samplingPercentage": 50
},
"dataTableUri": "string",
"description": "string",
"id": "string",
"name": "string",
"revision": 0,
"settings": {
"applyGlobalMetadata": true,
"autoRun": true,
"locale": "en",
"maxModelingTime": 0,
"modelingMode": "Standard",
"numberOfModels": 5,
"consider": [
"DecisionTree"
],
"exclude": [
"DecisionTree"
],
"forceInclude": [
"DecisionTree"
],
"algorithms": [
{
"id": "DecisionTree",
"name": "string",
"description": "string",
"behavior": "consider",
"defaultBehavior": "consider"
}
],
"subsampleCount": 0,
"subsamplePercent": 0,
"subsampleSeed": 0
},
"state": "pending",
"type": "predictive",
"pipelineBuildMethod": "automatic",
"version": 0,
"championModel": {
"name": "string",
"links": [
{
"method": "string",
"rel": "string",
"uri": "string",
"href": "string",
"title": "string",
"type": "string",
"itemType": "string",
"responseType": "string",
"responseItemType": "string"
}
],
"publishDestinations": [
{
"name": "string",
"description": "string",
"destinationType": "cas",
"destinationTable": "string",
"casServerName": "string",
"casLibrary": "string"
}
]
},
"links": [
{
"method": "string",
"rel": "string",
"uri": "string",
"href": "string",
"title": "string",
"type": "string",
"itemType": "string",
"responseType": "string",
"responseItemType": "string"
}
]
}
Machine Learning Pipeline Automation Project
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
analyticsProjectAttributes | analyticsProjectAttributes | true | none | This object contains a list of analytics project attributes. |
dataTableUri | string | true | none | Data table URI |
description | string | false | none | Description of the automation project |
id | string | false | none | ID of the automation project |
name | string | true | none | Name of the automation project |
revision | integer(int64) | false | none | Revision of the automation project instance |
settings | settings | false | none | A collection of optional settings to configure an automation project. |
state | automationProjectState | false | none | Automation Project state. One of the enums [pending, preparing, waiting, ready, modeling, constructingPipeline, runningPipeline, quiescing, quiesced, completed, canceled, failed, oversampling, retraining]. |
type | string | true | none | Automation project type |
pipelineBuildMethod | string | false | none | The method used to generate the project pipeline |
version | integer(int32) | false | none | Version of the resource |
championModel | championModel | false | none | This object contains a summary of champion model. |
links | [object] | false | none | The links that apply to this automation project |
ยป Link | object | false | none | A link to a related operation or resource. |
ยปยป method | string | false | none | The HTTP method for the link. |
ยปยป rel | string | true | none | The relationship of the link to the resource. |
ยปยป uri | string | false | none | The relative URI for the link. |
ยปยป href | string | false | none | The URL for the link. |
ยปยป title | string | false | none | The title for the link. |
ยปยป type | string | false | none | The media type or link type for the link. |
ยปยป itemType | string | false | none | If this is a link to a container, itemType is the media type or link type for the items in the container. |
ยปยป responseType | string | false | none | The media type or link type of the response body for a PUT , POST , or PATCH operation. |
ยปยป responseItemType | string | false | none | The media type or link type of the items in the response body for a PUT , POST , or PATCH operation. |
Enumerated Values
Property | Value |
---|---|
type | predictive |
pipelineBuildMethod | automatic |
pipelineBuildMethod | template |
reportCollection
{
"name": "string",
"start": 0,
"limit": 0,
"count": 0,
"accept": "string",
"links": [
{
"method": "string",
"rel": "string",
"uri": "string",
"href": "string",
"title": "string",
"type": "string",
"itemType": "string",
"responseType": "string",
"responseItemType": "string"
}
],
"version": 0,
"items": [
{
"id": "string",
"data": [
{
"dataMap": {},
"header": "string",
"rowNumber": 0
}
],
"links": [
{
"method": "string",
"rel": "string",
"uri": "string",
"href": "string",
"title": "string",
"type": "string",
"itemType": "string",
"responseType": "string",
"responseItemType": "string"
}
],
"parameterMap": {
"property1": {
"label": "string",
"length": 0,
"order": 0,
"parameter": "string",
"preformatted": true,
"type": "undefined",
"values": [
"string"
]
},
"property2": {
"label": "string",
"length": 0,
"order": 0,
"parameter": "string",
"preformatted": true,
"type": "undefined",
"values": [
"string"
]
}
},
"order": 0,
"type": "undefined",
"xInteger": true,
"yInteger": true,
"version": 0,
"description": "string",
"revision": 0
}
]
}
Report Collection
Properties
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | algorithmCollection/allOf/0 | false | none | This is a base schema used to define paginated collections of resources. This base schema is extended by other schemas in APIs by adding an 'items' array property. These extensions define the application/vnd.sas.collection media type (version 2) |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
ยป items | [any] | false | none | The list of reports |
ยปยป Analytics Report | object | false | none | An analytics report consisting of rows of data and associated metadata (parameters). |
ยปยปยป id | string | false | none | The unique identifier of this analytics report. |
ยปยปยป data | [any] | true | none | The rows of data. |
ยปยปยปยป Data Row | object | false | none | A row of data. |
ยปยปยปยปยป dataMap | object | true | none | Map of parameter name to associated value. |
ยปยปยปยปยป header | string | false | none | Optional title. May be localized. |
ยปยปยปยปยป rowNumber | integer(int32) | true | none | The index of this row in the collection. |
ยปยปยป links | [link] | false | none | [A link to a related operation or resource.] |
ยปยปยป parameterMap | object | true | none | The collection of parameters, categorized by parameter name. |
ยปยปยปยป Parameter | object | false | none | Metadata describing a particular variable. |
ยปยปยปยปยป label | string | false | none | The display name. May be localized. |
ยปยปยปยปยป length | integer(int32) | false | none | The maximum width among this parameter's values. |
ยปยปยปยปยป order | integer(int32) | false | none | The index of this parameter in the collection. |
ยปยปยปยปยป parameter | string | true | none | The parameter name. Should not be localized. |
ยปยปยปยปยป preformatted | boolean | false | none | Indicates whether this parameter's values have already been formatted. |
ยปยปยปยปยป type | string | true | none | The data type of this parameter's values. |
ยปยปยปยปยป values | [string] | true | none | Keys used to associate this parameter with values in the rows of data. |
ยปยปยป order | integer(int32) | false | none | The index in a collection of analytics reports. Useful when analytics reports are stored in an unordered collection but order is desired. |
ยปยปยป type | string | true | none | The type of analytics report. Informs clients how this analytics report should be rendered. |
ยปยปยป xInteger | boolean | false | none | Whether or not to suppress intermediate tick marks on the X-axis. |
ยปยปยป yInteger | boolean | false | none | Whether or not to suppress intermediate tick marks on the Y-axis. |
ยปยปยป version | integer(int32) | false | none | This media type's schema version number. This representation is version 1. |
ยปยปยป description | string | false | none | A description of this analytics report. |
ยปยปยป revision | integer(int64) | false | none | A revision number that is incremented on every update to the analytics report. |
Enumerated Values
Property | Value |
---|---|
type | undefined |
type | num |
type | char |
type | report |
type | undefined |
type | table |
type | barChart |
type | refreshableBarChart |
type | seriesPlot |
type | pieChart |
type | histogram |
type | decisionTree |
type | networkDiagram |
type | html |
type | textViewer |
type | matrix |
type | bandPlot |
type | codeEditor |
type | iciclePlot |
type | scatterPlot |
type | comboBox |
championModel
{
"name": "string",
"links": [
{
"method": "string",
"rel": "string",
"uri": "string",
"href": "string",
"title": "string",
"type": "string",
"itemType": "string",
"responseType": "string",
"responseItemType": "string"
}
],
"publishDestinations": [
{
"name": "string",
"description": "string",
"destinationType": "cas",
"destinationTable": "string",
"casServerName": "string",
"casLibrary": "string"
}
]
}
Champion Model
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
name | string | false | none | The champion model name. |
links | [link] | false | none | The links that apply to this champion model. |
publishDestinations | [publishDestination] | false | none | The list of available destinations to publish this champion model. |
publishDestination
{
"name": "string",
"description": "string",
"destinationType": "cas",
"destinationTable": "string",
"casServerName": "string",
"casLibrary": "string"
}
Publish Destination
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
name | string | true | none | The destination name. |
description | string | false | none | The description of the destination. |
destinationType | string | true | none | The type of the destination. |
destinationTable | string | false | none | The destination table. |
casServerName | string | false | none | The CAS server name. |
casLibrary | string | false | none | The CAS library. |
Enumerated Values
Property | Value |
---|---|
destinationType | cas |
destinationType | microAnalyticService |
destinationType | teradata |
destinationType | hadoop |
destinationType | other |
scoreDataInput
{
"scoreType": "Individual",
"destinationName": "string",
"inputs": [
{
"name": "string",
"value": "string"
}
],
"inputDataTableUri": "string",
"scoreOutputCaslibUri": "string",
"scoreOutputTableName": "string"
}
Score Data Input
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
scoreType | string | true | none | Score type, either 'Individual' or 'Bulk'. |
destinationName | string | false | none | Name of the destination where the champion model is published. Required for individual scoring. |
inputs | [scoreDataFieldValue] | false | none | Data inputs for individual data scoring. Required for individual scoring. |
inputDataTableUri | string | false | none | Input data table URI for bulk data scoring. Required for bulk scoring. |
scoreOutputCaslibUri | string | false | none | Output caslib URI where the score output table is stored. Required for bulk scoring. |
scoreOutputTableName | string | false | none | Output table name where the score outputs are stored. Required for bulk scoring. |
Enumerated Values
Property | Value |
---|---|
scoreType | Individual |
scoreType | Bulk |
scoreDataOutput
{
"executionState": "completed",
"outputs": [
{
"name": "string",
"value": "string"
}
],
"scoreExecution": {
"id": "string",
"createdBy": "string",
"creationTimeStamp": "2019-08-24T14:15:22Z",
"modifiedBy": "string",
"modifiedTimeStamp": "2019-08-24T14:15:22Z",
"scoreExecutionRequest": [
{
"name": "My Score Execution Request",
"scoreDefinitionId": "9f0c13ae-6a27-11e6-8b77-86f30ca893d3",
"mappedCodeUri": "http://files/files/0c7281d8-063d-49dd-be6b-392e9c9e930c",
"outputTable": "example-table",
"hints": {
"outputLibraryName": "PUBLIC"
}
}
],
"state": "pending",
"outputTable": [
{
"tableName": "string",
"libraryName": "string",
"serverName": "string"
}
],
"codeFileUri": "https://example.com",
"logFileUri": "https://example.com",
"haveWarnings": true,
"error": [
{
"message": "string",
"id": "string",
"errorCode": 0,
"httpStatusCode": 0,
"details": [
"string"
],
"remediation": "string",
"errors": [
null
],
"links": [
{
"method": "string",
"rel": "string",
"uri": "string",
"href": "string",
"title": "string",
"type": "string",
"itemType": "string",
"responseType": "string",
"responseItemType": "string"
}
],
"version": 0
}
],
"results": {
"property1": "string",
"property2": "string"
},
"links": [
{
"method": "string",
"rel": "string",
"uri": "string",
"href": "string",
"title": "string",
"type": "string",
"itemType": "string",
"responseType": "string",
"responseItemType": "string"
}
],
"version": 0
}
}
Score Data Output
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
executionState | string | true | none | Execution state, one of 'completed', 'submitted', or 'timedOut'. |
outputs | [scoreDataFieldValue] | false | none | Data outputs for individual data scoring. Populated for individual score request. |
scoreExecution | object | false | none | Contains details about execution results. This represents application/vnd.sas.score.execution media type (version 1). |
ยป id | string | false | none | The system-assigned unique ID for this object |
ยป createdBy | string | false | none | The user who created the score execution. |
ยป creationTimeStamp | string(date-time) | false | none | The date and time that the score execution was created. |
ยป modifiedBy | string | false | none | The userId of the authenticated user who last updated the score execution. |
ยป modifiedTimeStamp | string(date-time) | false | none | The date and time that the score execution was last modified. |
ยป scoreExecutionRequest | array | true | none | Contains request details about how to generate score. |
ยปยป Score Execution Request | object | false | none | Contains request details about how to generate score. This represents application/vnd.sas.score.execution.request media type (version 1). |
ยปยปยป type | string(enumeration) | false | none | Score execution request can be either scoreDefinition or mappedCode. Default value is scoreDefinition. |
ยปยปยป name | string | true | none | The descriptive name for the request. Which will be shown when showing executions. |
ยปยปยป description | string | false | none | The description of the request. |
ยปยปยป hints | object | false | none | Hints used to execute an object for score. |
ยปยปยปยป additionalProperties | string | false | none | none |
ยปยปยป jobDefinition | array | false | none | Inline Job Definition which is used to score. Either this or jobDefinitionId should be used. |
ยปยปยปยป Job Definition | object | false | none | Provides the base summary information of any object. This represents application/vnd.sas.job.definition media type (version 1). |
ยปยปยปยปยป id | string(uuid) | false | none | unique id |
ยปยปยปยปยป name | string | true | none | name |
ยปยปยปยปยป type | string | true | none | type of job - this will determine which execution provider executes this job |
ยปยปยปยปยป code | string | true | none | execution specific code to be executed |
ยปยปยปยปยป parameters | [any] | true | none | input parameters to be collected when executing this job definition |
ยปยปยปยปยปยป name | string | false | none | name of the parameter |
ยปยปยปยปยปยป type | string(enumeration) | false | none | type of the parameter (TABLE, NUMERIC, DATE, CHARACTER) |
ยปยปยปยปยปยป label | string | false | none | display value for the name of this parameter |
ยปยปยปยปยปยป required | boolean | false | none | is this parameter required for execution |
ยปยปยปยปยปยป defaultValue | string | false | none | default value of this parameter if one is not specified at execution time |
ยปยปยปยปยป createdBy | string | false | none | The user who created this job |
ยปยปยปยปยป modifiedBy | string | false | none | The user who modified this job |
ยปยปยปยปยป creationTimeStamp | string(date-time) | false | none | The formatted time stamp when the job was created, in yyyy-mm-ddThh:mm:ssZ format |
ยปยปยปยปยป modifiedTimeStamp | string(date-time) | false | none | The formatted time stamp when the job was modified, in yyyy-mm-ddThh:mm:ssZ format |
ยปยปยปยปยป links | [link] | false | none | zero or more link objects. See the above link relations table for a description of the link types |
ยปยปยปยปยป properties | object | false | none | zero or more name, value pairs (map |
ยปยปยปยปยปยป additionalProperties | string | false | none | none |
ยปยปยปยปยป version | integer | false | none | This media type's schema version number. This representation is version 1. |
ยปยปยป jobDefinitionId | string | false | none | Job definition id which is used to score. Either this or the jobDefinition should be used. |
ยปยปยป scoreDefinition | array | false | none | Inline score definition. Valid only when type is scoreDefinition. Either this or scoreDefinitionId should be used |
ยปยปยปยป Score Definition | object | false | none | A definition containing details about Input Data, Score Object and Mapping. This represents application/vnd.sas.score.definition media type (version 1). |
ยปยปยปยปยป id | string | false | none | The system-assigned unique ID for this object |
ยปยปยปยปยป name | string | true | none | The score definition name |
ยปยปยปยปยป description | string | false | none | The score definition description |
ยปยปยปยปยป createdBy | string | false | none | The user who created the score definition. |
ยปยปยปยปยป creationTimeStamp | string(date-time) | false | none | The date and time that the score definition was created. |
ยปยปยปยปยป modifiedBy | string | false | none | The userId of the authenticated user who last updated the score definition. |
ยปยปยปยปยป modifiedTimeStamp | string(date-time) | false | none | The date and time that the score definition was last modified. |
ยปยปยปยปยป preprocessingCode | string | false | none | Preprocessing code that is executed before executing the Mapped Code. |
ยปยปยปยปยป objectDescriptor | array | true | none | Descriptor of a Score Object whose logic is used to produce score for Input Data. |
ยปยปยปยปยปยป Object Descriptor | object | false | none | Descriptor of a Score Object whose logic is used to produce a score for Input Data. This doesn't represent any top-level media type. |
ยปยปยปยปยปยปยป name | string | false | none | Name of the Score Object. |
ยปยปยปยปยปยปยป type | string | false | none | Type of the Score Object. |
ยปยปยปยปยปยปยป uri | string(uri) | true | none | Uri to the Score Object. |
ยปยปยปยปยป inputData | array | true | none | Input Data that will be scored. |
ยปยปยปยปยปยป Input Data | object | false | none | Input Data that will be scored. This doesn't represent any top-level media type. |
ยปยปยปยปยปยปยป type | string(enumeration) | true | none | The type of input data. |
ยปยปยปยปยปยปยป serverName | string | true | none | CAS Server name where CAS table is located. Valid only if the type is CASTable. |
ยปยปยปยปยปยปยป libraryName | string | true | none | CAS Library name where CAS table is located. Valid only if the type is CASTable. |
ยปยปยปยปยปยปยป tableName | string | true | none | Name of the CAS table. Valid only if the type is CASTable. |
ยปยปยปยปยปยปยป code | string | true | none | Code containing inline data. Valid only if the type is Inline. |
ยปยปยปยปยปยปยป outputTableName | string | true | none | Name of the output table that will be generated when the inline code is executed. Valid only if the type is Inline. |
ยปยปยปยปยป mappings | [any] | false | none | Array of mappings between Score Object variables and Input Data columns. |
ยปยปยปยปยปยป Mapping | object | false | none | Assigning Input Data column to a variable of the generated Mapped Code of Score Object. This doesn't represent any top-level media type. |
ยปยปยปยปยปยปยป variableName | string | true | none | Name of the Score Object's variable. |
ยปยปยปยปยปยปยป mappingType | string(enumeration) | true | none | The mapping type. |
ยปยปยปยปยปยปยป mappingValue | any | false | none | Value that is assigned to Score Object's variable. If the mappingType is dataSource then this should be column name of the Input Data. If the mappingType is static then this should be a constant value. Required if the mappingType is datasource. |
anyOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ยปยปยปยปยปยปยปยป anonymous | integer | false | none | none |
or
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ยปยปยปยปยปยปยปยป anonymous | string | false | none | none |
continued
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ยปยปยปยปยป properties | object | false | none | A set of properties for this score definition. |
ยปยปยปยปยปยป additionalProperties | string | false | none | none |
ยปยปยปยปยป links | [link] | false | none | Zero or more links to related resources or operations. |
ยปยปยปยปยป version | integer | false | none | This media type's schema version number. This representation is version 1. |
ยปยปยป scoreDefinitionId | string | true | none | Score definition id which is used to score an object. Valid only when type is scoreDefinition. Either this or the scoreDefinition should be part of the request. Should not use both of them. Only valid when the type is scoreDefinition. |
ยปยปยป overrideScoreDefinition | array | false | none | Overrides the details of the existing score definition represented by scoreDefinitionId. Valid only when type is scoreDefinition. |
ยปยปยปยป Override Score Definition | object | false | none | Overrides the details of the existing Score definition. This doesn't represent any top-level media type. |
ยปยปยปยปยป preprocessingCode | string | false | none | Code which should be executed before executing actual code. |
ยปยปยปยปยป objectDescriptor | array | false | none | Descriptor of a Score Object whose logic is used to produce a score for Input Data. |
ยปยปยปยปยป inputData | array | false | none | Input Data that will be scored. |
ยปยปยปยปยป mappings | [scoreDataOutput/properties/scoreExecution/properties/scoreExecutionRequest/items/properties/scoreDefinition/items/properties/mappings/items] | false | none | Array of mappings between score object variables and input data columns. |
ยปยปยป mappedCode | string | false | none | Inline mapped code. Valid only when type is mappedCode. Either this or mappedCodeUri should be used. |
ยปยปยป mappedCodeUri | string | true | none | Uri containing mapped code. Valid only when type is mappedCode. Either this or mappedCode should be used. |
ยปยปยป outputTable | array | true | none | Table details where the output will be generated after executing the mapped code. |
ยปยปยป version | integer | false | none | This media type's schema version number. This representation is version 1. |
ยป state | string(enumeration) | true | none | State of the score execution. |
ยป outputTable | array | false | none | Details of the output generated by score execution. |
ยปยป Output Table | object | false | none | Output generated by score execution or analysis. This doesn't represent any top-level media type. |
ยปยปยป tableName | string | true | none | Table name where the score execution or analysis output is saved. |
ยปยปยป libraryName | string | true | none | Library where the table is located. |
ยปยปยป serverName | string | true | none | Server where the table is located. |
ยป codeFileUri | string(uri) | false | none | File uri where the code used to generate score is saved. |
ยป logFileUri | string(uri) | false | none | File uri where the log of the score execution is saved. |
ยป haveWarnings | boolean | false | none | Set to true when there are warnings inside the log file. |
ยป error | array | false | none | Contains error details if the execution is failed. |
ยป results | object | false | none | Contains results for the score execution. |
ยปยป additionalProperties | string | false | none | none |
ยป links | [link] | false | none | Zero or more links to related resources or operations. |
ยป version | integer | false | none | This media type's schema version number. This representation is version 1. |
Enumerated Values
Property | Value |
---|---|
executionState | completed |
executionState | submitted |
executionState | timedOut |
type | scoreDefinition |
type | mappedCode |
type | TABLE |
type | NUMERIC |
type | DATE |
type | CHARACTER |
type | CASTable |
type | Inline |
mappingType | datasource |
mappingType | static |
state | pending |
state | running |
state | canceled |
state | completed |
state | failed |
state | timedOut |
scoreDataFieldValue
{
"name": "string",
"value": "string"
}
Score Data Field Name/Value Pair
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
name | string | true | none | Data field name. |
value | string | true | none | Data field value. |
settings
{
"applyGlobalMetadata": true,
"autoRun": true,
"locale": "en",
"maxModelingTime": 0,
"modelingMode": "Standard",
"numberOfModels": 5,
"consider": [
"DecisionTree"
],
"exclude": [
"DecisionTree"
],
"forceInclude": [
"DecisionTree"
],
"algorithms": [
{
"id": "DecisionTree",
"name": "string",
"description": "string",
"behavior": "consider",
"defaultBehavior": "consider"
}
],
"subsampleCount": 0,
"subsamplePercent": 0,
"subsampleSeed": 0
}
Automation Project Settings
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
applyGlobalMetadata | boolean | false | none | Whether to apply global metadata |
autoRun | boolean | false | none | Determines whether the automatically generated pipeline is run and a champion model is calculated. |
locale | string | false | none | The locale to use for translating content |
maxModelingTime | number(double) | false | none | The maximum time (in minutes) to use for modeling. Input is valid in increments of 0.1. Use 0 for unbounded. |
modelingMode | string | false | none | The modeling strategy that the automation project uses to select a champion model. |
numberOfModels | integer | false | none | The number of models to build and compare in the automation project. |
consider | [algorithmId] | false | none | Supervised Learning Algorithms to consider during pipeline generation. When 'consider' is used, 'algorithms' cannot be set. Algorithms specified in 'consider' cannot be specified in 'exclude' or 'forceInclude'. |
exclude | [algorithmId] | false | none | Supervised Learning Algorithms to consider during pipeline generation. When 'exclude' is used, 'algorithms' cannot be set. Algorithms specified in 'exclude' cannot be specified in 'consider' or 'forceInclude'. |
forceInclude | [algorithmId] | false | none | Supervised Learning Algorithms to consider during pipeline generation. When 'forceInclude' is used, 'algorithms' cannot be set. Algorithms specified in 'forceInclude' cannot be specified in 'consider' or 'exclude'. |
algorithms | [algorithm] | false | none | List of Supervised Learning Algorithms to inform pipeline generation. When 'algorithms' is used, neither 'consider', 'exclude', nor 'forceInclude' can be set. |
subsampleCount | integer | false | none | The number of training observations to sample for pipeline generation. When subsampleCount is used,subsamplePercent cannot be set. |
subsamplePercent | integer | false | none | The percent of training observations to sample for pipeline generation. When subsamplePercent is used, subsampleCount cannot be set. |
subsampleSeed | integer | false | none | The seed to use when subsampling training data during pipeline generation. When set to 0 the system clock is used for the seed. When subsampleSeed is used, either subsampleCount or subsamplePercent must be set. |
Enumerated Values
Property | Value |
---|---|
modelingMode | Enhanced |
modelingMode | Standard |
mlPipelineTemplateCollection
{
"name": "string",
"start": 0,
"limit": 0,
"count": 0,
"accept": "string",
"links": [
{
"method": "string",
"rel": "string",
"uri": "string",
"href": "string",
"title": "string",
"type": "string",
"itemType": "string",
"responseType": "string",
"responseItemType": "string"
}
],
"version": 0,
"items": [
{
"id": "string",
"name": "string",
"description": "string",
"links": [
{
"method": "string",
"rel": "string",
"uri": "string",
"href": "string",
"title": "string",
"type": "string",
"itemType": "string",
"responseType": "string",
"responseItemType": "string"
}
]
}
]
}
Machine Learning Pipeline Template Collection
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
Machine Learning Pipeline Template Collection | any | false | none | This object contains a list of machine learning pipeline templates. |
allOf
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | algorithmCollection/allOf/0 | false | none | This is a base schema used to define paginated collections of resources. This base schema is extended by other schemas in APIs by adding an 'items' array property. These extensions define the application/vnd.sas.collection media type (version 2) |
and
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | object | false | none | none |
ยป items | [mlPipelineTemplate] | true | none | The list of machine learning pipeline template objects. |
mlPipelineTemplate
{
"id": "string",
"name": "string",
"description": "string",
"links": [
{
"method": "string",
"rel": "string",
"uri": "string",
"href": "string",
"title": "string",
"type": "string",
"itemType": "string",
"responseType": "string",
"responseItemType": "string"
}
]
}
Machine Learning Pipeline Template
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | true | none | The ID of the template. |
name | string | true | none | The template name. |
description | string | false | none | The description of the template. |
links | [link] | true | none | The links that apply to this pipeline template. |
Examples
Github Examples
Detailed examples on how to use this API can be found on Github.
Media Type Samples
Table of Contents generated with DocToc
- application/vnd.sas.analytics.ml.pipeline.automation.project
- application/vnd.sas.analytics.ml.pipeline.automation.project.champion.model.report
- application/vnd.sas.analytics.ml.pipeline.automation.score.data.input
- application/vnd.sas.analytics.ml.pipeline.automation.score.data.output
- application/vnd.sas.analytics.machine.learning.algorithm
application/vnd.sas.analytics.ml.pipeline.automation.project
Automation Project.
See Automation Project.
vnd.sas.analytics.ml.pipeline.automation.project
example:
{
"links": [
{
"method": "GET",
"rel": "up",
"href": "/mlPipelineAutomation/projects",
"uri": "/mlPipelineAutomation/projects",
"type": "application/vnd.sas.collection+json",
"itemType": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "GET",
"rel": "self",
"href": "/mlPipelineAutomation/projects/981738b3-10b4-48ce-8911-17b1132b7992",
"uri": "/mlPipelineAutomation/projects/981738b3-10b4-48ce-8911-17b1132b7992",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "PUT",
"rel": "update",
"href": "/mlPipelineAutomation/projects/981738b3-10b4-48ce-8911-17b1132b7992",
"uri": "/mlPipelineAutomation/projects/981738b3-10b4-48ce-8911-17b1132b7992",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "DELETE",
"rel": "delete",
"href": "/mlPipelineAutomation/projects/981738b3-10b4-48ce-8911-17b1132b7992",
"uri": "/mlPipelineAutomation/projects/981738b3-10b4-48ce-8911-17b1132b7992"
},
{
"method": "DELETE",
"rel": "propagateDelete",
"href": "/mlPipelineAutomation/projects/981738b3-10b4-48ce-8911-17b1132b7992?propagate=true",
"uri": "/mlPipelineAutomation/projects/981738b3-10b4-48ce-8911-17b1132b7992?propagate=true"
},
{
"method": "GET",
"rel": "state",
"href": "/mlPipelineAutomation/projects/981738b3-10b4-48ce-8911-17b1132b7992/state",
"uri": "/mlPipelineAutomation/projects/981738b3-10b4-48ce-8911-17b1132b7992/state",
"type": "text/plain"
},
{
"method": "PUT",
"rel": "updateState",
"href": "/mlPipelineAutomation/projects/981738b3-10b4-48ce-8911-17b1132b7992/state?value={value}",
"uri": "/mlPipelineAutomation/projects/981738b3-10b4-48ce-8911-17b1132b7992/state?value={value}",
"responseType": "text/plain"
}
],
"id": "981738b3-10b4-48ce-8911-17b1132b7992",
"name": "Test Project Creation (By MLPA BnHTH)",
"description": "",
"revision": 0,
"version": 1,
"dataTableUri": "/dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/APITESTHMEQ",
"type": "predictive",
"state": "waiting",
"pipelineBuildMethod": "automatic",
"settings": {
"applyGlobalMetadata": "false",
"autoRun": "true",
"numberOfModels": 3
},
"analyticsProjectAttributes": {
"analyticsProjectId": "dd60080b-53b8-4fc7-8b65-584f0cd3aa3a",
"targetVariable": "BAD",
"targetEventLevel": "1",
"partitionEnabled": "true",
"classSelectionStatistic": "lift"
}
}
### application/vnd.sas.analytics.ml.pipeline.automation.project.champion.model
Champion Model.
vnd.sas.analytics.ml.pipeline.automation.project.champion.model
example:
{
"name": "Gradient Boosting",
"links": [
{
"method": "GET",
"rel": "up",
"href": "/mlPipelineAutomation/projects/636baec1-ebd7-4948-8a49-0b02492fb18b",
"uri": "/mlPipelineAutomation/projects/636baec1-ebd7-4948-8a49-0b02492fb18b",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project"
},
{
"method": "GET",
"rel": "self",
"href": "/mlPipelineAutomation/projects/636baec1-ebd7-4948-8a49-0b02492fb18b/models/@championModel",
"uri": "/mlPipelineAutomation/projects/636baec1-ebd7-4948-8a49-0b02492fb18b/models/@championModel",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.project.champion.model"
},
{
"method": "GET",
"rel": "championModelReports",
"href": "/mlPipelineAutomation/projects/636baec1-ebd7-4948-8a49-0b02492fb18b/models/@championModel/reports",
"uri": "/mlPipelineAutomation/projects/636baec1-ebd7-4948-8a49-0b02492fb18b/models/@championModel/reports",
"type": "application/vnd.sas.collection"
},
{
"method": "PUT",
"rel": "registerChampionModel",
"href": "/mlPipelineAutomation/projects/636baec1-ebd7-4948-8a49-0b02492fb18b/models/@championModel?action=register",
"uri": "/mlPipelineAutomation/projects/636baec1-ebd7-4948-8a49-0b02492fb18b/models/@championModel?action=register"
},
{
"method": "PUT",
"rel": "publishChampionModel",
"href": "/mlPipelineAutomation/projects/636baec1-ebd7-4948-8a49-0b02492fb18b/models/@championModel?action=publish",
"uri": "/mlPipelineAutomation/projects/636baec1-ebd7-4948-8a49-0b02492fb18b/models/@championModel?action=publish"
},
{
"method": "POST",
"rel": "scoreData",
"href": "/mlPipelineAutomation/projects/636baec1-ebd7-4948-8a49-0b02492fb18b/models/@championModel/scoreData",
"uri": "/mlPipelineAutomation/projects/636baec1-ebd7-4948-8a49-0b02492fb18b/models/@championModel/scoreData",
"type": "application/vnd.sas.analytics.ml.pipeline.automation.score.data.input",
"responseType": "application/vnd.sas.analytics.ml.pipeline.automation.score.data.output"
}
],
"publishDestinations": [
{
"name": "maslocal",
"description": "The default publishing destination for the Micro Analytic Score service.",
"destinationType": "microAnalyticService"
}
]
}
application/vnd.sas.analytics.ml.pipeline.automation.score.data.input
Score Data Input.
See Score Data Input.
vnd.sas.analytics.ml.pipeline.automation.score.data.input
example:
{
"scoreType": "Individual",
"destinationName": "maslocal",
"inputs": [
{
"name" : "CLAGE",
"value" : 300
},
{
"name" : "CLNO",
"value" : 21
},
{
"name" : "DEBTINC",
"value" : 24.5
},
{
"name" : "DELINQ",
"value" : 0
},
{
"name" : "DEROG",
"value" : 1
},
{
"name" : "JOB",
"value" : "Other"
},
{
"name" : "LOAN",
"value" : 21500
},
{
"name" : "MORTDUE",
"value" : 7806
},
{
"name" : "NINQ",
"value" : 4
},
{
"name" : "VALUE",
"value" : 95678
},
{
"name" : "YOJ",
"value" : 4
}
]
}
vnd.sas.analytics.ml.pipeline.automation.score.data.input
example:
{
"scoreType": "Bulk",
"inputDataTableUri": "/dataTables/dataSources/cas~fs~cas-shared-default~fs~Public/tables/MyData",
"scoreOutputCaslibUri": "/dataSources/providers/cas/sources/cas-shared-default~fs~Public",
"scoreOutputTableName": "ScoreOutputs"
}
application/vnd.sas.analytics.ml.pipeline.automation.score.data.input
Score Data Output.
See Score Data Output.
vnd.sas.analytics.ml.pipeline.automation.score.data.output
example:
{
"executionState": "completed",
"outputs": [
{
"name": "EM_CLASSIFICATION",
"value": "0 "
},
{
"name": "EM_EVENTPROBABILITY",
"value": 0.023816315812213534
},
{
"name": "EM_PROBABILITY",
"value": 0.9761836841877864
},
{
"name": "INVSQR_LOAN",
"value": 2.1633315258770545E-9
},
{
"name": "INVSQR_MORTDUE",
"value": 1.6411296768646846E-8
},
{
"name": "INVSQR_VALUE",
"value": 1.092385238828324E-10
},
{
"name": "I_BAD",
"value": "0"
},
{
"name": "P_BAD0",
"value": 0.9761836841877864
},
{
"name": "P_BAD1",
"value": 0.023816315812213534
},
{
"name": "SQRT_CLAGE",
"value": 17.349351572897472
},
{
"name": "SQRT_CLNO",
"value": 4.69041575982343
},
{
"name": "SQRT_YOJ",
"value": 2.23606797749979
},
{
"name": "TARGENC_DELINQ",
"value": 0.13722334
},
{
"name": "TARGENC_DEROG",
"value": 0.3696498054
},
{
"name": "TARGENC_JOB",
"value": 0.1994966443
},
{
"name": "TARGENC_NINQ",
"value": 0.3829787234
}
]
}
vnd.sas.analytics.ml.pipeline.automation.score.data.output
example:
{
"executionState": "submitted",
"scoreExecution": {
"id": "94477739-0120-4b09-b747-3c89bec5e859",
"scoreExecutionRequest": {
"type": "mappedCode",
"name": "The Scoring operation for Data Mining model \"Gradient Boosting\".",
"hints": {
"_contextName": "Data Mining compute context"
},
"jobDefinitionId": "a6f657bb-dcbc-4116-a40a-d8a8f8c66375",
"mappedCodeUri": "/files/files/f2eccfda-265a-4a8b-b331-6ca6d28e7b9c",
"outputTable": {
"tableName": "ScoreOutputs",
"libraryName": "Public",
"serverName": "cas-shared-default"
},
"type": "mappedCode",
"version": 1
},
"state": "running",
"outputTable": {
"tableName": "ScoreOutputs",
"libraryName": "Public",
"serverName": "cas-shared-default"
},
"codeFileUri": "/files/files/f2eccfda-265a-4a8b-b331-6ca6d28e7b9c",
"results": {
"jobId": "556f00a3-5eb1-47cf-94f7-008426151421"
}
}
}
application/vnd.sas.analytics.machine.learning.algorithm
Machine Learning Algorithm
See Machine Learning Algorithm.
vnd.sas.analytics.machine.learning.algorithm
example:
{
"id": "GAM",
"name": "GAM",
"description": "GAM is only supported for projects with binary or interval target types",
"behavior": "consider",
"defaultBehavior": "consider"
}
Table of Contents generated with DocToc
Root
Path: /
The root of the API. This resource contains links to the top-level resources in
the API. The response uses the application/vnd.sas.api
media type.
### Link Relations for root
Relation | Method | Description |
---|---|---|
collection | GET | Returns the first page of the automation project collection. |
URI: /projects | ||
Response type: application/vnd.sas.collection |
||
createProject | POST | Creates a new automation project. |
URI: /projects | ||
Request type: application/vnd.sas.analytics.ml.pipeline.automation.project |
||
Response type: application/vnd.sas.analytics.ml.pipeline.automation.project |
||
algorithms | GET | Returns all supervised learning algorithms. |
URI: /algorithms | ||
Response type: application/vnd.sas.analytics.machine.learning.algorithm |
#### Projects
Path: /projects
A collection of automation projects.
### Link Relations for projects
Relation | Method | Description |
---|---|---|
createProject | POST | Creates a new automation project. |
URI: /projects | ||
Request type: application/vnd.sas.analytics.ml.pipeline.automation.project |
||
Response type: application/vnd.sas.analytics.ml.pipeline.automation.project |
||
self | GET | Link to self. |
URI: /projects?start=0&limit=10 | ||
Response type: application/vnd.sas.collection |
Project
Path: /projects/{projectId}
An automation project.
### Link Relations for a project
Relation | Method | Description |
---|---|---|
up | GET | Returns the first page of the automation project collection. |
URI: /projects | ||
Response type: application/vnd.sas.collection |
||
self | GET | Link to self. |
URI: /projects/{projectId} | ||
Response type: application/vnd.sas.analytics.ml.pipeline.automation.project |
||
update | PUT | Updates the automation project. |
URI: /projects/{projectId} | ||
Request type: application/vnd.sas.analytics.ml.pipeline.automation.project |
||
Response type: application/vnd.sas.analytics.ml.pipeline.automation.project |
||
retrainProject | PUT | Retrains the automation project. |
URI: /projects/{projectId}?action=retrainProject | ||
Request type: application/vnd.sas.analytics.ml.pipeline.automation.project |
||
Response type: application/vnd.sas.analytics.ml.pipeline.automation.project |
||
retrainProjectReplacePipelines | PUT | Retrains the automation project, replacing existing automatically generated pipelines. |
URI: /projects/{projectId}?action=retrainProject&replacePreviousPipelines=true | ||
Request type: application/vnd.sas.analytics.ml.pipeline.automation.project |
||
Response type: application/vnd.sas.analytics.ml.pipeline.automation.project |
||
delete | DELETE | Deletes the automation project, with the option to delete the underlying analytics project. |
URI: /projects/{projectId} | ||
propagateDelete | DELETE | Deletes both the automation project and the underlying analytics project. |
URI: /projects/{projectId}?propagate=true | ||
state | GET | Returns the current state of the automation project. |
URI: /projects/{projectId}/state | ||
Response type: text/plain |
||
updateState | PUT | Updates the state of the automation project. |
URI: /projects/{projectId}/state?value={state} | ||
Response type: text/plain |
||
quiesceProjectModeling | PUT | Quiesces modeling of the automation project. |
URI: /projects/{projectId}/state?value=quiescing | ||
Response type: text/plain |
Project State
Path: /projects/{projectId}/state
The state of an automation project.
### Champion Model
Path: /projects/{projectId}/championModel
The champion model of a successfully completed automation project.
### Link Relations for Champion Model
Relation | Method | Description |
---|---|---|
championModel | GET | Returns the champion model report of the successfully completed automation project. |
URI: /projects/{projectId}/championModel | ||
Response type: application/vnd.sas.analytics.ml.pipeline.automation.project.champion.model.report |
||
registerChampionModel | PUT | Registers the champion model to SAS Model Manager. |
URI: /projects/{projectId}/championModel?action=register | ||
publishChampionModel | PUT | Publishes the champion model to supported destinations. |
URI: /projects/{projectId}/championModel?action=publish&destinationName={destinationName} | ||
scoreData | POST | Scores data input with the champion model. |
URI: /projects/{projectId}/championModel/scoreData | ||
Request type: application/vnd.sas.analytics.ml.pipeline.automation.score.data.input |
||
Response type: application/vnd.sas.analytics.ml.pipeline.automation.score.data.output |
### Algorithms
Path: /algorithms
The default settings for all supervised learning algorithms.
### Link Relations for Algorithms
Relation | Method | Description |
---|---|---|
up | GET | Retrives the root of the API, which contains links to the top-level resources in the API. |
URI: / | ||
Response type: application/vnd.sas.api |
||
self | GET | Returns all supervised learning algorithms. |
URI: /algorithms | ||
Response type: application/vnd.sas.analytics.machine.learning.algorithm |